[[PREPROC_HEADER_GUARD_BEGIN]]
#include "HC_API.h"
#include "controllers_utils.h"
namespace ControlAPI {
const std::string LowLightSensor_NALPCODE = "LLSN";
struct HC_API LowLightSensor_DataInfo {
float fLx;
};
class HC_API LowLightSensorCommand_Update : public DeviceCommandPackage {
public:
HC_CLASS_DEVICECOMMANDPACKAGE_META(LowLightSensorCommand_Update)
virtual ~LowLightSensorCommand_Update() = default;
#ifdef HC_API_MACRO_EXCLUDE_DOCS
virtual std::shared_ptr<CommandStateInfo> createCommandStateInfo() override;
virtual std::shared_ptr<CommandStatus> createCommandStatus() override;
#ifdef HC_API_FEATURE_NETWORKING
virtual void syncFromNetwork(CommandStatus* command) override;
#endif
#endif
};
class HC_API LowLightSensorUpdateStateInfo : public CommandStateInfo {
public:
HC_CLASS_META(LowLightSensorUpdateStateInfo)
HC_SWIG_SHAREDPTR(LowLightSensorUpdateStateInfo)
float lx = 0.0f;
#ifdef HC_API_FEATURE_NETWORKING
void cacheOnNetwork(CommandStatus* command) override;
#endif
};
class LowLightSensorDeviceInfo;
class HC_API LowLightSensorCommandStatus : public CommandStatus {
public:
HC_CLASS_META(LowLightSensorCommandStatus)
HC_SWIG_SHAREDPTR(LowLightSensorCommandStatus)
virtual ~LowLightSensorCommandStatus() = default;
LowLightSensorUpdateStateInfo* stateInfo();
};
class HC_API LowLightSensorDeviceInfo : public DeviceInfo {
public:
HC_CLASS_META(LowLightSensorDeviceInfo)
HC_SWIG_SHAREDPTR(LowLightSensorDeviceInfo)
HC_CLASS_DEVICEINFO_META(LowLightSensorDeviceInfo, LowLightSensorCommandStatus)
friend class LowLightSensorController;
friend class LowLightSensorComHandler;
virtual ~LowLightSensorDeviceInfo() = default;
protected:
};
class LowLightSensorComHandler;
class HC_API LowLightSensorController : public HardwareDeviceController {
public:
HC_CLASS_META(LowLightSensorController)
HC_SWIG_SHAREDPTR(LowLightSensorController)
virtual ~LowLightSensorController() = default;
#ifdef HC_API_MACRO_EXCLUDE_DOCS
virtual bool init() override;
virtual bool issueCommand(CommandStatus* command) override;
std::shared_ptr<LowLightSensorComHandler> hopoComs;
#endif
};
}
[[PREPROC_HEADER_GUARD_END]]