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
00070 if (data.unload(this->status_))
00071 {
00072 rtn = true;
00073 }
00074 else
00075 {
00076 LOG_ERROR("Failed to unload robot status data");
00077 }
00078 return rtn;
00079 }
00080
00081 void RobotStatusMessage::init(industrial::robot_status::RobotStatus & status)
00082 {
00083 this->init();
00084 this->status_.copyFrom(status);
00085 }
00086
00087 void RobotStatusMessage::init()
00088 {
00089 this->setMessageType(StandardMsgTypes::STATUS);
00090 this->status_.init();
00091 }
00092
00093 bool RobotStatusMessage::load(ByteArray *buffer)
00094 {
00095 bool rtn = false;
00096 LOG_COMM("Executing robot status message load");
00097 if (buffer->load(this->status_))
00098 {
00099 rtn = true;
00100 }
00101 else
00102 {
00103 rtn = false;
00104 LOG_ERROR("Failed to load robot status data");
00105 }
00106 return rtn;
00107 }
00108
00109 bool RobotStatusMessage::unload(ByteArray *buffer)
00110 {
00111 bool rtn = false;
00112 LOG_COMM("Executing robot status message unload");
00113
00114 if (buffer->unload(this->status_))
00115 {
00116 rtn = true;
00117 }
00118 else
00119 {
00120 rtn = false;
00121 LOG_ERROR("Failed to unload robot status data");
00122 }
00123 return rtn;
00124 }
00125
00126 }
00127 }
00128