Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
IApplicationController.hpp
Go to the documentation of this file.
1#ifndef IV_SRC_APP_IAPPLICATIONCONTROLLER_HPP_
2#define IV_SRC_APP_IAPPLICATIONCONTROLLER_HPP_
3
7#include "diamar/IModel.hpp"
8#include "diamar/Mimic.hpp"
9#include "diamar/Settings.hpp"
10#include "diamar/structs.hpp"
12#include "model/ProjectInfo.hpp"
13#include "model/ShipInfo.hpp"
19#include "tanks/Tanks.hpp"
20#include "units/model/Units.hpp"
21
22#include <memory>
23
24namespace iv::appdiamar
25{
26
28{
29public:
30 virtual ~IApplicationController() = default;
31
32 // GETTERS
33 [[nodiscard]] virtual const iv::time::Timestamp &lastUpdate() const = 0;
34 [[nodiscard]] virtual const iv::diamar::Preferences &preferences() const = 0;
35 [[nodiscard]] virtual const std::shared_ptr<iv::model::ShipInfo> &shipInfo() const = 0;
36 [[nodiscard]] virtual const std::shared_ptr<iv::model::ProjectInfo> &projectInfo() const = 0;
37 [[nodiscard]] virtual const std::shared_ptr<iv::diamar::Settings> &settings() const = 0;
38 [[nodiscard]] virtual std::map<iv::eLanguage, bool> &languages() const = 0;
39 [[nodiscard]] virtual const std::shared_ptr<iv::diamar::Stations> &stations() const = 0;
40 [[nodiscard]] virtual const std::shared_ptr<iv::model::diamar::Cabinets> &cabinets() const = 0;
41 [[nodiscard]] virtual const std::shared_ptr<iv::units::Units> &units() const = 0;
42 [[nodiscard]] virtual const std::shared_ptr<iv::model::pms::PmsManager> &pmsManager() const = 0;
43 [[nodiscard]] virtual const std::shared_ptr<iv::model::control::ControlManager> &controlManager() const = 0;
44 [[nodiscard]] virtual const std::shared_ptr<iv::diamar::Mimics> &mimics() const = 0;
46 [[nodiscard]] virtual const std::shared_ptr<iv::model::diamar::Groups> &groups() const = 0;
47 [[nodiscard]] virtual const std::shared_ptr<iv::config::UserProfileManager> &userProfileManager() const = 0;
48 [[nodiscard]] virtual const std::shared_ptr<iv::comms::CommunicationCenter> &commCenter() const = 0;
49 [[nodiscard]] virtual const std::shared_ptr<iv::alarms::AlarmsManager> &alarmsManager() const = 0;
50 [[nodiscard]] virtual const std::shared_ptr<iv::tanks::Tanks> &tanks() const = 0;
51 [[nodiscard]] virtual const std::shared_ptr<iv::logic::ParametersOnline> &parametersOnline() const = 0;
52 [[nodiscard]] virtual const std::shared_ptr<iv::alarms::WatchcallManager> &watchcallManager() const = 0;
53 [[nodiscard]] virtual const std::shared_ptr<iv::diamar::AppFailuresLoggerManager> &appFailuresLogger() const = 0;
54 [[nodiscard]] virtual const std::shared_ptr<iv::model::Changes> &changes() const = 0;
55 [[nodiscard]] virtual std::string title() const = 0;
56 [[nodiscard]] virtual std::string projectFolder() const = 0;
57 [[nodiscard]] virtual iv::eProgramCaller programCaller() const = 0;
58
62 virtual void updateChannels() = 0;
63
64 virtual void setModelApplication(const std::shared_ptr<iv::model::IModel> &modelApplication) = 0;
65
66protected:
70
73
74 virtual void deleteApplicationData() = 0;
75};
76
77}// namespace iv::appdiamar
78
79#endif//IV_SRC_APP_IAPPLICATIONCONTROLLER_HPP_
Definition IApplicationController.hpp:28
virtual const std::shared_ptr< iv::units::Units > & units() const =0
virtual const iv::diamar::Preferences & preferences() const =0
virtual const std::shared_ptr< iv::model::Changes > & changes() const =0
virtual const std::shared_ptr< iv::config::UserProfileManager > & userProfileManager() const =0
virtual const std::shared_ptr< iv::model::ShipInfo > & shipInfo() const =0
IApplicationController & operator=(IApplicationController &&other)=default
virtual const std::shared_ptr< iv::tanks::Tanks > & tanks() const =0
virtual const std::shared_ptr< iv::diamar::Mimics > & mimics() const =0
virtual iv::eProgramCaller programCaller() const =0
virtual const std::shared_ptr< iv::alarms::WatchcallManager > & watchcallManager() const =0
virtual const std::shared_ptr< iv::model::ProjectInfo > & projectInfo() const =0
virtual const std::shared_ptr< iv::logic::ParametersOnline > & parametersOnline() const =0
virtual const std::shared_ptr< iv::model::control::ControlManager > & controlManager() const =0
virtual const std::shared_ptr< iv::model::diamar::Cabinets > & cabinets() const =0
virtual const std::shared_ptr< iv::model::diamar::Groups > & groups() const =0
virtual const std::shared_ptr< iv::diamar::Settings > & settings() const =0
virtual std::string projectFolder() const =0
virtual const std::shared_ptr< iv::alarms::AlarmsManager > & alarmsManager() const =0
virtual iv::model::GroupMenuModel< std::weak_ptr< iv::diamar::Mimic > > & mimicsGroups() const =0
virtual const std::shared_ptr< iv::diamar::AppFailuresLoggerManager > & appFailuresLogger() const =0
virtual const iv::time::Timestamp & lastUpdate() const =0
virtual std::string title() const =0
IApplicationController(const IApplicationController &other)=default
IApplicationController(IApplicationController &&other)=default
virtual const std::shared_ptr< iv::comms::CommunicationCenter > & commCenter() const =0
virtual const std::shared_ptr< iv::model::pms::PmsManager > & pmsManager() const =0
IApplicationController & operator=(const IApplicationController &other)=default
virtual const std::shared_ptr< iv::diamar::Stations > & stations() const =0
virtual std::map< iv::eLanguage, bool > & languages() const =0
virtual void setModelApplication(const std::shared_ptr< iv::model::IModel > &modelApplication)=0
Definition GroupMenuModel.hpp:121
Definition Timestamp.hpp:17
Definition Application.cpp:6
eProgramCaller
Definition enums.hpp:60
Definition structs.hpp:14