#ifndef PERTURABO_H #define PERTURABO_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include class Perturabo: public QObject { Q_OBJECT public: Perturabo(QObject *parent = 0); ~Perturabo(); static Perturabo* perturabo; private: W::Server *server; W::Logger *logger; W::ParentReporter* parentReporter; M::Attributes* attributes; U::Commands* commands; U::Connector* connector; std::map databases; handler(clearDatabase); // handler(parseDirectory); public: W::Dispatcher *dispatcher; public slots: void start(); void stop(); private slots: void onModelServiceMessage(const QString& msg); void onConnectionCountChanged(uint64_t count); void onDatabaseCountChange(uint64_t count); private: void createDatabases(); void addDatabase(Database* db); private: class SingletonError: public Utils::Exception { public: SingletonError():Exception(){} std::string getMessage() const{return "Perturabo is a singleton, there was an attempt to construct it at the second time";} }; }; #endif // PERTURABO_H