00001
00002 #ifndef PR2_MSGS_MESSAGE_GPUSTATUS_H
00003 #define PR2_MSGS_MESSAGE_GPUSTATUS_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 "std_msgs/Header.h"
00018
00019 namespace pr2_msgs
00020 {
00021 template <class ContainerAllocator>
00022 struct GPUStatus_ {
00023 typedef GPUStatus_<ContainerAllocator> Type;
00024
00025 GPUStatus_()
00026 : header()
00027 , product_name()
00028 , pci_device_id()
00029 , pci_location()
00030 , display()
00031 , driver_version()
00032 , temperature(0.0)
00033 , fan_speed(0.0)
00034 , gpu_usage(0.0)
00035 , memory_usage(0.0)
00036 {
00037 }
00038
00039 GPUStatus_(const ContainerAllocator& _alloc)
00040 : header(_alloc)
00041 , product_name(_alloc)
00042 , pci_device_id(_alloc)
00043 , pci_location(_alloc)
00044 , display(_alloc)
00045 , driver_version(_alloc)
00046 , temperature(0.0)
00047 , fan_speed(0.0)
00048 , gpu_usage(0.0)
00049 , memory_usage(0.0)
00050 {
00051 }
00052
00053 typedef ::std_msgs::Header_<ContainerAllocator> _header_type;
00054 ::std_msgs::Header_<ContainerAllocator> header;
00055
00056 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _product_name_type;
00057 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > product_name;
00058
00059 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _pci_device_id_type;
00060 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > pci_device_id;
00061
00062 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _pci_location_type;
00063 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > pci_location;
00064
00065 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _display_type;
00066 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > display;
00067
00068 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _driver_version_type;
00069 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > driver_version;
00070
00071 typedef float _temperature_type;
00072 float temperature;
00073
00074 typedef float _fan_speed_type;
00075 float fan_speed;
00076
00077 typedef float _gpu_usage_type;
00078 float gpu_usage;
00079
00080 typedef float _memory_usage_type;
00081 float memory_usage;
00082
00083
00084 typedef boost::shared_ptr< ::pr2_msgs::GPUStatus_<ContainerAllocator> > Ptr;
00085 typedef boost::shared_ptr< ::pr2_msgs::GPUStatus_<ContainerAllocator> const> ConstPtr;
00086 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00087 };
00088 typedef ::pr2_msgs::GPUStatus_<std::allocator<void> > GPUStatus;
00089
00090 typedef boost::shared_ptr< ::pr2_msgs::GPUStatus> GPUStatusPtr;
00091 typedef boost::shared_ptr< ::pr2_msgs::GPUStatus const> GPUStatusConstPtr;
00092
00093
00094 template<typename ContainerAllocator>
00095 std::ostream& operator<<(std::ostream& s, const ::pr2_msgs::GPUStatus_<ContainerAllocator> & v)
00096 {
00097 ros::message_operations::Printer< ::pr2_msgs::GPUStatus_<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< ::pr2_msgs::GPUStatus_<ContainerAllocator> > : public TrueType {};
00107 template<class ContainerAllocator> struct IsMessage< ::pr2_msgs::GPUStatus_<ContainerAllocator> const> : public TrueType {};
00108 template<class ContainerAllocator>
00109 struct MD5Sum< ::pr2_msgs::GPUStatus_<ContainerAllocator> > {
00110 static const char* value()
00111 {
00112 return "4c74e5474b8aade04e56108262099c6e";
00113 }
00114
00115 static const char* value(const ::pr2_msgs::GPUStatus_<ContainerAllocator> &) { return value(); }
00116 static const uint64_t static_value1 = 0x4c74e5474b8aade0ULL;
00117 static const uint64_t static_value2 = 0x4e56108262099c6eULL;
00118 };
00119
00120 template<class ContainerAllocator>
00121 struct DataType< ::pr2_msgs::GPUStatus_<ContainerAllocator> > {
00122 static const char* value()
00123 {
00124 return "pr2_msgs/GPUStatus";
00125 }
00126
00127 static const char* value(const ::pr2_msgs::GPUStatus_<ContainerAllocator> &) { return value(); }
00128 };
00129
00130 template<class ContainerAllocator>
00131 struct Definition< ::pr2_msgs::GPUStatus_<ContainerAllocator> > {
00132 static const char* value()
00133 {
00134 return "Header header\n\
00135 string product_name\n\
00136 string pci_device_id\n\
00137 string pci_location\n\
00138 string display\n\
00139 string driver_version\n\
00140 float32 temperature # Temperature in Celcius\n\
00141 float32 fan_speed # Fan speed in rad/s\n\
00142 float32 gpu_usage # Usage in percent\n\
00143 float32 memory_usage # Usage in percent\n\
00144 ================================================================================\n\
00145 MSG: std_msgs/Header\n\
00146 # Standard metadata for higher-level stamped data types.\n\
00147 # This is generally used to communicate timestamped data \n\
00148 # in a particular coordinate frame.\n\
00149 # \n\
00150 # sequence ID: consecutively increasing ID \n\
00151 uint32 seq\n\
00152 #Two-integer timestamp that is expressed as:\n\
00153 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00154 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00155 # time-handling sugar is provided by the client library\n\
00156 time stamp\n\
00157 #Frame this data is associated with\n\
00158 # 0: no frame\n\
00159 # 1: global frame\n\
00160 string frame_id\n\
00161 \n\
00162 ";
00163 }
00164
00165 static const char* value(const ::pr2_msgs::GPUStatus_<ContainerAllocator> &) { return value(); }
00166 };
00167
00168 template<class ContainerAllocator> struct HasHeader< ::pr2_msgs::GPUStatus_<ContainerAllocator> > : public TrueType {};
00169 template<class ContainerAllocator> struct HasHeader< const ::pr2_msgs::GPUStatus_<ContainerAllocator> > : public TrueType {};
00170 }
00171 }
00172
00173 namespace ros
00174 {
00175 namespace serialization
00176 {
00177
00178 template<class ContainerAllocator> struct Serializer< ::pr2_msgs::GPUStatus_<ContainerAllocator> >
00179 {
00180 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00181 {
00182 stream.next(m.header);
00183 stream.next(m.product_name);
00184 stream.next(m.pci_device_id);
00185 stream.next(m.pci_location);
00186 stream.next(m.display);
00187 stream.next(m.driver_version);
00188 stream.next(m.temperature);
00189 stream.next(m.fan_speed);
00190 stream.next(m.gpu_usage);
00191 stream.next(m.memory_usage);
00192 }
00193
00194 ROS_DECLARE_ALLINONE_SERIALIZER;
00195 };
00196 }
00197 }
00198
00199 namespace ros
00200 {
00201 namespace message_operations
00202 {
00203
00204 template<class ContainerAllocator>
00205 struct Printer< ::pr2_msgs::GPUStatus_<ContainerAllocator> >
00206 {
00207 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::pr2_msgs::GPUStatus_<ContainerAllocator> & v)
00208 {
00209 s << indent << "header: ";
00210 s << std::endl;
00211 Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + " ", v.header);
00212 s << indent << "product_name: ";
00213 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.product_name);
00214 s << indent << "pci_device_id: ";
00215 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.pci_device_id);
00216 s << indent << "pci_location: ";
00217 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.pci_location);
00218 s << indent << "display: ";
00219 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.display);
00220 s << indent << "driver_version: ";
00221 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.driver_version);
00222 s << indent << "temperature: ";
00223 Printer<float>::stream(s, indent + " ", v.temperature);
00224 s << indent << "fan_speed: ";
00225 Printer<float>::stream(s, indent + " ", v.fan_speed);
00226 s << indent << "gpu_usage: ";
00227 Printer<float>::stream(s, indent + " ", v.gpu_usage);
00228 s << indent << "memory_usage: ";
00229 Printer<float>::stream(s, indent + " ", v.memory_usage);
00230 }
00231 };
00232
00233
00234 }
00235 }
00236
00237 #endif // PR2_MSGS_MESSAGE_GPUSTATUS_H
00238