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);
94 #endif //ELECTRONEUM_MESSAGES_MAP_H Definition: messages_map.hpp:52
std::shared_ptr< t_message > message_ptr_retype(std::shared_ptr< google::protobuf::Message > &in)
Definition: messages_map.hpp:73
::google::protobuf::Message * get_message(int wire_number)
Definition: messages_map.cpp:58
Definition: device.cpp:38
std::shared_ptr< t_message > message_ptr_retype_static(std::shared_ptr< google::protobuf::Message > &in)
Definition: messages_map.hpp:83
MessageMapper()
Definition: messages_map.hpp:54
const char * name
Definition: simplewallet.cpp:400
static messages::MessageType get_message_wire_number()
Definition: messages_map.hpp:66