#ifndef __APPCONTEXT_H__ #define __APPCONTEXT_H__ #include #include "pluginmanager.h" #include "projectmanager.h" #include "network.h" #include "serialport.h" #include "httpserver.h" #include "datafifo.h" class AppContext : public QObject { Q_OBJECT explicit AppContext(QObject *parent = nullptr); ~AppContext(); public: static AppContext &instance(); PluginManager &pluginManager(); ProjectManager &projectManager(); Network &network(); SerialPort &serialPort(); HttpServer &httpServer(); DataFifo &dataFifo(); private: PluginManager m_pluginMgr; ProjectManager m_projectMgr; Network m_network; SerialPort m_serialPort; HttpServer m_httpServer; DataFifo m_dataFifo; }; #endif // APPCONTEXT_H