Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #ifndef FLATHEADERS
00033 #include "simple_message/messages/robot_status_message.h"
00034 #include "simple_message/robot_status.h"
00035 #include "simple_message/byte_array.h"
00036 #include "simple_message/log_wrapper.h"
00037 #else
00038 #include "robot_status_message.h"
00039 #include "robot_status.h"
00040 #include "byte_array.h"
00041 #include "log_wrapper.h"
00042 #endif
00043
00044 using namespace industrial::shared_types;
00045 using namespace industrial::byte_array;
00046 using namespace industrial::simple_message;
00047 using namespace industrial::robot_status;
00048
00049 namespace industrial
00050 {
00051 namespace robot_status_message
00052 {
00053
00054 RobotStatusMessage::RobotStatusMessage(void)
00055 {
00056 this->init();
00057 }
00058
00059 RobotStatusMessage::~RobotStatusMessage(void)
00060 {
00061
00062 }
00063
00064 bool RobotStatusMessage::init(industrial::simple_message::SimpleMessage & msg)
00065 {
00066 bool rtn = false;
00067 ByteArray data = msg.getData();
00068 this->init();
00069 this->setCommType(msg.getCommType());
00070
00071 if (data.unload(this->status_))
00072 {
00073 rtn = true;
00074 }
00075 else
00076 {
00077 LOG_ERROR("Failed to unload robot status data");
00078 }
00079 return rtn;
00080 }
00081
00082 void RobotStatusMessage::init(industrial::robot_status::RobotStatus & status)
00083 {
00084 this->init();
00085 this->status_.copyFrom(status);
00086 }
00087
00088 void RobotStatusMessage::init()
00089 {
00090 this->setMessageType(StandardMsgTypes::STATUS);
00091 this->status_.init();
00092 }
00093
00094 bool RobotStatusMessage::load(ByteArray *buffer)
00095 {
00096 bool rtn = false;
00097 LOG_COMM("Executing robot status message load");
00098 if (buffer->load(this->status_))
00099 {
00100 rtn = true;
00101 }
00102 else
00103 {
00104 rtn = false;
00105 LOG_ERROR("Failed to load robot status data");
00106 }
00107 return rtn;
00108 }
00109
00110 bool RobotStatusMessage::unload(ByteArray *buffer)
00111 {
00112 bool rtn = false;
00113 LOG_COMM("Executing robot status message unload");
00114
00115 if (buffer->unload(this->status_))
00116 {
00117 rtn = true;
00118 }
00119 else
00120 {
00121 rtn = false;
00122 LOG_ERROR("Failed to unload robot status data");
00123 }
00124 return rtn;
00125 }
00126
00127 }
00128 }
00129