3333#include " ur_robot_driver/primary/primary_package_handler.h"
3434#include " ur_robot_driver/primary/abstract_primary_consumer.h"
3535#include " ur_robot_driver/primary/key_message_handler.h"
36+ #include " ur_robot_driver/primary/error_code_message_handler.h"
3637#include " ur_robot_driver/primary/robot_message/error_code_message.h"
3738#include " ur_robot_driver/primary/robot_message/key_message.h"
3839#include " ur_robot_driver/primary/robot_message/runtime_exception_message.h"
@@ -57,6 +58,7 @@ class PrimaryConsumer : public AbstractPrimaryConsumer
5758 {
5859 LOG_INFO (" Constructing primary consumer" );
5960 key_message_worker_.reset (new KeyMessageHandler ());
61+ error_code_message_worker_.reset (new ErrorCodeMessageHandler ());
6062 LOG_INFO (" Constructed primary consumer" );
6163 }
6264 virtual ~PrimaryConsumer () = default ;
@@ -71,11 +73,6 @@ class PrimaryConsumer : public AbstractPrimaryConsumer
7173 // LOG_INFO("---RobotState:---\n%s", msg.toString().c_str());
7274 return true ;
7375 }
74- virtual bool consume (ErrorCodeMessage& msg) override
75- {
76- LOG_INFO (" ---ErrorCodeMessage---\n %s" , msg.toString ().c_str ());
77- return true ;
78- }
7976 virtual bool consume (RuntimeExceptionMessage& msg) override
8077 {
8178 LOG_INFO (" ---RuntimeExceptionMessage---\n %s" , msg.toString ().c_str ());
@@ -122,13 +119,28 @@ class PrimaryConsumer : public AbstractPrimaryConsumer
122119 return false ;
123120 }
124121
122+ /* !
123+ * \brief Handle a ErrorCodeMessage
124+ *
125+ * \returns True if there's a handler for this message type registered. False otherwise.
126+ */
127+ virtual bool consume (ErrorCodeMessage& pkg) override
128+ {
129+ if (error_code_message_worker_ != nullptr )
130+ {
131+ error_code_message_worker_->handle (pkg);
132+ return true ;
133+ }
134+ return false ;
135+ }
125136 void setKinematicsInfoHandler (const std::shared_ptr<IPrimaryPackageHandler<KinematicsInfo>>& handler)
126137 {
127138 kinematics_info_message_worker_ = handler;
128139 }
129140
130141private:
131142 std::shared_ptr<IPrimaryPackageHandler<KeyMessage>> key_message_worker_;
143+ std::shared_ptr<IPrimaryPackageHandler<ErrorCodeMessage>> error_code_message_worker_;
132144 std::shared_ptr<IPrimaryPackageHandler<KinematicsInfo>> kinematics_info_message_worker_;
133145};
134146} // namespace primary_interface
0 commit comments