00001
00002 #ifndef APPLANIX_MSGS_MESSAGE_LOGGINGCONTROL_H
00003 #define APPLANIX_MSGS_MESSAGE_LOGGINGCONTROL_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 "applanix_msgs/OutputGroup.h"
00018
00019 namespace applanix_msgs
00020 {
00021 template <class ContainerAllocator>
00022 struct LoggingControl_ {
00023 typedef LoggingControl_<ContainerAllocator> Type;
00024
00025 LoggingControl_()
00026 : transaction(0)
00027 , groups_count(0)
00028 , groups()
00029 , rate(0)
00030 , autolog(0)
00031 , disk_logging(0)
00032 , filename_kernel()
00033 , reserved()
00034 {
00035 filename_kernel.assign(0);
00036 reserved.assign(0);
00037 }
00038
00039 LoggingControl_(const ContainerAllocator& _alloc)
00040 : transaction(0)
00041 , groups_count(0)
00042 , groups(_alloc)
00043 , rate(0)
00044 , autolog(0)
00045 , disk_logging(0)
00046 , filename_kernel()
00047 , reserved()
00048 {
00049 filename_kernel.assign(0);
00050 reserved.assign(0);
00051 }
00052
00053 typedef uint16_t _transaction_type;
00054 uint16_t transaction;
00055
00056 typedef uint16_t _groups_count_type;
00057 uint16_t groups_count;
00058
00059 typedef std::vector< ::applanix_msgs::OutputGroup_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::applanix_msgs::OutputGroup_<ContainerAllocator> >::other > _groups_type;
00060 std::vector< ::applanix_msgs::OutputGroup_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::applanix_msgs::OutputGroup_<ContainerAllocator> >::other > groups;
00061
00062 typedef uint16_t _rate_type;
00063 uint16_t rate;
00064
00065 typedef uint8_t _autolog_type;
00066 uint8_t autolog;
00067
00068 typedef uint8_t _disk_logging_type;
00069 uint8_t disk_logging;
00070
00071 typedef boost::array<uint8_t, 32> _filename_kernel_type;
00072 boost::array<uint8_t, 32> filename_kernel;
00073
00074 typedef boost::array<uint8_t, 32> _reserved_type;
00075 boost::array<uint8_t, 32> reserved;
00076
00077 enum { AUTOLOG_DISABLED = 0 };
00078 enum { AUTOLOG_ENABLED = 1 };
00079 enum { DISK_LOGGING_STOP = 0 };
00080 enum { DISK_LOGGING_START = 1 };
00081
00082 typedef boost::shared_ptr< ::applanix_msgs::LoggingControl_<ContainerAllocator> > Ptr;
00083 typedef boost::shared_ptr< ::applanix_msgs::LoggingControl_<ContainerAllocator> const> ConstPtr;
00084 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00085 };
00086 typedef ::applanix_msgs::LoggingControl_<std::allocator<void> > LoggingControl;
00087
00088 typedef boost::shared_ptr< ::applanix_msgs::LoggingControl> LoggingControlPtr;
00089 typedef boost::shared_ptr< ::applanix_msgs::LoggingControl const> LoggingControlConstPtr;
00090
00091
00092 template<typename ContainerAllocator>
00093 std::ostream& operator<<(std::ostream& s, const ::applanix_msgs::LoggingControl_<ContainerAllocator> & v)
00094 {
00095 ros::message_operations::Printer< ::applanix_msgs::LoggingControl_<ContainerAllocator> >::stream(s, "", v);
00096 return s;}
00097
00098 }
00099
00100 namespace ros
00101 {
00102 namespace message_traits
00103 {
00104 template<class ContainerAllocator> struct IsMessage< ::applanix_msgs::LoggingControl_<ContainerAllocator> > : public TrueType {};
00105 template<class ContainerAllocator> struct IsMessage< ::applanix_msgs::LoggingControl_<ContainerAllocator> const> : public TrueType {};
00106 template<class ContainerAllocator>
00107 struct MD5Sum< ::applanix_msgs::LoggingControl_<ContainerAllocator> > {
00108 static const char* value()
00109 {
00110 return "c039312796bd7205fe681c6df276e3af";
00111 }
00112
00113 static const char* value(const ::applanix_msgs::LoggingControl_<ContainerAllocator> &) { return value(); }
00114 static const uint64_t static_value1 = 0xc039312796bd7205ULL;
00115 static const uint64_t static_value2 = 0xfe681c6df276e3afULL;
00116 };
00117
00118 template<class ContainerAllocator>
00119 struct DataType< ::applanix_msgs::LoggingControl_<ContainerAllocator> > {
00120 static const char* value()
00121 {
00122 return "applanix_msgs/LoggingControl";
00123 }
00124
00125 static const char* value(const ::applanix_msgs::LoggingControl_<ContainerAllocator> &) { return value(); }
00126 };
00127
00128 template<class ContainerAllocator>
00129 struct Definition< ::applanix_msgs::LoggingControl_<ContainerAllocator> > {
00130 static const char* value()
00131 {
00132 return "# Msg 51, 52, 61\n\
00133 uint16 transaction\n\
00134 \n\
00135 uint16 groups_count\n\
00136 OutputGroup[] groups\n\
00137 \n\
00138 # 1, 2, 10, 20, 25, 50, 100, 200\n\
00139 uint16 rate\n\
00140 \n\
00141 uint8 AUTOLOG_DISABLED=0\n\
00142 uint8 AUTOLOG_ENABLED=1\n\
00143 uint8 autolog\n\
00144 \n\
00145 uint8 DISK_LOGGING_STOP=0\n\
00146 uint8 DISK_LOGGING_START=1\n\
00147 uint8 disk_logging\n\
00148 \n\
00149 uint8[32] filename_kernel\n\
00150 uint8[32] reserved\n\
00151 \n\
00152 ================================================================================\n\
00153 MSG: applanix_msgs/OutputGroup\n\
00154 uint16 group\n\
00155 \n\
00156 ";
00157 }
00158
00159 static const char* value(const ::applanix_msgs::LoggingControl_<ContainerAllocator> &) { return value(); }
00160 };
00161
00162 }
00163 }
00164
00165 namespace ros
00166 {
00167 namespace serialization
00168 {
00169
00170 template<class ContainerAllocator> struct Serializer< ::applanix_msgs::LoggingControl_<ContainerAllocator> >
00171 {
00172 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00173 {
00174 stream.next(m.transaction);
00175 stream.next(m.groups_count);
00176 stream.next(m.groups);
00177 stream.next(m.rate);
00178 stream.next(m.autolog);
00179 stream.next(m.disk_logging);
00180 stream.next(m.filename_kernel);
00181 stream.next(m.reserved);
00182 }
00183
00184 ROS_DECLARE_ALLINONE_SERIALIZER;
00185 };
00186 }
00187 }
00188
00189 namespace ros
00190 {
00191 namespace message_operations
00192 {
00193
00194 template<class ContainerAllocator>
00195 struct Printer< ::applanix_msgs::LoggingControl_<ContainerAllocator> >
00196 {
00197 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::applanix_msgs::LoggingControl_<ContainerAllocator> & v)
00198 {
00199 s << indent << "transaction: ";
00200 Printer<uint16_t>::stream(s, indent + " ", v.transaction);
00201 s << indent << "groups_count: ";
00202 Printer<uint16_t>::stream(s, indent + " ", v.groups_count);
00203 s << indent << "groups[]" << std::endl;
00204 for (size_t i = 0; i < v.groups.size(); ++i)
00205 {
00206 s << indent << " groups[" << i << "]: ";
00207 s << std::endl;
00208 s << indent;
00209 Printer< ::applanix_msgs::OutputGroup_<ContainerAllocator> >::stream(s, indent + " ", v.groups[i]);
00210 }
00211 s << indent << "rate: ";
00212 Printer<uint16_t>::stream(s, indent + " ", v.rate);
00213 s << indent << "autolog: ";
00214 Printer<uint8_t>::stream(s, indent + " ", v.autolog);
00215 s << indent << "disk_logging: ";
00216 Printer<uint8_t>::stream(s, indent + " ", v.disk_logging);
00217 s << indent << "filename_kernel[]" << std::endl;
00218 for (size_t i = 0; i < v.filename_kernel.size(); ++i)
00219 {
00220 s << indent << " filename_kernel[" << i << "]: ";
00221 Printer<uint8_t>::stream(s, indent + " ", v.filename_kernel[i]);
00222 }
00223 s << indent << "reserved[]" << std::endl;
00224 for (size_t i = 0; i < v.reserved.size(); ++i)
00225 {
00226 s << indent << " reserved[" << i << "]: ";
00227 Printer<uint8_t>::stream(s, indent + " ", v.reserved[i]);
00228 }
00229 }
00230 };
00231
00232
00233 }
00234 }
00235
00236 #endif // APPLANIX_MSGS_MESSAGE_LOGGINGCONTROL_H
00237