24 #include <interfaces/SkillerInterface.h> 26 #include <core/exceptions/software.h> 47 SkillerInterface::SkillerInterface() : Interface()
49 data_size =
sizeof(SkillerInterface_data_t);
51 data = (SkillerInterface_data_t *)
data_ptr;
65 unsigned char tmp_hash[] = {0x7c, 0x85, 0xf3, 0x24, 0xea, 0x55, 0x50, 0xa1, 0x6c, 0xdb, 0xdc, 0x4b, 0x40, 0xba, 0xa1, 0xda};
70 SkillerInterface::~SkillerInterface()
82 case S_INACTIVE:
return "S_INACTIVE";
83 case S_FINAL:
return "S_FINAL";
84 case S_RUNNING:
return "S_RUNNING";
85 case S_FAILED:
return "S_FAILED";
86 default:
return "UNKNOWN";
100 return data->skill_string;
123 strncpy(data->skill_string, new_skill_string,
sizeof(data->skill_string));
158 strncpy(data->error, new_error,
sizeof(data->error));
173 return data->exclusive_controller;
197 data->exclusive_controller = new_exclusive_controller;
232 data->status = new_status;
246 return data->continuous;
269 data->continuous = new_continuous;
277 if ( strncmp(
"ExecSkillMessage", type, __INTERFACE_MESSAGE_TYPE_SIZE) == 0 ) {
279 }
else if ( strncmp(
"ExecSkillContinuousMessage", type, __INTERFACE_MESSAGE_TYPE_SIZE) == 0 ) {
281 }
else if ( strncmp(
"RestartInterpreterMessage", type, __INTERFACE_MESSAGE_TYPE_SIZE) == 0 ) {
283 }
else if ( strncmp(
"StopExecMessage", type, __INTERFACE_MESSAGE_TYPE_SIZE) == 0 ) {
285 }
else if ( strncmp(
"AcquireControlMessage", type, __INTERFACE_MESSAGE_TYPE_SIZE) == 0 ) {
287 }
else if ( strncmp(
"ReleaseControlMessage", type, __INTERFACE_MESSAGE_TYPE_SIZE) == 0 ) {
291 "message type for this interface type.", type);
307 memcpy(data, oi->data,
sizeof(SkillerInterface_data_t));
313 if (strcmp(enumtype,
"SkillStatusEnum") == 0) {
332 data_size =
sizeof(ExecSkillMessage_data_t);
335 data = (ExecSkillMessage_data_t *)
data_ptr;
337 strncpy(data->skill_string, ini_skill_string, 1024);
343 data_size =
sizeof(ExecSkillMessage_data_t);
346 data = (ExecSkillMessage_data_t *)
data_ptr;
365 data = (ExecSkillMessage_data_t *)
data_ptr;
380 return data->skill_string;
403 strncpy(data->skill_string, new_skill_string,
sizeof(data->skill_string));
428 data_size =
sizeof(ExecSkillContinuousMessage_data_t);
431 data = (ExecSkillContinuousMessage_data_t *)
data_ptr;
433 strncpy(data->skill_string, ini_skill_string, 1024);
439 data_size =
sizeof(ExecSkillContinuousMessage_data_t);
442 data = (ExecSkillContinuousMessage_data_t *)
data_ptr;
461 data = (ExecSkillContinuousMessage_data_t *)
data_ptr;
476 return data->skill_string;
499 strncpy(data->skill_string, new_skill_string,
sizeof(data->skill_string));
522 data_size =
sizeof(RestartInterpreterMessage_data_t);
525 data = (RestartInterpreterMessage_data_t *)
data_ptr;
543 data = (RestartInterpreterMessage_data_t *)
data_ptr;
568 data_size =
sizeof(StopExecMessage_data_t);
571 data = (StopExecMessage_data_t *)
data_ptr;
589 data = (StopExecMessage_data_t *)
data_ptr;
614 data_size =
sizeof(AcquireControlMessage_data_t);
617 data = (AcquireControlMessage_data_t *)
data_ptr;
635 data = (AcquireControlMessage_data_t *)
data_ptr;
660 data_size =
sizeof(ReleaseControlMessage_data_t);
663 data = (ReleaseControlMessage_data_t *)
data_ptr;
681 data = (ReleaseControlMessage_data_t *)
data_ptr;
~RestartInterpreterMessage()
Destructor.
~ExecSkillContinuousMessage()
Destructor.
void * data_ptr
Pointer to memory that contains local data.
virtual Message * clone() const
Clone this message.
Base class for all messages passed through interfaces in Fawkes BlackBoard.
~ReleaseControlMessage()
Destructor.
uint32_t exclusive_controller() const
Get exclusive_controller value.
SkillStatusEnum status() const
Get status value.
void set_hash(unsigned char *ihash)
Set hash.
const char * type() const
Get message type.
~StopExecMessage()
Destructor.
void set_exclusive_controller(const uint32_t new_exclusive_controller)
Set exclusive_controller value.
Fawkes library namespace.
Timestamp data, must be present and first entries for each interface data structs! This leans on time...
~ExecSkillMessage()
Destructor.
void set_skill_string(const char *new_skill_string)
Set skill_string value.
StopExecMessage Fawkes BlackBoard Interface Message.
virtual void copy_values(const Interface *other)
Copy values from other interface.
ReleaseControlMessage Fawkes BlackBoard Interface Message.
virtual const char * enum_tostring(const char *enumtype, int val) const
Convert arbitrary enum value to string.
SkillStatusEnum
This determines the current status of skill execution.
size_t maxlenof_status() const
Get maximum length of status value.
size_t maxlenof_skill_string() const
Get maximum length of skill_string value.
Base class for all Fawkes BlackBoard interfaces.
size_t maxlenof_exclusive_controller() const
Get maximum length of exclusive_controller value.
const char * tostring_SkillStatusEnum(SkillStatusEnum value) const
Convert SkillStatusEnum constant to string.
size_t maxlenof_skill_string() const
Get maximum length of skill_string value.
AcquireControlMessage Fawkes BlackBoard Interface Message.
size_t maxlenof_error() const
Get maximum length of error value.
size_t maxlenof_skill_string() const
Get maximum length of skill_string value.
message_data_ts_t * data_ts
data timestamp aliasing pointer
virtual Message * clone() const
Clone this message.
unsigned int data_size
Size of memory needed to hold all data.
bool is_continuous() const
Get continuous value.
virtual bool message_valid(const Message *message) const
Check if message is valid and can be enqueued.
void add_messageinfo(const char *name)
Add an entry to the message info list.
bool data_changed
Indicator if data has changed.
void set_error(const char *new_error)
Set error value.
virtual Message * clone() const
Clone this message.
StopExecMessage()
Constructor.
virtual Message * create_message(const char *type) const
Create message based on type name.
size_t maxlenof_continuous() const
Get maximum length of continuous value.
virtual Message * clone() const
Clone this message.
ExecSkillMessage Fawkes BlackBoard Interface Message.
ReleaseControlMessage()
Constructor.
AcquireControlMessage()
Constructor.
~AcquireControlMessage()
Destructor.
virtual Message * clone() const
Clone this message.
RestartInterpreterMessage Fawkes BlackBoard Interface Message.
char * skill_string() const
Get skill_string value.
ExecSkillMessage()
Constructor.
char * error() const
Get error value.
void set_continuous(const bool new_continuous)
Set continuous value.
virtual Message * clone() const
Clone this message.
ExecSkillContinuousMessage()
Constructor.
void set_skill_string(const char *new_skill_string)
Set skill_string value.
void add_fieldinfo(interface_fieldtype_t type, const char *name, size_t length, void *value, const char *enumtype=0)
Add an entry to the info list.
char * skill_string() const
Get skill_string value.
SkillerInterface Fawkes BlackBoard Interface.
void set_status(const SkillStatusEnum new_status)
Set status value.
ExecSkillContinuousMessage Fawkes BlackBoard Interface Message.
RestartInterpreterMessage()
Constructor.
const char * type() const
Get type of interface.
char * skill_string() const
Get skill_string value.
32 bit unsigned integer field
field with interface specific enum type
void set_skill_string(const char *new_skill_string)
Set skill_string value.