Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CDataAppDiamar.hpp
Go to the documentation of this file.
1#ifndef LIBS_DIAMAR_CDATAAPPDIAMAR_HPP_
2#define LIBS_DIAMAR_CDATAAPPDIAMAR_HPP_
3
8#include "logs/EventLogs.hpp"
11#include "threads/Thread.hpp"
13
14#include <bits/stdint-uintn.h>
15#include <memory>
16#include <string>
17
19{
20public:
21 static constexpr uint64_t kPrvTimerUpdateConnectionFail = 1000;
26 static constexpr int32_t kPrvPasswordMaxNumChars = 15;
27 static constexpr int32_t kPrvPasswordMinNumChars = 4;
28
29 CDataAppDiamar() = delete;
30 CDataAppDiamar(std::string projectFolder, const std::shared_ptr<iv::model::IModel> &modelApplication);
31 CDataAppDiamar(const CDataAppDiamar &other) = delete;
32 CDataAppDiamar(CDataAppDiamar &&other) = delete;
33 ~CDataAppDiamar() override;
34
35 CDataAppDiamar &operator=(const CDataAppDiamar &other) = delete;
37
38 const std::shared_ptr<iv::model::diamar::DiamarModel> &model();
39
40 virtual bool configure(const std::shared_ptr<iv::logs::StartingLog> &logger);
41 bool read();
42 void save() const;
43
44 void closeSystem(const std::shared_ptr<AbstractProgress> &progress, AbstractLog *logger);
45
46 void setModelApplicationRef(iv::model::IModel *modelApplication);
47
48 [[nodiscard]] virtual iv::model::eShipArea getCurrentShipArea() const;
49
50 virtual void startSystem(const std::shared_ptr<AbstractProgress> &progress,
51 const std::shared_ptr<AbstractLog> &logger);
52
53 void setGMT(iv::eGmtArea gmt);
54
55 void setActiveLanguage(iv::eLanguage eLanguage);
56 void setShowAlarms();
57
58 static bool canEnd(CDialog *dlgFather);
59 [[nodiscard]] virtual bool isHideWatchCallPanel() const;
60 [[nodiscard]] const bool &isShowAlarms() const;
61 [[nodiscard]] bool hasLicense() const;
62 [[nodiscard]] bool hasRepeaters() const;
63 [[nodiscard]] std::string getHostName();
64
65 [[nodiscard]] bool isStarted() const;
66
67 static bool isRemoteOn();
68
69 void updateChannels() override;
70
71 // GETTERS
72 [[nodiscard]] const iv::time::Timestamp &lastUpdate() const override
73 {
74 return m_model->m_lastUpdate;
75 }
76
77 [[nodiscard]] const iv::diamar::Preferences &preferences() const override
78 {
79 return m_preferences;
80 }
81
82 [[nodiscard]] const std::shared_ptr<iv::model::ShipInfo> &shipInfo() const override
83 {
84 return m_model->m_shipInfo;
85 }
86
87 [[nodiscard]] const std::shared_ptr<iv::model::ProjectInfo> &projectInfo() const override
88 {
89 return m_model->m_projectInfo;
90 }
91
92 [[nodiscard]] const std::shared_ptr<iv::diamar::Settings> &settings() const override
93 {
94 return m_model->m_settings;
95 }
96
97 [[nodiscard]] std::map<iv::eLanguage, bool> &languages() const override
98 {
99 return m_model->m_languages;
100 }
101
102 [[nodiscard]] const std::shared_ptr<iv::diamar::Stations> &stations() const override
103 {
104 return m_model->m_stations;
105 }
106
107 [[nodiscard]] const std::shared_ptr<iv::model::diamar::Cabinets> &cabinets() const override
108 {
109 return m_model->m_cabinets;
110 }
111
112 [[nodiscard]] const std::shared_ptr<iv::units::Units> &units() const override
113 {
114 return m_model->m_units;
115 }
116
117 [[nodiscard]] const std::shared_ptr<iv::model::pms::PmsManager> &pmsManager() const override
118 {
119 return m_model->m_pmsManager;
120 }
121
122 [[nodiscard]] const std::shared_ptr<iv::model::control::ControlManager> &controlManager() const override
123 {
124 return m_model->m_controlManager;
125 }
126
127 [[nodiscard]] const std::shared_ptr<iv::diamar::Mimics> &mimics() const override
128 {
129 return m_model->m_mimics;
130 }
131
133 {
134 return m_model->m_mimicsGroups;
135 }
136
137 [[nodiscard]] const std::shared_ptr<iv::model::diamar::Groups> &groups() const override
138 {
139 return m_model->m_groups;
140 }
141
142 [[nodiscard]] const std::shared_ptr<iv::config::UserProfileManager> &userProfileManager() const override
143 {
145 }
146
147 [[nodiscard]] const std::shared_ptr<iv::comms::CommunicationCenter> &commCenter() const override
148 {
149 return m_commCenter;
150 }
151
152 [[nodiscard]] const std::shared_ptr<iv::tanks::Tanks> &tanks() const override
153 {
154 return m_model->m_tanks;
155 }
156
157 [[nodiscard]] const std::shared_ptr<iv::logic::ParametersOnline> &parametersOnline() const override
158 {
159 return m_model->m_parametersOnline;
160 }
161
162 [[nodiscard]] std::string title() const override
163 {
164 return fmt::format("{} ({})", m_model->m_projectInfo->m_reference,
165 not m_model->m_shipInfo->hull.empty() ? m_model->m_shipInfo->hull : "N/A");
166 }
167
168 [[nodiscard]] std::string projectFolder() const override
169 {
170 return m_model->projectFolder;
171 }
172
173 [[nodiscard]] const std::shared_ptr<iv::alarms::AlarmsManager> &alarmsManager() const override
174 {
175 return m_alarmsManager;
176 }
177
178 [[nodiscard]] iv::eProgramCaller programCaller() const override
179 {
180 return m_model->programCaller;
181 }
182
183 [[nodiscard]] const std::shared_ptr<iv::alarms::WatchcallManager> &watchcallManager() const override
184 {
185 return m_model->m_watchcallManager;
186 }
187
188 void setModelApplication(const std::shared_ptr<iv::model::IModel> &modelApplication) override {};
189
190 [[nodiscard]] const std::shared_ptr<iv::sound::SoundManager> &soundManager() const
191 {
192 return m_soundManager;
193 }
194
195 [[nodiscard]] const std::shared_ptr<iv::diamar::AppFailuresLoggerManager> &appFailuresLogger() const override
196 {
198 }
199
200 [[nodiscard]] const std::shared_ptr<iv::model::Changes> &changes() const override
201 {
202 return m_model->m_changes;
203 }
204
205 std::shared_ptr<std::mutex> m_commsMutex;
206
207protected:
208 void deleteApplicationData() override
209 {
210 }
211
220 [[nodiscard]] virtual bool prvReviewSystemIntegrity(const std::shared_ptr<AbstractProgress> &progress,
221 const std::shared_ptr<AbstractLog> &logger) const;
222
223 std::string m_dataAppFolder;
225
226 std::string m_hostname;
228
229 std::shared_ptr<iv::comms::CommunicationCenter> m_commCenter;
230 std::shared_ptr<iv::config::UserProfileManager> m_userProfileManager;
231
233
234 std::shared_ptr<iv::model::diamar::DiamarModel> m_model;
236
237 std::shared_ptr<iv::alarms::AlarmsManager> m_alarmsManager;
238 std::shared_ptr<iv::sound::SoundManager> m_soundManager;
239 std::shared_ptr<iv::diamar::AppFailuresLoggerManager> m_appFailuresLoggerManager;
240};
241
242#endif /* LIBS_DIAMAR_CDATAAPPDIAMAR_HPP_ */
Definition AbstractLog.hpp:9
Definition CDataAppDiamar.hpp:19
const std::shared_ptr< iv::logic::ParametersOnline > & parametersOnline() const override
Definition CDataAppDiamar.hpp:157
virtual iv::model::eShipArea getCurrentShipArea() const
Definition CDataAppDiamar.cpp:378
const std::shared_ptr< iv::model::ProjectInfo > & projectInfo() const override
Definition CDataAppDiamar.hpp:87
const std::shared_ptr< iv::config::UserProfileManager > & userProfileManager() const override
Definition CDataAppDiamar.hpp:142
const iv::diamar::Preferences & preferences() const override
Definition CDataAppDiamar.hpp:77
void deleteApplicationData() override
Definition CDataAppDiamar.hpp:208
void setActiveLanguage(iv::eLanguage eLanguage)
Definition CDataAppDiamar.cpp:222
iv::model::GroupMenuModel< std::weak_ptr< iv::diamar::Mimic > > & mimicsGroups() const override
Definition CDataAppDiamar.hpp:132
const std::shared_ptr< iv::model::diamar::Cabinets > & cabinets() const override
Definition CDataAppDiamar.hpp:107
void setGMT(iv::eGmtArea gmt)
Definition CDataAppDiamar.cpp:229
virtual bool isHideWatchCallPanel() const
Definition CDataAppDiamar.cpp:251
std::shared_ptr< std::mutex > m_commsMutex
Definition CDataAppDiamar.hpp:205
std::shared_ptr< iv::diamar::AppFailuresLoggerManager > m_appFailuresLoggerManager
Definition CDataAppDiamar.hpp:239
const std::shared_ptr< iv::diamar::Stations > & stations() const override
Definition CDataAppDiamar.hpp:102
bool m_hasLicense
Definition CDataAppDiamar.hpp:224
static constexpr uint64_t kPrvTimerUpdateConnectionFail
Definition CDataAppDiamar.hpp:21
bool isStarted() const
Definition CDataAppDiamar.cpp:373
std::string title() const override
Definition CDataAppDiamar.hpp:162
const std::shared_ptr< iv::diamar::AppFailuresLoggerManager > & appFailuresLogger() const override
Definition CDataAppDiamar.hpp:195
std::shared_ptr< iv::alarms::AlarmsManager > m_alarmsManager
Definition CDataAppDiamar.hpp:237
bool read()
Definition CDataAppDiamar.cpp:111
std::string m_dataAppFolder
Definition CDataAppDiamar.hpp:223
std::string m_hostname
Definition CDataAppDiamar.hpp:226
const std::shared_ptr< iv::sound::SoundManager > & soundManager() const
Definition CDataAppDiamar.hpp:190
static constexpr int32_t kPrvPasswordMaxNumChars
Definition CDataAppDiamar.hpp:26
const std::shared_ptr< iv::model::diamar::Groups > & groups() const override
Definition CDataAppDiamar.hpp:137
const std::shared_ptr< iv::model::control::ControlManager > & controlManager() const override
Definition CDataAppDiamar.hpp:122
CDataAppDiamar(CDataAppDiamar &&other)=delete
const std::shared_ptr< iv::alarms::WatchcallManager > & watchcallManager() const override
Definition CDataAppDiamar.hpp:183
const std::shared_ptr< iv::model::diamar::DiamarModel > & model()
Definition CDataAppDiamar.cpp:388
void save() const
Definition CDataAppDiamar.cpp:146
std::map< iv::eLanguage, bool > & languages() const override
Definition CDataAppDiamar.hpp:97
CDataAppDiamar(const CDataAppDiamar &other)=delete
iv::eProcessingState m_stateProcessing
Definition CDataAppDiamar.hpp:232
const std::shared_ptr< iv::diamar::Settings > & settings() const override
Definition CDataAppDiamar.hpp:92
const std::shared_ptr< iv::comms::CommunicationCenter > & commCenter() const override
Definition CDataAppDiamar.hpp:147
bool hasLicense() const
Definition CDataAppDiamar.cpp:264
void updateChannels() override
Definition CDataAppDiamar.cpp:399
bool m_hasFilteredAlarmChannels
Definition CDataAppDiamar.hpp:227
CDataAppDiamar & operator=(CDataAppDiamar &&other)=delete
~CDataAppDiamar() override
Definition CDataAppDiamar.cpp:48
bool hasRepeaters() const
Definition CDataAppDiamar.cpp:269
std::shared_ptr< iv::config::UserProfileManager > m_userProfileManager
Definition CDataAppDiamar.hpp:230
std::shared_ptr< iv::sound::SoundManager > m_soundManager
Definition CDataAppDiamar.hpp:238
const std::shared_ptr< iv::model::ShipInfo > & shipInfo() const override
Definition CDataAppDiamar.hpp:82
iv::diamar::Preferences m_preferences
Definition CDataAppDiamar.hpp:235
std::shared_ptr< iv::comms::CommunicationCenter > m_commCenter
Definition CDataAppDiamar.hpp:229
void setModelApplicationRef(iv::model::IModel *modelApplication)
Definition CDataAppDiamar.cpp:393
std::shared_ptr< iv::model::diamar::DiamarModel > m_model
Definition CDataAppDiamar.hpp:234
CDataAppDiamar()=delete
static constexpr int32_t kPrvPasswordMinNumChars
Definition CDataAppDiamar.hpp:27
CDataAppDiamar & operator=(const CDataAppDiamar &other)=delete
const std::shared_ptr< iv::model::pms::PmsManager > & pmsManager() const override
Definition CDataAppDiamar.hpp:117
static bool isRemoteOn()
Definition CDataAppDiamar.cpp:458
void closeSystem(const std::shared_ptr< AbstractProgress > &progress, AbstractLog *logger)
Definition CDataAppDiamar.cpp:151
const bool & isShowAlarms() const
Definition CDataAppDiamar.cpp:259
virtual void startSystem(const std::shared_ptr< AbstractProgress > &progress, const std::shared_ptr< AbstractLog > &logger)
Definition CDataAppDiamar.cpp:161
const iv::time::Timestamp & lastUpdate() const override
Definition CDataAppDiamar.hpp:72
std::string getHostName()
Definition CDataAppDiamar.cpp:462
virtual bool prvReviewSystemIntegrity(const std::shared_ptr< AbstractProgress > &progress, const std::shared_ptr< AbstractLog > &logger) const
Verifica la integridad del sistema. Se verifica la integridad del Config y del DataProject,...
Definition CDataAppDiamar.cpp:274
static bool canEnd(CDialog *dlgFather)
Definition CDataAppDiamar.cpp:240
virtual bool configure(const std::shared_ptr< iv::logs::StartingLog > &logger)
Definition CDataAppDiamar.cpp:53
std::string projectFolder() const override
Definition CDataAppDiamar.hpp:168
const std::shared_ptr< iv::tanks::Tanks > & tanks() const override
Definition CDataAppDiamar.hpp:152
void setShowAlarms()
Definition CDataAppDiamar.cpp:235
const std::shared_ptr< iv::alarms::AlarmsManager > & alarmsManager() const override
Definition CDataAppDiamar.hpp:173
const std::shared_ptr< iv::model::Changes > & changes() const override
Definition CDataAppDiamar.hpp:200
const std::shared_ptr< iv::diamar::Mimics > & mimics() const override
Definition CDataAppDiamar.hpp:127
const std::shared_ptr< iv::units::Units > & units() const override
Definition CDataAppDiamar.hpp:112
iv::eProgramCaller programCaller() const override
Definition CDataAppDiamar.hpp:178
void setModelApplication(const std::shared_ptr< iv::model::IModel > &modelApplication) override
Definition CDataAppDiamar.hpp:188
Definition CDialog.hpp:21
Definition IApplicationController.hpp:28
Definition GroupMenuModel.hpp:121
Definition IModel.hpp:12
Definition Timestamp.hpp:17
eShipArea
Definition enums.hpp:11
eProcessingState
Definition enums.hpp:54
eLanguage
Definition enums.hpp:37
eProgramCaller
Definition enums.hpp:60
eGmtArea
Definition enums.hpp:149
Definition structs.hpp:14