LowLightSensor_controller/LowLightSensor_controller.h Source File

1 [[PREPROC_HEADER_GUARD_BEGIN]]
2 
3 #include "HC_API.h"
4 #include "controllers_utils.h"
5 
6 
7 namespace ControlAPI {
8 
9 
10  const std::string LowLightSensor_NALPCODE = "LLSN";
11 
15  struct HC_API LowLightSensor_DataInfo {
16  float fLx;
17  };
18 
19 
20 
21 
26  public:
27  HC_CLASS_DEVICECOMMANDPACKAGE_META(LowLightSensorCommand_Update)
28 
29  virtual ~LowLightSensorCommand_Update() = default;
30 
31 
32 #ifdef HC_API_MACRO_EXCLUDE_DOCS
33  virtual std::shared_ptr<CommandStateInfo> createCommandStateInfo() override;
34  virtual std::shared_ptr<CommandStatus> createCommandStatus() override;
35 #ifdef HC_API_FEATURE_NETWORKING
36  virtual void syncFromNetwork(CommandStatus* command) override;
37 #endif
38 #endif
39 
40 
41  };
42 
47  public:
48  HC_CLASS_META(LowLightSensorUpdateStateInfo)
49  HC_SWIG_SHAREDPTR(LowLightSensorUpdateStateInfo)
50 
51  float lx = 0.0f;
52 #ifdef HC_API_FEATURE_NETWORKING
53  void cacheOnNetwork(CommandStatus* command) override;
54 #endif
55  };
56 
58 
59 
60 
61 
62 
67  public:
68  HC_CLASS_META(LowLightSensorCommandStatus)
69  HC_SWIG_SHAREDPTR(LowLightSensorCommandStatus)
70 
71  virtual ~LowLightSensorCommandStatus() = default;
72 
73  LowLightSensorUpdateStateInfo* stateInfo();
74  };
75 
79  class HC_API LowLightSensorDeviceInfo : public DeviceInfo {
80  public:
81  HC_CLASS_META(LowLightSensorDeviceInfo)
82  HC_SWIG_SHAREDPTR(LowLightSensorDeviceInfo)
83  HC_CLASS_DEVICEINFO_META(LowLightSensorDeviceInfo, LowLightSensorCommandStatus)
84 
85  friend class LowLightSensorController;
86  friend class LowLightSensorComHandler;
87 
88  virtual ~LowLightSensorDeviceInfo() = default;
89 
90 
91  protected:
92 
93  };
94 
95  class LowLightSensorComHandler;
100  public:
101  HC_CLASS_META(LowLightSensorController)
102  HC_SWIG_SHAREDPTR(LowLightSensorController)
103 
104  virtual ~LowLightSensorController() = default;
105 
106 #ifdef HC_API_MACRO_EXCLUDE_DOCS
107  virtual bool init() override;
108 
109  virtual bool issueCommand(CommandStatus* command) override;
110 
111 
112  std::shared_ptr<LowLightSensorComHandler> hopoComs;
113 #endif
114  };
115 
116 }
117 
118 [[PREPROC_HEADER_GUARD_END]]