00001
00002 #ifndef SRS_MSGS_MESSAGE_SRS_ACTION_H
00003 #define SRS_MSGS_MESSAGE_SRS_ACTION_H
00004 #include <string>
00005 #include <vector>
00006 #include <map>
00007 #include <ostream>
00008 #include "ros/serialization.h"
00009 #include "ros/builtin_message_traits.h"
00010 #include "ros/message_operations.h"
00011 #include "ros/time.h"
00012
00013 #include "ros/macros.h"
00014
00015 #include "ros/assert.h"
00016
00017 #include "srs_msgs/Component.h"
00018
00019 namespace srs_msgs
00020 {
00021 template <class ContainerAllocator>
00022 struct SRS_Action_ {
00023 typedef SRS_Action_<ContainerAllocator> Type;
00024
00025 SRS_Action_()
00026 : objectID(0)
00027 , objectName()
00028 , actionID(0)
00029 , actionName()
00030 , component_is_required(false)
00031 , components()
00032 , symbolic_is_required(false)
00033 , symbolicID(0)
00034 , symbolicName()
00035 , description()
00036 {
00037 }
00038
00039 SRS_Action_(const ContainerAllocator& _alloc)
00040 : objectID(0)
00041 , objectName(_alloc)
00042 , actionID(0)
00043 , actionName(_alloc)
00044 , component_is_required(false)
00045 , components(_alloc)
00046 , symbolic_is_required(false)
00047 , symbolicID(0)
00048 , symbolicName(_alloc)
00049 , description(_alloc)
00050 {
00051 }
00052
00053 typedef uint32_t _objectID_type;
00054 uint32_t objectID;
00055
00056 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _objectName_type;
00057 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > objectName;
00058
00059 typedef uint32_t _actionID_type;
00060 uint32_t actionID;
00061
00062 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _actionName_type;
00063 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > actionName;
00064
00065 typedef uint8_t _component_is_required_type;
00066 uint8_t component_is_required;
00067
00068 typedef std::vector< ::srs_msgs::Component_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::srs_msgs::Component_<ContainerAllocator> >::other > _components_type;
00069 std::vector< ::srs_msgs::Component_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::srs_msgs::Component_<ContainerAllocator> >::other > components;
00070
00071 typedef uint8_t _symbolic_is_required_type;
00072 uint8_t symbolic_is_required;
00073
00074 typedef uint32_t _symbolicID_type;
00075 uint32_t symbolicID;
00076
00077 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _symbolicName_type;
00078 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > symbolicName;
00079
00080 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _description_type;
00081 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > description;
00082
00083
00084 typedef boost::shared_ptr< ::srs_msgs::SRS_Action_<ContainerAllocator> > Ptr;
00085 typedef boost::shared_ptr< ::srs_msgs::SRS_Action_<ContainerAllocator> const> ConstPtr;
00086 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00087 };
00088 typedef ::srs_msgs::SRS_Action_<std::allocator<void> > SRS_Action;
00089
00090 typedef boost::shared_ptr< ::srs_msgs::SRS_Action> SRS_ActionPtr;
00091 typedef boost::shared_ptr< ::srs_msgs::SRS_Action const> SRS_ActionConstPtr;
00092
00093
00094 template<typename ContainerAllocator>
00095 std::ostream& operator<<(std::ostream& s, const ::srs_msgs::SRS_Action_<ContainerAllocator> & v)
00096 {
00097 ros::message_operations::Printer< ::srs_msgs::SRS_Action_<ContainerAllocator> >::stream(s, "", v);
00098 return s;}
00099
00100 }
00101
00102 namespace ros
00103 {
00104 namespace message_traits
00105 {
00106 template<class ContainerAllocator> struct IsMessage< ::srs_msgs::SRS_Action_<ContainerAllocator> > : public TrueType {};
00107 template<class ContainerAllocator> struct IsMessage< ::srs_msgs::SRS_Action_<ContainerAllocator> const> : public TrueType {};
00108 template<class ContainerAllocator>
00109 struct MD5Sum< ::srs_msgs::SRS_Action_<ContainerAllocator> > {
00110 static const char* value()
00111 {
00112 return "78f876cadd0a50a227e671e96dc7e09b";
00113 }
00114
00115 static const char* value(const ::srs_msgs::SRS_Action_<ContainerAllocator> &) { return value(); }
00116 static const uint64_t static_value1 = 0x78f876cadd0a50a2ULL;
00117 static const uint64_t static_value2 = 0x27e671e96dc7e09bULL;
00118 };
00119
00120 template<class ContainerAllocator>
00121 struct DataType< ::srs_msgs::SRS_Action_<ContainerAllocator> > {
00122 static const char* value()
00123 {
00124 return "srs_msgs/SRS_Action";
00125 }
00126
00127 static const char* value(const ::srs_msgs::SRS_Action_<ContainerAllocator> &) { return value(); }
00128 };
00129
00130 template<class ContainerAllocator>
00131 struct Definition< ::srs_msgs::SRS_Action_<ContainerAllocator> > {
00132 static const char* value()
00133 {
00134 return "# this message contains information to define a SRS action \n\
00135 \n\
00136 uint32 objectID #targeted object\n\
00137 \n\
00138 string objectName #object name for easy reading\n\
00139 \n\
00140 uint32 actionID #action to be applied\n\
00141 \n\
00142 string actionName #action name for easy reading\n\
00143 \n\
00144 bool component_is_required #a component is required or not\n\
00145 \n\
00146 srs_msgs/Component[] components #components required\n\
00147 \n\
00148 bool symbolic_is_required #a component is required or not\n\
00149 \n\
00150 uint32 symbolicID # ID of the symbolic\n\
00151 \n\
00152 string symbolicName #name of the symbolic\n\
00153 \n\
00154 string description #a short description on the current action set to null if no description\n\
00155 ================================================================================\n\
00156 MSG: srs_msgs/Component\n\
00157 # this message contains information to define a list of required components for an action \n\
00158 uint32 componentID #ID\n\
00159 string componentName #Name\n\
00160 \n\
00161 ";
00162 }
00163
00164 static const char* value(const ::srs_msgs::SRS_Action_<ContainerAllocator> &) { return value(); }
00165 };
00166
00167 }
00168 }
00169
00170 namespace ros
00171 {
00172 namespace serialization
00173 {
00174
00175 template<class ContainerAllocator> struct Serializer< ::srs_msgs::SRS_Action_<ContainerAllocator> >
00176 {
00177 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00178 {
00179 stream.next(m.objectID);
00180 stream.next(m.objectName);
00181 stream.next(m.actionID);
00182 stream.next(m.actionName);
00183 stream.next(m.component_is_required);
00184 stream.next(m.components);
00185 stream.next(m.symbolic_is_required);
00186 stream.next(m.symbolicID);
00187 stream.next(m.symbolicName);
00188 stream.next(m.description);
00189 }
00190
00191 ROS_DECLARE_ALLINONE_SERIALIZER;
00192 };
00193 }
00194 }
00195
00196 namespace ros
00197 {
00198 namespace message_operations
00199 {
00200
00201 template<class ContainerAllocator>
00202 struct Printer< ::srs_msgs::SRS_Action_<ContainerAllocator> >
00203 {
00204 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::srs_msgs::SRS_Action_<ContainerAllocator> & v)
00205 {
00206 s << indent << "objectID: ";
00207 Printer<uint32_t>::stream(s, indent + " ", v.objectID);
00208 s << indent << "objectName: ";
00209 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.objectName);
00210 s << indent << "actionID: ";
00211 Printer<uint32_t>::stream(s, indent + " ", v.actionID);
00212 s << indent << "actionName: ";
00213 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.actionName);
00214 s << indent << "component_is_required: ";
00215 Printer<uint8_t>::stream(s, indent + " ", v.component_is_required);
00216 s << indent << "components[]" << std::endl;
00217 for (size_t i = 0; i < v.components.size(); ++i)
00218 {
00219 s << indent << " components[" << i << "]: ";
00220 s << std::endl;
00221 s << indent;
00222 Printer< ::srs_msgs::Component_<ContainerAllocator> >::stream(s, indent + " ", v.components[i]);
00223 }
00224 s << indent << "symbolic_is_required: ";
00225 Printer<uint8_t>::stream(s, indent + " ", v.symbolic_is_required);
00226 s << indent << "symbolicID: ";
00227 Printer<uint32_t>::stream(s, indent + " ", v.symbolicID);
00228 s << indent << "symbolicName: ";
00229 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.symbolicName);
00230 s << indent << "description: ";
00231 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.description);
00232 }
00233 };
00234
00235
00236 }
00237 }
00238
00239 #endif // SRS_MSGS_MESSAGE_SRS_ACTION_H
00240