33
33
#include " ur_robot_driver/primary/primary_package_handler.h"
34
34
#include " ur_robot_driver/primary/abstract_primary_consumer.h"
35
35
#include " ur_robot_driver/primary/key_message_handler.h"
36
+ #include " ur_robot_driver/primary/error_code_message_handler.h"
36
37
#include " ur_robot_driver/primary/robot_message/error_code_message.h"
37
38
#include " ur_robot_driver/primary/robot_message/key_message.h"
38
39
#include " ur_robot_driver/primary/robot_message/runtime_exception_message.h"
@@ -57,6 +58,7 @@ class PrimaryConsumer : public AbstractPrimaryConsumer
57
58
{
58
59
LOG_INFO (" Constructing primary consumer" );
59
60
key_message_worker_.reset (new KeyMessageHandler ());
61
+ error_code_message_worker_.reset (new ErrorCodeMessageHandler ());
60
62
LOG_INFO (" Constructed primary consumer" );
61
63
}
62
64
virtual ~PrimaryConsumer () = default ;
@@ -71,11 +73,6 @@ class PrimaryConsumer : public AbstractPrimaryConsumer
71
73
// LOG_INFO("---RobotState:---\n%s", msg.toString().c_str());
72
74
return true ;
73
75
}
74
- virtual bool consume (ErrorCodeMessage& msg) override
75
- {
76
- LOG_INFO (" ---ErrorCodeMessage---\n %s" , msg.toString ().c_str ());
77
- return true ;
78
- }
79
76
virtual bool consume (RuntimeExceptionMessage& msg) override
80
77
{
81
78
LOG_INFO (" ---RuntimeExceptionMessage---\n %s" , msg.toString ().c_str ());
@@ -122,13 +119,28 @@ class PrimaryConsumer : public AbstractPrimaryConsumer
122
119
return false ;
123
120
}
124
121
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
+ }
125
136
void setKinematicsInfoHandler (const std::shared_ptr<IPrimaryPackageHandler<KinematicsInfo>>& handler)
126
137
{
127
138
kinematics_info_message_worker_ = handler;
128
139
}
129
140
130
141
private:
131
142
std::shared_ptr<IPrimaryPackageHandler<KeyMessage>> key_message_worker_;
143
+ std::shared_ptr<IPrimaryPackageHandler<ErrorCodeMessage>> error_code_message_worker_;
132
144
std::shared_ptr<IPrimaryPackageHandler<KinematicsInfo>> kinematics_info_message_worker_;
133
145
};
134
146
} // namespace primary_interface
0 commit comments