#ifndef CONTEXT_MANAGER_H #define CONTEXT_MANAGER_H #include #include #include #include "context.h" class ContextManager { private: static ContextManager *local_instance; ContextManager() { qDebug() << "ContextManager constructor"; } ~ContextManager() { qDebug() << "ContextManager destructor"; } QAtomicInt *counter = new QAtomicInt(); QMap *contextMap = new QMap(); public: static ContextManager *getInstance() { static ContextManager locla_s; return &locla_s; } Context* createContext(QString* script, QString* source) { int contextId = counter->fetchAndAddOrdered(1); Context* context = new Context(contextId, source); contextMap->insert(contextId, context); context->driver->createContext(contextId, script); return context; } }; #endif // CONTEXT_MANAGER_H