Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
Mode.hpp
Go to the documentation of this file.
1#ifndef IV_SRC_MODEL_PMS_MODE_HPP_
2#define IV_SRC_MODEL_PMS_MODE_HPP_
3
6
7namespace iv::model::pms
8{
9
10class Mode
11{
12public:
13 Mode() = default;
14 ~Mode() = default;
15 Mode(const Mode &) = default;
16 Mode &operator=(const Mode &) = delete;
17 Mode(Mode &&) = default;
18 Mode &operator=(Mode &&) = delete;
19
20 bool load(const iv::file::xml::node &nodeMode);
21 bool save(iv::file::xml::node &nodeMode) const;
22
25 std::map<iv::types::pms::modeId, std::shared_ptr<iv::model::pms::Transition>> m_transitions;
26 std::weak_ptr<iv::channels::AbstractChannel> m_modeFeedbackChannel;
27
28private:
29 struct Sections
30 {
31 static constexpr std::string_view transitions {"Transitions"};
32 static constexpr std::string_view transition {"Transition"};
33 static constexpr std::string_view modeFeedbackChannel {"ModeFeedbackChannel"};
34 };
35 struct Keys
36 {
37 static constexpr std::string_view modeId {"ModeId"};
38 static constexpr std::string_view feedbackTimeout {"FeedbackTimeout"};
39 static constexpr std::string_view channel {"Channel"};
40 };
42 {
43 static constexpr iv::types::pms::modeId modeId {};
44 static constexpr iv::types::milliseconds feedbackTimeout {60000};
45 static constexpr std::string channel {};
46 };
47};
48
49}// namespace iv::model::pms
50
51#endif//IV_SRC_MODEL_PMS_MODE_HPP_
Definition xmlFile.hpp:15
Definition Mode.hpp:11
iv::types::milliseconds m_feedbackTimeout
Definition Mode.hpp:24
std::map< iv::types::pms::modeId, std::shared_ptr< iv::model::pms::Transition > > m_transitions
Definition Mode.hpp:25
bool load(const iv::file::xml::node &nodeMode)
Definition Mode.cpp:27
Mode(Mode &&)=default
Mode & operator=(Mode &&)=delete
iv::types::pms::modeId m_modeId
Definition Mode.hpp:23
Mode(const Mode &)=default
std::weak_ptr< iv::channels::AbstractChannel > m_modeFeedbackChannel
Definition Mode.hpp:26
bool save(iv::file::xml::node &nodeMode) const
Definition Mode.cpp:7
Mode & operator=(const Mode &)=delete
Definition AbstractPmsAction.cpp:9
std::string modeId
Definition types.hpp:97
uint64_t milliseconds
Definition types.hpp:22
static constexpr std::string channel
Definition Mode.hpp:45
static constexpr iv::types::pms::modeId modeId
Definition Mode.hpp:43
static constexpr iv::types::milliseconds feedbackTimeout
Definition Mode.hpp:44
Definition Mode.hpp:36
static constexpr std::string_view channel
Definition Mode.hpp:39
static constexpr std::string_view modeId
Definition Mode.hpp:37
static constexpr std::string_view feedbackTimeout
Definition Mode.hpp:38
Definition Mode.hpp:30
static constexpr std::string_view modeFeedbackChannel
Definition Mode.hpp:33
static constexpr std::string_view transitions
Definition Mode.hpp:31
static constexpr std::string_view transition
Definition Mode.hpp:32