status-desktop/src-cpp/app/boot/app_controller.h

51 lines
1.3 KiB
C
Raw Normal View History

#ifndef APP_CONTROLLER_H
#define APP_CONTROLLER_H
#include <QObject>
2022-01-06 19:29:19 +00:00
#include "../modules/main/interfaces/module_access_interface.h"
2022-01-20 14:48:57 +00:00
#include "../modules/startup/module_access_interface.h"
#include "accounts/service.h"
2022-01-06 19:29:19 +00:00
#include "app_controller_delegate.h"
#include "app_service.h"
#include "wallet_accounts/service.h"
2022-01-06 19:29:19 +00:00
class AppController : public QObject, AppControllerDelegate
2022-01-06 19:29:19 +00:00
{
Q_OBJECT
//statusFoundation: StatusFoundation
2022-01-06 19:29:19 +00:00
// Global
//localAppSettingsVariant: QVariant
//localAccountSettingsVariant: QVariant
//localAccountSensitiveSettingsVariant: QVariant
//userProfileVariant: QVariant
//globalUtilsVariant: QVariant
2022-01-06 19:29:19 +00:00
// Services
Accounts::Service* m_accountsService;
std::shared_ptr<Wallets::Service> m_walletServicePtr;
2022-01-06 19:29:19 +00:00
// Modules
// To-Do make this a shared pointer and remove circular dependency.
Modules::Startup::ModuleAccessInterface* m_startupModule;
Modules::Main::IModuleAccess* m_mainModulePtr;
2022-01-06 19:29:19 +00:00
public:
AppController();
~AppController();
void start();
public slots:
void mainDidLoad();
2022-01-06 19:29:19 +00:00
private:
void connect();
void startupDidLoad() override;
void load();
void userLoggedIn() override;
void buildAndRegisterLocalAccountSensitiveSettings();
void buildAndRegisterUserProfile();
2022-01-06 19:29:19 +00:00
};
#endif // APP_CONTROLLER_H