status-desktop/src-cpp/app/modules/main/module.h

49 lines
980 B
C
Raw Normal View History

#ifndef MODULE_H
#define MODULE_H
#include <QObject>
#include <QPointer>
#include "interfaces/module_access_interface.h"
#include "wallet_accounts/service_interface.h"
#include "wallet/interfaces/module_access_interface.h"
2022-01-20 14:48:57 +00:00
#include "controller.h"
#include "view.h"
namespace Modules
{
namespace Main
{
class Module : public QObject, virtual public IModuleAccess
2022-01-20 14:48:57 +00:00
{
Q_OBJECT
2022-01-20 14:48:57 +00:00
private:
bool m_moduleLoaded;
std::unique_ptr<View> m_viewPtr;
std::unique_ptr<Controller> m_controllerPtr;
std::unique_ptr<Modules::Main::Wallet::IWalletModuleAccess> m_walletModulePtr;
void connect();
2022-01-20 14:48:57 +00:00
public:
explicit Module(std::shared_ptr<Wallets::ServiceInterface> walletService);
~Module() = default;
void load() override;
bool isLoaded() override;
void checkIfModuleDidLoad();
public slots:
void viewDidLoad();
void walletDidLoad();
signals:
void loaded() override;
2022-01-20 14:48:57 +00:00
};
}; // namespace Main
}; // namespace Modules
#endif // MODULE_H