SkillerInterface Fawkes BlackBoard Interface. More...
#include <interfaces/SkillerInterface.h>
Classes | |
class | AcquireControlMessage |
AcquireControlMessage Fawkes BlackBoard Interface Message. More... | |
class | ExecSkillContinuousMessage |
ExecSkillContinuousMessage Fawkes BlackBoard Interface Message. More... | |
class | ExecSkillMessage |
ExecSkillMessage Fawkes BlackBoard Interface Message. More... | |
class | ReleaseControlMessage |
ReleaseControlMessage Fawkes BlackBoard Interface Message. More... | |
class | RestartInterpreterMessage |
RestartInterpreterMessage Fawkes BlackBoard Interface Message. More... | |
struct | SkillerInterface_data_t |
Internal data storage, do NOT modify! | |
class | StopExecMessage |
StopExecMessage Fawkes BlackBoard Interface Message. More... | |
Public Types | |
enum | SkillStatusEnum { S_INACTIVE, S_FINAL, S_RUNNING, S_FAILED } |
This determines the current status of skill execution. More... | |
Public Member Functions | |
const char * | tostring_SkillStatusEnum (SkillStatusEnum value) const |
Convert SkillStatusEnum constant to string. | |
virtual bool | message_valid (const Message *message) const |
Check if message is valid and can be enqueued. | |
char * | skill_string () const |
Get skill_string value. | |
void | set_skill_string (const char *new_skill_string) |
Set skill_string value. | |
size_t | maxlenof_skill_string () const |
Get maximum length of skill_string value. | |
char * | error () const |
Get error value. | |
void | set_error (const char *new_error) |
Set error value. | |
size_t | maxlenof_error () const |
Get maximum length of error value. | |
uint32_t | exclusive_controller () const |
Get exclusive_controller value. | |
void | set_exclusive_controller (const uint32_t new_exclusive_controller) |
Set exclusive_controller value. | |
size_t | maxlenof_exclusive_controller () const |
Get maximum length of exclusive_controller value. | |
SkillStatusEnum | status () const |
Get status value. | |
void | set_status (const SkillStatusEnum new_status) |
Set status value. | |
size_t | maxlenof_status () const |
Get maximum length of status value. | |
bool | is_continuous () const |
Get continuous value. | |
void | set_continuous (const bool new_continuous) |
Set continuous value. | |
size_t | maxlenof_continuous () const |
Get maximum length of continuous value. | |
virtual Message * | create_message (const char *type) const |
Create message based on type name. | |
virtual void | copy_values (const Interface *other) |
Copy values from other interface. | |
virtual const char * | enum_tostring (const char *enumtype, int val) const |
Convert arbitrary enum value to string. |
SkillerInterface Fawkes BlackBoard Interface.
The interface provides access to the skill execution runtime plugin. It provides basic status information about skiller and allows for calling skills via messages. It can also be used to manually restart the Lua interpreter if something is wedged.
Definition at line 33 of file SkillerInterface.h.
This determines the current status of skill execution.
S_INACTIVE |
No skill is running. |
S_FINAL |
The skill string has been successfully processed. |
S_RUNNING |
The execution is still running. |
S_FAILED |
The execution failed and cannot succeed anymore. |
Definition at line 44 of file SkillerInterface.h.
void fawkes::SkillerInterface::copy_values | ( | const Interface * | other | ) | [virtual] |
Copy values from other interface.
other | other interface to copy values from |
Definition at line 300 of file SkillerInterface.cpp.
References fawkes::Interface::type().
Message * fawkes::SkillerInterface::create_message | ( | const char * | type | ) | const [virtual] |
Create message based on type name.
This will create a new message of the given type. The type must be given without the InterfaceName:: prefix but just the plain class name of the message.
type | message type |
UnknownTypeException | thrown if this interface cannot create a message of the given type. |
Implements fawkes::Interface.
Definition at line 275 of file SkillerInterface.cpp.
const char * fawkes::SkillerInterface::enum_tostring | ( | const char * | enumtype, | |
int | val | |||
) | const [virtual] |
Convert arbitrary enum value to string.
Given the string representation of the enum type and the value this method returns the string representation of the specific value, or the string UNKNOWN if the value is not defined. An exception is thrown if the enum type is invalid.
enumtype | enum type as string | |
val | value to convert |
UnknownTypeException | thrown if enumtype is not specified for interface. |
Implements fawkes::Interface.
Definition at line 311 of file SkillerInterface.cpp.
References tostring_SkillStatusEnum().
char * fawkes::SkillerInterface::error | ( | ) | const |
Get error value.
String describing the error. Can be set by a skill when it fails.
Definition at line 134 of file SkillerInterface.cpp.
uint32_t fawkes::SkillerInterface::exclusive_controller | ( | ) | const |
Get exclusive_controller value.
Instance serial of the exclusive controller of the skiller. If this does not carry your instance serial your exec messages will be ignored. Aquire control with the AquireControlMessage. Make sure you release control before exiting.
Definition at line 171 of file SkillerInterface.cpp.
Referenced by LuaAgentExecutionThread::init(), and SkillerExecutionThread::loop().
bool fawkes::SkillerInterface::is_continuous | ( | ) | const |
Get continuous value.
True if continuous execution is in progress, false if no skill string is executed at all or it is executed one-shot with ExecSkillMessage.
Definition at line 244 of file SkillerInterface.cpp.
size_t fawkes::SkillerInterface::maxlenof_continuous | ( | ) | const |
Get maximum length of continuous value.
Definition at line 254 of file SkillerInterface.cpp.
size_t fawkes::SkillerInterface::maxlenof_error | ( | ) | const |
Get maximum length of error value.
Definition at line 144 of file SkillerInterface.cpp.
size_t fawkes::SkillerInterface::maxlenof_exclusive_controller | ( | ) | const |
Get maximum length of exclusive_controller value.
Definition at line 181 of file SkillerInterface.cpp.
size_t fawkes::SkillerInterface::maxlenof_skill_string | ( | ) | const |
Get maximum length of skill_string value.
Definition at line 108 of file SkillerInterface.cpp.
size_t fawkes::SkillerInterface::maxlenof_status | ( | ) | const |
Get maximum length of status value.
Definition at line 218 of file SkillerInterface.cpp.
bool fawkes::SkillerInterface::message_valid | ( | const Message * | message | ) | const [virtual] |
Check if message is valid and can be enqueued.
message | Message to check |
Implements fawkes::Interface.
Definition at line 701 of file SkillerInterface.cpp.
void fawkes::SkillerInterface::set_continuous | ( | const bool | new_continuous | ) |
Set continuous value.
True if continuous execution is in progress, false if no skill string is executed at all or it is executed one-shot with ExecSkillMessage.
new_continuous | new continuous value |
Definition at line 267 of file SkillerInterface.cpp.
References fawkes::Interface::data_changed.
void fawkes::SkillerInterface::set_error | ( | const char * | new_error | ) |
Set error value.
String describing the error. Can be set by a skill when it fails.
new_error | new error value |
Definition at line 156 of file SkillerInterface.cpp.
References fawkes::Interface::data_changed.
Referenced by SkillerExecutionThread::loop().
void fawkes::SkillerInterface::set_exclusive_controller | ( | const uint32_t | new_exclusive_controller | ) |
Set exclusive_controller value.
Instance serial of the exclusive controller of the skiller. If this does not carry your instance serial your exec messages will be ignored. Aquire control with the AquireControlMessage. Make sure you release control before exiting.
new_exclusive_controller | new exclusive_controller value |
Definition at line 195 of file SkillerInterface.cpp.
References fawkes::Interface::data_changed.
Referenced by SkillerExecutionThread::loop().
void fawkes::SkillerInterface::set_skill_string | ( | const char * | new_skill_string | ) |
Set skill_string value.
Currently executed skill string, at least the first 1023 bytes of it. Must be properly null-terminated.
new_skill_string | new skill_string value |
Definition at line 121 of file SkillerInterface.cpp.
References fawkes::Interface::data_changed.
Referenced by SkillerExecutionThread::init(), and SkillerExecutionThread::loop().
void fawkes::SkillerInterface::set_status | ( | const SkillStatusEnum | new_status | ) |
Set status value.
The status of the current skill execution.
new_status | new status value |
Definition at line 230 of file SkillerInterface.cpp.
References fawkes::Interface::data_changed.
Referenced by SkillerExecutionThread::init(), and SkillerExecutionThread::loop().
char * fawkes::SkillerInterface::skill_string | ( | ) | const |
Get skill_string value.
Currently executed skill string, at least the first 1023 bytes of it. Must be properly null-terminated.
Definition at line 98 of file SkillerInterface.cpp.
Referenced by SkillerExecutionThread::loop().
SkillerInterface::SkillStatusEnum fawkes::SkillerInterface::status | ( | ) | const |
Get status value.
The status of the current skill execution.
Definition at line 208 of file SkillerInterface.cpp.
const char * fawkes::SkillerInterface::tostring_SkillStatusEnum | ( | SkillStatusEnum | value | ) | const |
Convert SkillStatusEnum constant to string.
value | value to convert to string |
Definition at line 79 of file SkillerInterface.cpp.
References S_FAILED, S_FINAL, S_INACTIVE, and S_RUNNING.
Referenced by enum_tostring().