rad  2.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
events.rad.hpp
Go to the documentation of this file.
1 
8 #ifndef EVENTS_EVENTS_RAD_HPP_
9 #define EVENTS_EVENTS_RAD_HPP_
10 
11 #include <vector>
12 #include <rad/anyEvent.hpp>
13 
14 #include <rad/msgRequest.hpp>
15 #include <helloif/requests.pb.h>
16 
17 namespace Events {
21 std::vector<rad::EventInfo> listEvents();
22 
24 // Config
26 
27 class Config final : public rad::AnyEvent {
28  public:
29  static constexpr char const* ID = "Events.Config";
32 
37 
41  template <typename... Args,
42  typename = typename std::enable_if<std::is_constructible<payload_t, Args... >::value>::type>
43  explicit Config(Args&&... args)
44  : AnyEvent(ID)
45  , m_payload(std::forward<Args>(args)...) {
46  }
48  Config(Config const&) = default;
50  Config(Config&&) = default;
52  Config& operator=(Config const& e) = default;
54 
56  AnyEvent* Clone() const override;
58  inline rad::MsgRequest<helloif::ReqConfig> const& GetPayload() const;
60 
61  private:
63 };
64 
65 // Inline definitions
67  return m_payload;
68 }
70  return m_payload;
71 }
72 
74 // CtrlC
76 
80 class CtrlC final : public rad::AnyEvent {
81  public:
82  static constexpr char const* ID = "Events.CtrlC";
84  using payload_t = void;
85 
88  CtrlC();
90  CtrlC(CtrlC const&) = default;
92  CtrlC(CtrlC&&) = default;
94  CtrlC& operator=(CtrlC const& e) = default;
96 
98  AnyEvent* Clone() const override;
99 };
100 
101 
103 // Disable
105 
106 class Disable final : public rad::AnyEvent {
107  public:
108  static constexpr char const* ID = "Events.Disable";
111 
116 
120  template <typename... Args,
121  typename = typename std::enable_if<std::is_constructible<payload_t, Args... >::value>::type>
122  explicit Disable(Args&&... args)
123  : AnyEvent(ID)
124  , m_payload(std::forward<Args>(args)...) {
125  }
127  Disable(Disable const&) = default;
129  Disable(Disable&&) = default;
131  Disable& operator=(Disable const& e) = default;
133 
135  AnyEvent* Clone() const override;
137  inline rad::MsgRequest<helloif::ReqDisable> const& GetPayload() const;
139 
140  private:
142 };
143 
144 // Inline definitions
146  return m_payload;
147 }
149  return m_payload;
150 }
151 
153 // Enable
155 
156 class Enable final : public rad::AnyEvent {
157  public:
158  static constexpr char const* ID = "Events.Enable";
161 
166 
170  template <typename... Args,
171  typename = typename std::enable_if<std::is_constructible<payload_t, Args... >::value>::type>
172  explicit Enable(Args&&... args)
173  : AnyEvent(ID)
174  , m_payload(std::forward<Args>(args)...) {
175  }
177  Enable(Enable const&) = default;
179  Enable(Enable&&) = default;
181  Enable& operator=(Enable const& e) = default;
183 
185  AnyEvent* Clone() const override;
187  inline rad::MsgRequest<helloif::ReqEnable> const& GetPayload() const;
189 
190  private:
192 };
193 
194 // Inline definitions
196  return m_payload;
197 }
199  return m_payload;
200 }
201 
203 // Exit
205 
209 class Exit final : public rad::AnyEvent {
210  public:
211  static constexpr char const* ID = "Events.Exit";
214 
218  explicit Exit(rad::MsgRequest<helloif::ReqExit> const&);
219 
223  template <typename... Args,
224  typename = typename std::enable_if<std::is_constructible<payload_t, Args... >::value>::type>
225  explicit Exit(Args&&... args)
226  : AnyEvent(ID)
227  , m_payload(std::forward<Args>(args)...) {
228  }
230  Exit(Exit const&) = default;
232  Exit(Exit&&) = default;
234  Exit& operator=(Exit const& e) = default;
236 
238  AnyEvent* Clone() const override;
240  inline rad::MsgRequest<helloif::ReqExit> const& GetPayload() const;
242 
243  private:
245 };
246 
247 // Inline definitions
249  return m_payload;
250 }
252  return m_payload;
253 }
254 
256 // Init
258 
262 class Init final : public rad::AnyEvent {
263  public:
264  static constexpr char const* ID = "Events.Init";
267 
271  explicit Init(rad::MsgRequest<helloif::ReqInit> const&);
272 
276  template <typename... Args,
277  typename = typename std::enable_if<std::is_constructible<payload_t, Args... >::value>::type>
278  explicit Init(Args&&... args)
279  : AnyEvent(ID)
280  , m_payload(std::forward<Args>(args)...) {
281  }
283  Init(Init const&) = default;
285  Init(Init&&) = default;
287  Init& operator=(Init const& e) = default;
289 
291  AnyEvent* Clone() const override;
293  inline rad::MsgRequest<helloif::ReqInit> const& GetPayload() const;
295 
296  private:
298 };
299 
300 // Inline definitions
302  return m_payload;
303 }
305  return m_payload;
306 }
307 
309 // Reset
311 
312 class Reset final : public rad::AnyEvent {
313  public:
314  static constexpr char const* ID = "Events.Reset";
317 
321  explicit Reset(rad::MsgRequest<helloif::ReqReset> const&);
322 
326  template <typename... Args,
327  typename = typename std::enable_if<std::is_constructible<payload_t, Args... >::value>::type>
328  explicit Reset(Args&&... args)
329  : AnyEvent(ID)
330  , m_payload(std::forward<Args>(args)...) {
331  }
333  Reset(Reset const&) = default;
335  Reset(Reset&&) = default;
337  Reset& operator=(Reset const& e) = default;
339 
341  AnyEvent* Clone() const override;
343  inline rad::MsgRequest<helloif::ReqReset> const& GetPayload() const;
345 
346  private:
348 };
349 
350 // Inline definitions
352  return m_payload;
353 }
355  return m_payload;
356 }
357 
359 // SetLogLevel
361 
362 class SetLogLevel final : public rad::AnyEvent {
363  public:
364  static constexpr char const* ID = "Events.SetLogLevel";
367 
372 
376  template <typename... Args,
377  typename = typename std::enable_if<std::is_constructible<payload_t, Args... >::value>::type>
378  explicit SetLogLevel(Args&&... args)
379  : AnyEvent(ID)
380  , m_payload(std::forward<Args>(args)...) {
381  }
383  SetLogLevel(SetLogLevel const&) = default;
385  SetLogLevel(SetLogLevel&&) = default;
387  SetLogLevel& operator=(SetLogLevel const& e) = default;
389 
391  AnyEvent* Clone() const override;
395 
396  private:
398 };
399 
400 // Inline definitions
402  return m_payload;
403 }
405  return m_payload;
406 }
407 
409 // Status
411 
412 class Status final : public rad::AnyEvent {
413  public:
414  static constexpr char const* ID = "Events.Status";
417 
422 
426  template <typename... Args,
427  typename = typename std::enable_if<std::is_constructible<payload_t, Args... >::value>::type>
428  explicit Status(Args&&... args)
429  : AnyEvent(ID)
430  , m_payload(std::forward<Args>(args)...) {
431  }
433  Status(Status const&) = default;
435  Status(Status&&) = default;
437  Status& operator=(Status const& e) = default;
439 
441  AnyEvent* Clone() const override;
443  inline rad::MsgRequest<helloif::ReqStatus> const& GetPayload() const;
445 
446  private:
448 };
449 
450 // Inline definitions
452  return m_payload;
453 }
455  return m_payload;
456 }
457 
459 // Stop
461 
462 class Stop final : public rad::AnyEvent {
463  public:
464  static constexpr char const* ID = "Events.Stop";
467 
471  explicit Stop(rad::MsgRequest<helloif::ReqStop> const&);
472 
476  template <typename... Args,
477  typename = typename std::enable_if<std::is_constructible<payload_t, Args... >::value>::type>
478  explicit Stop(Args&&... args)
479  : AnyEvent(ID)
480  , m_payload(std::forward<Args>(args)...) {
481  }
483  Stop(Stop const&) = default;
485  Stop(Stop&&) = default;
487  Stop& operator=(Stop const& e) = default;
489 
491  AnyEvent* Clone() const override;
493  inline rad::MsgRequest<helloif::ReqStop> const& GetPayload() const;
495 
496  private:
498 };
499 
500 // Inline definitions
502  return m_payload;
503 }
505  return m_payload;
506 }
507 
508 
509 
510 } // namespace Events
511 
512 
513 #endif // EVENTS_EVENTS_RAD_HPP_
AnyEvent * Clone() const override
Definition: events.rad.cpp:56
rad::cii::Request< std::string > const & GetPayload() const
Definition: events.rad.hpp:196
static constexpr char const * ID
Definition: events.rad.hpp:262
static constexpr rad::EventInfo::Context ctx
Definition: events.rad.hpp:160
rad::cii::Request< std::string > payload_t
Definition: events.rad.hpp:264
Stop(rad::cii::Request< std::string > const &)
Definition: events.rad.cpp:129
rad::cii::Request< std::string > const & GetPayload() const
Definition: events.rad.hpp:499
rad::cii::Request< std::string > payload_t
Definition: events.rad.hpp:464
AnyEvent * Clone() const override
Definition: events.rad.cpp:69
Init(Args &&...args)
Definition: events.rad.hpp:278
static constexpr char const * ID
Definition: events.rad.hpp:312
Definition: events.rad.hpp:360
Config(Args &&...args)
Definition: events.rad.hpp:43
rad::cii::Request< std::string > const & GetPayload() const
Definition: events.rad.hpp:249
static constexpr char const * ID
Definition: events.rad.hpp:412
Config(rad::cii::Request< std::string > const &)
Definition: events.rad.cpp:13
static constexpr char const * ID
Definition: events.rad.hpp:462
Exit(rad::cii::Request< std::string > const &)
Definition: events.rad.cpp:64
static constexpr rad::EventInfo::Context ctx
Definition: events.rad.hpp:313
Status(Args &&...args)
Definition: events.rad.hpp:428
rad::cii::Request< std::string > payload_t
Definition: events.rad.hpp:32
Init(rad::cii::Request< std::string > const &)
Definition: events.rad.cpp:77
SetLogLevel & operator=(SetLogLevel const &e)=default
Reset(rad::cii::Request< std::string > const &)
Definition: events.rad.cpp:90
Exit & operator=(Exit const &e)=default
static constexpr rad::EventInfo::Context ctx
Definition: events.rad.hpp:213
AnyEvent * Clone() const override
Definition: events.rad.cpp:43
rad::cii::Request< std::string > payload_t
Definition: events.rad.hpp:214
static constexpr rad::EventInfo::Context ctx
Definition: events.rad.hpp:84
static constexpr char const * ID
Definition: events.rad.hpp:83
static constexpr rad::EventInfo::Context ctx
Definition: events.rad.hpp:110
rad::cii::Request< std::string > const & GetPayload() const
Definition: events.rad.hpp:299
Context
Definition: anyEvent.hpp:27
AnyEvent * Clone() const override
Definition: events.rad.cpp:82
AnyEvent * Clone() const override
Definition: events.rad.cpp:121
Definition: events.rad.hpp:81
SetLogLevel(Args &&...args)
Definition: events.rad.hpp:378
CtrlC()
Definition: events.rad.cpp:26
Definition: events.rad.hpp:107
static constexpr char const * ID
Definition: events.rad.hpp:30
rad::cii::Request< std::string > payload_t
Definition: events.rad.hpp:414
rad::cii::Request< std::string > const & GetPayload() const
Definition: events.rad.hpp:349
Disable(Args &&...args)
Definition: events.rad.hpp:122
Status & operator=(Status const &e)=default
Definition: events.rad.hpp:460
AnyEvent * Clone() const override
Definition: events.rad.cpp:30
AnyEvent * Clone() const override
Definition: events.rad.cpp:108
AnyEvent * Clone() const override
Definition: events.rad.cpp:95
static constexpr rad::EventInfo::Context ctx
Definition: events.rad.hpp:363
std::vector< rad::EventInfo > listEvents()
Definition: events.rad.cpp:140
CtrlC & operator=(CtrlC const &e)=default
rad::cii::Request< std::string, std::shared_ptr< hellomalif::LogInfo > > const & GetPayload() const
Definition: events.rad.hpp:399
rad::cii::Request< std::string > const & GetPayload() const
Definition: events.rad.hpp:146
AnyEvent * Clone() const override
Definition: events.rad.cpp:18
static constexpr rad::EventInfo::Context ctx
Definition: events.rad.hpp:263
SetLogLevel(rad::cii::Request< std::string, std::shared_ptr< hellomalif::LogInfo >> const &)
Definition: events.rad.cpp:103
Definition: events.rad.hpp:260
Definition: events.rad.hpp:28
Definition: events.rad.hpp:210
Disable & operator=(Disable const &e)=default
Definition: events.rad.hpp:310
rad::cii::Request< std::string > payload_t
Definition: events.rad.hpp:161
rad::cii::Request< std::string > const & GetPayload() const
Definition: events.rad.hpp:449
rad::cii::Request< std::string, std::shared_ptr< hellomalif::LogInfo >> payload_t
Definition: events.rad.hpp:364
Enable(rad::cii::Request< std::string > const &)
Definition: events.rad.cpp:51
Definition: anyEvent.hpp:52
static constexpr char const * ID
Definition: events.rad.hpp:159
static constexpr rad::EventInfo::Context ctx
Definition: events.rad.hpp:31
AnyEvent(char const *id)
Definition: anyEvent.cpp:13
Reset(Args &&...args)
Definition: events.rad.hpp:328
Enable & operator=(Enable const &e)=default
Definition: events.rad.hpp:157
Stop & operator=(Stop const &e)=default
Reset & operator=(Reset const &e)=default
static constexpr char const * ID
Definition: events.rad.hpp:212
rad::cii::Request< std::string > const & GetPayload() const
Definition: events.rad.hpp:67
Status(rad::cii::Request< std::string > const &)
Definition: events.rad.cpp:116
static constexpr rad::EventInfo::Context ctx
Definition: events.rad.hpp:413
Definition: events.rad.hpp:410
void payload_t
Definition: events.rad.hpp:85
AnyEvent * Clone() const override
Definition: events.rad.cpp:134
static constexpr rad::EventInfo::Context ctx
Definition: events.rad.hpp:463
Enable(Args &&...args)
Definition: events.rad.hpp:172
Init & operator=(Init const &e)=default
rad::cii::Request< std::string > payload_t
Definition: events.rad.hpp:111
static constexpr char const * ID
Definition: events.rad.hpp:109
Exit(Args &&...args)
Definition: events.rad.hpp:225
Disable(rad::cii::Request< std::string > const &)
Definition: events.rad.cpp:38
static constexpr char const * ID
Definition: events.rad.hpp:362
rad::cii::Request< std::string > payload_t
Definition: events.rad.hpp:314
Stop(Args &&...args)
Definition: events.rad.hpp:478
Config & operator=(Config const &e)=default