// Generated by gencpp from file rosapi/Subscribers.msg
// DO NOT EDIT!


#ifndef ROSAPI_MESSAGE_SUBSCRIBERS_H
#define ROSAPI_MESSAGE_SUBSCRIBERS_H

#include <ros/service_traits.h>


#include <rosapi/SubscribersRequest.h>
#include <rosapi/SubscribersResponse.h>


namespace rosapi
{

struct Subscribers
{

typedef SubscribersRequest Request;
typedef SubscribersResponse Response;
Request request;
Response response;

typedef Request RequestType;
typedef Response ResponseType;

}; // struct Subscribers
} // namespace rosapi


namespace ros
{
namespace service_traits
{


template<>
struct MD5Sum< ::rosapi::Subscribers > {
  static const char* value()
  {
    return "cb387b68f5b29bc1456398ee8476b973";
  }

  static const char* value(const ::rosapi::Subscribers&) { return value(); }
};

template<>
struct DataType< ::rosapi::Subscribers > {
  static const char* value()
  {
    return "rosapi/Subscribers";
  }

  static const char* value(const ::rosapi::Subscribers&) { return value(); }
};


// service_traits::MD5Sum< ::rosapi::SubscribersRequest> should match 
// service_traits::MD5Sum< ::rosapi::Subscribers > 
template<>
struct MD5Sum< ::rosapi::SubscribersRequest>
{
  static const char* value()
  {
    return MD5Sum< ::rosapi::Subscribers >::value();
  }
  static const char* value(const ::rosapi::SubscribersRequest&)
  {
    return value();
  }
};

// service_traits::DataType< ::rosapi::SubscribersRequest> should match 
// service_traits::DataType< ::rosapi::Subscribers > 
template<>
struct DataType< ::rosapi::SubscribersRequest>
{
  static const char* value()
  {
    return DataType< ::rosapi::Subscribers >::value();
  }
  static const char* value(const ::rosapi::SubscribersRequest&)
  {
    return value();
  }
};

// service_traits::MD5Sum< ::rosapi::SubscribersResponse> should match 
// service_traits::MD5Sum< ::rosapi::Subscribers > 
template<>
struct MD5Sum< ::rosapi::SubscribersResponse>
{
  static const char* value()
  {
    return MD5Sum< ::rosapi::Subscribers >::value();
  }
  static const char* value(const ::rosapi::SubscribersResponse&)
  {
    return value();
  }
};

// service_traits::DataType< ::rosapi::SubscribersResponse> should match 
// service_traits::DataType< ::rosapi::Subscribers > 
template<>
struct DataType< ::rosapi::SubscribersResponse>
{
  static const char* value()
  {
    return DataType< ::rosapi::Subscribers >::value();
  }
  static const char* value(const ::rosapi::SubscribersResponse&)
  {
    return value();
  }
};

} // namespace service_traits
} // namespace ros

#endif // ROSAPI_MESSAGE_SUBSCRIBERS_H
