/*! * * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. * \copyright \n * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, \n * IN PART OR IN WHOLE, \n * WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. \n * * \file applicationcontroller.h * \date 2019/09/30 * \author Behrouz NematiPour * */ #pragma once // Qt #include #include // Project #include "main.h" #include "guiactions.h" #include "filehandler.h" #include "applicationpost.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 FileHandler *_fileHandler = nullptr; ApplicationPost *_applicationPost = nullptr; SINGLETON_DECL(ApplicationController) public: bool init(); private: void connection(); private slots: // Should be private for thread safety and is connected internally. void onActionRequest (GuiActionType vAction); // UI => HD/DG void onActionConfirm (GuiActionType vAction, GuiActionInfo vInfo); // UI <= HD/DG void onActionCommand (GuiActionType vAction); // UI <= HD/DG void onActionPerform (GuiActionType vAction, GuiActionInfo vInfo); // UI => HD/DG signals: void didActionRequest(GuiActionType vAction ); // UI => HD/DG void didActionConfirm(GuiActionType vAction, GuiActionInfo vInfo); // UI <= HD/DG void didActionCommand(GuiActionType vAction ); // UI <= HD/DG void didActionPerform(GuiActionType vAction, GuiActionInfo vInfo); // UI => HD/DG void quit(int retcode=0); };