24 #include <interfaces/LedInterface.h>
26 #include <core/exceptions/software.h>
52 LedInterface::LedInterface() : Interface()
56 data = (LedInterface_data_t *)
data_ptr;
63 unsigned char tmp_hash[] = {0xd, 0x86, 0x60, 0xcd, 0xae, 0x41, 0xa5, 0xa1, 0xbc, 0xb7, 0xf, 0x9, 0x90, 00, 0x4d, 0x40};
68 LedInterface::~LedInterface()
80 return data->intensity;
100 data->intensity = new_intensity;
108 if ( strncmp(
"SetIntensityMessage",
type, INTERFACE_MESSAGE_TYPE_SIZE_ - 1) == 0 ) {
109 return new SetIntensityMessage();
110 }
else if ( strncmp(
"TurnOnMessage",
type, INTERFACE_MESSAGE_TYPE_SIZE_ - 1) == 0 ) {
111 return new TurnOnMessage();
112 }
else if ( strncmp(
"TurnOffMessage",
type, INTERFACE_MESSAGE_TYPE_SIZE_ - 1) == 0 ) {
113 return new TurnOffMessage();
115 throw UnknownTypeException(
"The given type '%s' does not match any known "
116 "message type for this interface type.",
type);
127 const LedInterface *oi = dynamic_cast<const LedInterface *>(other);
130 type(), other->type());
132 memcpy(data, oi->data,
sizeof(LedInterface_data_t));
138 throw UnknownTypeException(
"Unknown enum type %s", enumtype);
155 data_size =
sizeof(SetIntensityMessage_data_t);
158 data = (SetIntensityMessage_data_t *)
data_ptr;
160 data->time_sec = ini_time_sec;
161 data->intensity = ini_intensity;
168 data_size =
sizeof(SetIntensityMessage_data_t);
171 data = (SetIntensityMessage_data_t *)
data_ptr;
191 data = (SetIntensityMessage_data_t *)
data_ptr;
205 return data->time_sec;
227 data->time_sec = new_time_sec;
237 return data->intensity;
257 data->intensity = new_intensity;
280 data_size =
sizeof(TurnOnMessage_data_t);
283 data = (TurnOnMessage_data_t *)
data_ptr;
301 data = (TurnOnMessage_data_t *)
data_ptr;
326 data_size =
sizeof(TurnOffMessage_data_t);
329 data = (TurnOffMessage_data_t *)
data_ptr;
347 data = (TurnOffMessage_data_t *)
data_ptr;
373 const TurnOnMessage *m1 = dynamic_cast<const TurnOnMessage *>(message);
377 const TurnOffMessage *m2 = dynamic_cast<const TurnOffMessage *>(message);
385 EXPORT_INTERFACE(LedInterface)