30 #ifndef ELECTRONEUM_MESSAGES_MAP_H
31 #define ELECTRONEUM_MESSAGES_MAP_H
34 #include <type_traits>
40 #include <google/protobuf/stubs/common.h>
41 #include <google/protobuf/generated_message_util.h>
42 #include <google/protobuf/repeated_field.h>
43 #include <google/protobuf/extension_set.h>
44 #include <google/protobuf/generated_enum_reflection.h>
45 #include "google/protobuf/descriptor.pb.h"
47 #include "messages/messages.pb.h"
58 static ::google::protobuf::Message *
get_message(
int wire_number);
59 static ::google::protobuf::Message *
get_message(messages::MessageType);
60 static ::google::protobuf::Message *
get_message(
const std::string & msg_name);
65 template<
class t_message=google::protobuf::Message>
67 BOOST_STATIC_ASSERT(boost::is_base_of<google::protobuf::Message, t_message>::value);
72 template<
class t_message=google::protobuf::Message>
74 BOOST_STATIC_ASSERT(boost::is_base_of<google::protobuf::Message, t_message>::value);
79 return std::dynamic_pointer_cast<t_message>(in);
82 template<
class t_message=google::protobuf::Message>
84 BOOST_STATIC_ASSERT(boost::is_base_of<google::protobuf::Message, t_message>::value);
89 return std::static_pointer_cast<t_message>(in);
Definition: messages_map.hpp:52
static messages::MessageType get_message_wire_number()
Definition: messages_map.hpp:66
MessageMapper()
Definition: messages_map.hpp:54
::google::protobuf::Message * get_message(int wire_number)
Definition: messages_map.cpp:58
const char * name
Definition: simplewallet.cpp:400
std::shared_ptr< t_message > message_ptr_retype(std::shared_ptr< google::protobuf::Message > &in)
Definition: messages_map.hpp:73
std::shared_ptr< t_message > message_ptr_retype_static(std::shared_ptr< google::protobuf::Message > &in)
Definition: messages_map.hpp:83
Definition: device.cpp:38