Index: sources/applicationcontroller.h =================================================================== diff -u -r5194f3afffb28dac90a7ca4153b6a0ca2f239387 -rc933552983a659ca4cc351ff4d43d07319adab1e --- sources/applicationcontroller.h (.../applicationcontroller.h) (revision 5194f3afffb28dac90a7ca4153b6a0ca2f239387) +++ sources/applicationcontroller.h (.../applicationcontroller.h) (revision c933552983a659ca4cc351ff4d43d07319adab1e) @@ -18,36 +18,47 @@ #include // Project +#include "main.h" +#include "guiglobals.h" #include "filehandler.h" #include "applicationpost.h" -#include "guicontroller.h" +#include "canbus/caninterface.h" + + +// define +#define _ApplicationController ApplicationController::I() + +// namespace using namespace Storage; using namespace Gui; +using namespace Can; - class ApplicationController : public QObject { Q_OBJECT - static ApplicationController *_instance; - ApplicationPost *_applicationPost = nullptr; - FileHandler *_fileHandler = nullptr; + FileHandler *_fileHandler = nullptr; + ApplicationPost *_applicationPost = nullptr; - QPointer _guiController; +SINGLETON_DECL(ApplicationController) +public: + bool init(); - explicit ApplicationController(QObject *parent = nullptr); +private: + void initConnections(); + void keepAlive(); - bool event(QEvent *event) override; +private slots: // Should be private for thread safety and is connected internally. + void onActionReceive (GuiActionType vAction, const QVariantList &vData); // UI <= HD/DG + void onActionTransmit(GuiActionType vAction, const QVariantList &vData); // UI => HD/DG -public: - static ApplicationController *I(); - bool init(); + void onMainTimerTimeout(); signals: + void didActionReceive (GuiActionType vAction, const QVariantList &vData); // UI <= HD/DG + void didActionTransmit(GuiActionType vAction, const QVariantList &vData); // UI => HD/DG + void quit(int retcode=0); -private slots: - void UiInitialized(bool ok); - };