Преглед на файлове

修改消息基本结构, 解决解析报错问题

zx преди 4 години
родител
ревизия
a739084d84

+ 1 - 1
communication/communication_message.cpp

@@ -55,7 +55,7 @@ bool Communication_message::is_over_time()
 }
 
 
-void Communication_message::reset(message::Base_msg& base_msg, std::string receive_string)
+void Communication_message::reset(const message::Base_info& base_msg, std::string receive_string)
 {
 	m_message_type = (Message_type)(base_msg.msg_type());
 

+ 1 - 1
communication/communication_message.h

@@ -55,7 +55,7 @@ public:
 public://API functions
 	bool is_over_time();
 public://get or set member variable
-	void reset(message::Base_msg& base_msg, std::string receive_string);
+	void reset(const message::Base_info& base_info, std::string receive_string);
 
 	Message_type get_message_type();
 	Communicator get_sender();

+ 36 - 25
communication/communication_socket_base.cpp

@@ -231,39 +231,48 @@ Error_manager Communication_socket_base::communication_uninit()
 
 //mp_receive_data_thread 接受线程执行函数,
 //receive_data_thread 内部线程负责接受消息
-void Communication_socket_base::receive_data_thread()
+void Communication_socket_base::receive_data_thread(Communication_socket_base* communicator)
 {
-	LOG(INFO) << " Communication_socket_base::receive_data_thread start "<< this;
+	LOG(INFO) << " Communication_socket_base::receive_data_thread start "<< communicator;
 
 	//通信接受线程, 负责接受socket消息, 并存入 m_receive_data_list
-	while (m_receive_condition.is_alive())
+	while (communicator->m_receive_condition.is_alive())
 	{
-		m_receive_condition.wait();
-		if ( m_receive_condition.is_alive() )
+        communicator->m_receive_condition.wait();
+		if ( communicator->m_receive_condition.is_alive() )
 		{
 			std::this_thread::yield();
 
-			std::unique_lock<std::mutex> lk(m_mutex);
+			std::unique_lock<std::mutex> lk(communicator->m_mutex);
 			//flags为1, 非阻塞接受消息, 如果接收到消息, 那么接受数据长度大于0
-			std::string t_receive_string = m_socket.recv<std::string>(1);
-			if ( t_receive_string.size()>0 )
+			std::string t_receive_string = communicator->m_socket.recv<std::string>(1);
+			if ( t_receive_string.length()>0 )
 			{
 				//如果这里接受到了消息, 在这提前解析消息最前面的Base_msg (消息公共内容), 用于后续的check
+				std::cout<<"  recieve  length "<<t_receive_string.length()<<std::endl;
 				message::Base_msg t_base_msg;
 				if( t_base_msg.ParseFromString(t_receive_string) )
 				{
+				    std::cout<<"   TYPE ====   "<<t_base_msg.base_info().msg_type()<<std::endl;
+
+				    message::Measure_response_msg response;
+				    if(response.ParseFromString(t_receive_string))
+				        std::cout<<response.DebugString()<<std::endl;
+                    else
+                        std::cout<<"   response EROR************************"<<std::endl;
+
 					//第一次解析之后转化为, Communication_message, 自定义的通信消息格式
 					Communication_message  * tp_communication_message = new Communication_message;
-					tp_communication_message->reset(t_base_msg, t_receive_string);
+					tp_communication_message->reset(t_base_msg.base_info(), t_receive_string);
 					//检查消息是否有效, 主要检查消息类型和接受者, 判断这条消息是不是给我的.
-					if ( check_msg(tp_communication_message) == SUCCESS )
+					if ( communicator->check_msg(tp_communication_message) == SUCCESS )
 					{
-						bool is_push = m_receive_data_list.push(tp_communication_message);
+						bool is_push = communicator->m_receive_data_list.push(tp_communication_message);
 						//push成功之后, tp_communication_message内存的管理权限交给链表, 如果失败就要回收内存
 						if ( is_push )
 						{
 							//唤醒解析线程一次,
-							m_analysis_data_condition.notify_all(false, true);
+                            communicator->m_analysis_data_condition.notify_all(false, true);
 						}
 						else
 						{
@@ -288,7 +297,7 @@ void Communication_socket_base::receive_data_thread()
 		}
 	}
 
-	LOG(INFO) << " Communication_socket_base::receive_data_thread end "<< this;
+	LOG(INFO) << " Communication_socket_base::receive_data_thread end "<< communicator;
 	return;
 }
 
@@ -464,15 +473,15 @@ Error_manager Communication_socket_base::execute_msg(Communication_message*  p_m
 
 //mp_send_data_thread 发送线程执行函数,
 //send_data_thread 内部线程负责发送消息
-void Communication_socket_base::send_data_thread()
+void Communication_socket_base::send_data_thread(Communication_socket_base* communicator)
 {
-	LOG(INFO) << " Communication_socket_base::send_data_thread start "<< this;
+	LOG(INFO) << " Communication_socket_base::send_data_thread start "<< communicator;
 
 	//通信发送线程, 负责巡检m_send_data_list, 并发送消息
-	while (m_send_data_condition.is_alive())
+	while (communicator->m_send_data_condition.is_alive())
 	{
-		m_send_data_condition.wait();
-		if ( m_send_data_condition.is_alive() )
+        communicator->m_send_data_condition.wait();
+		if ( communicator->m_send_data_condition.is_alive() )
 		{
 			std::this_thread::yield();
 
@@ -480,13 +489,13 @@ void Communication_socket_base::send_data_thread()
 			//这里 wait_and_pop 会使用链表内部的 m_data_cond 条件变量来控制等待,
 			//封装线程使用push的时候, 会唤醒线程并通过等待, 此时 m_send_data_condition 是一直通过的.
 			//如果需要退出, 那么就要 m_send_data_list.termination_list();	和 m_send_data_condition.kill_all();
-			bool is_pop = m_send_data_list.wait_and_pop(tp_msg);
+			bool is_pop = communicator->m_send_data_list.wait_and_pop(tp_msg);
 			if ( is_pop )
 			{
 				if ( tp_msg != NULL )
 				{
-					std::unique_lock<std::mutex> lk(m_mutex);
-					int send_size = m_socket.send(tp_msg->get_message_buf());
+					std::unique_lock<std::mutex> lk(communicator->m_mutex);
+					int send_size = communicator->m_socket.send(tp_msg->get_message_buf());
 
 					delete(tp_msg);
 					tp_msg = NULL;
@@ -501,7 +510,7 @@ void Communication_socket_base::send_data_thread()
 		}
 	}
 
-	LOG(INFO) << " Communication_socket_base::send_data_thread end "<< this;
+	LOG(INFO) << " Communication_socket_base::send_data_thread end "<< communicator;
 	return;
 }
 
@@ -543,8 +552,8 @@ Error_manager Communication_socket_base::encapsulate_send_data()
 //	static unsigned int t_heartbeat = 0;
 //	sprintf(buf, "Communication_socket_base, heartbeat = %d\0\0\0, test\0", t_heartbeat);
 //	t_heartbeat++;
-
-	message::Base_msg t_base_msg;
+    return SUCCESS;
+	message::Base_info t_base_msg;
 	t_base_msg.set_msg_type(message::Message_type::eBase_msg);
 	t_base_msg.set_timeout_ms(5000);
 	t_base_msg.set_sender(message::Communicator::eMain);
@@ -582,9 +591,11 @@ Error_manager Communication_socket_base::encapsulate_msg(std::string message)
 //封装消息, 需要子类重载
 Error_manager Communication_socket_base::encapsulate_msg(Communication_message* p_msg)
 {
-	Communication_message* tp_msg = new Communication_message(p_msg->get_message_buf());
+	Communication_message* tp_msg = new Communication_message(*p_msg);
 
 	bool is_push = m_send_data_list.push(tp_msg);
+
+
 	if ( is_push == false )
 	{
 		delete(tp_msg);

+ 2 - 2
communication/communication_socket_base.h

@@ -79,7 +79,7 @@ public://get or set member variable
 protected:
 	//mp_receive_data_thread 接受线程执行函数,
 	//receive_data_thread 内部线程负责接受消息
-	void receive_data_thread();
+	static void receive_data_thread(Communication_socket_base* communicator);
 
 	//检查消息是否可以被解析, 需要子类重载
 	virtual Error_manager check_msg(Communication_message* p_msg);
@@ -99,7 +99,7 @@ protected:
 
 	//mp_send_data_thread 发送线程执行函数,
 	//send_data_thread 内部线程负责发送消息
-	void send_data_thread();
+	static void send_data_thread(Communication_socket_base* communicator);
 
 	//mp_encapsulate_data_thread 封装线程执行函数,
 	//encapsulate_data_thread 内部线程负责封装消息

+ 5 - 5
lidar_locate/Locate_communicator.cpp

@@ -39,17 +39,17 @@ Error_manager Locate_communicator::locate_request(message::Measure_request_msg&
     /*
      * 检查request合法性,以及模块状态
      */
-    if(request.msg_base().sender()!=message::eMain||request.msg_base().receiver()!=message::eMeasurer)
+    if(request.base_info().sender()!=message::eMain||request.base_info().receiver()!=message::eMeasurer)
         return Error_manager(LOCATER_MSG_REQUEST_INVALID,MINOR_ERROR,"measure request invalid");
 
     //设置超时,若没有设置,默认3000
-    int timeout=request.msg_base().has_timeout_ms()?request.msg_base().timeout_ms():3000;
+    int timeout=request.base_info().has_timeout_ms()?request.base_info().timeout_ms():3000;
     //向测量节点发送测量请求,并记录请求
 
     Error_manager code;
     Communication_message message;
 
-    message::Base_msg base_msg;
+    message::Base_info base_msg;
     base_msg.set_msg_type(message::eLocate_request_msg);
     base_msg.set_sender(message::eMain);
     base_msg.set_receiver(message::eMeasurer);
@@ -66,9 +66,9 @@ Error_manager Locate_communicator::locate_request(message::Measure_request_msg&
         //在请求表中查询结果
         message::Measure_response_msg response=m_response_table[request.command_id()];
         //判断是否接收到回应,若回应信息被赋值则证明有回应
-        if(response.has_msg_base() && response.has_command_id())
+        if(response.has_base_info() && response.has_command_id())
         {
-            message::Base_msg response_base=response.msg_base();
+            message::Base_info response_base=response.base_info();
             //检查类型是否匹配
             if(response_base.msg_type() != message::eLocate_response_msg)
             {

+ 75 - 75
message/hardware_message.pb.cc

@@ -120,7 +120,7 @@ void InitDefaultsExecute_request_msgImpl() {
 #else
   ::google::protobuf::internal::InitProtobufDefaults();
 #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  protobuf_message_5fbase_2eproto::InitDefaultsBase_msg();
+  protobuf_message_5fbase_2eproto::InitDefaultsBase_info();
   protobuf_message_5fbase_2eproto::InitDefaultsLocate_information();
   {
     void* ptr = &::message::_Execute_request_msg_default_instance_;
@@ -143,7 +143,7 @@ void InitDefaultsExecute_response_msgImpl() {
 #else
   ::google::protobuf::internal::InitProtobufDefaults();
 #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  protobuf_message_5fbase_2eproto::InitDefaultsBase_msg();
+  protobuf_message_5fbase_2eproto::InitDefaultsBase_info();
   {
     void* ptr = &::message::_Execute_response_msg_default_instance_;
     new (ptr) ::message::Execute_response_msg();
@@ -205,7 +205,7 @@ const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUT
   ~0u,  // no _extensions_
   ~0u,  // no _oneof_case_
   ~0u,  // no _weak_field_map_
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Execute_request_msg, msg_base_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Execute_request_msg, msg_info_),
   GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Execute_request_msg, command_id_),
   GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Execute_request_msg, action_type_),
   GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Execute_request_msg, from_id_),
@@ -222,7 +222,7 @@ const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUT
   ~0u,  // no _extensions_
   ~0u,  // no _oneof_case_
   ~0u,  // no _weak_field_map_
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Execute_response_msg, msg_base_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Execute_response_msg, msg_info_),
   GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Execute_response_msg, command_id_),
   GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Execute_response_msg, error_code_),
   GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Execute_response_msg, error_description_),
@@ -280,21 +280,21 @@ void AddDescriptorsImpl() {
       "/\n\016carrier1_statu\030\002 \002(\0132\027.message.Carrie"
       "r_status\022/\n\016carrier2_statu\030\003 \002(\0132\027.messa"
       "ge.Carrier_status\022/\n\016carrier3_statu\030\004 \002("
-      "\0132\027.message.Carrier_status\"\330\001\n\023Execute_r"
-      "equest_msg\022#\n\010msg_base\030\001 \002(\0132\021.message.B"
-      "ase_msg\022\022\n\ncommand_id\030\002 \002(\005\022)\n\013action_ty"
-      "pe\030\003 \002(\0162\024.message.Action_type\022\017\n\007from_i"
-      "d\030\004 \002(\005\022\023\n\013destination\030\005 \002(\005\0227\n\022locate_i"
-      "nformation\030\006 \002(\0132\033.message.Locate_inform"
-      "ation\"~\n\024Execute_response_msg\022#\n\010msg_bas"
-      "e\030\001 \002(\0132\021.message.Base_msg\022\022\n\ncommand_id"
-      "\030\002 \002(\005\022\022\n\nerror_code\030\003 \002(\005\022\031\n\021error_desc"
-      "ription\030\004 \001(\t*\?\n\016Hardware_statu\022\013\n\007eNorm"
-      "al\020\000\022\t\n\005eBusy\020\001\022\t\n\005eMiss\020\002\022\n\n\006eError\020\003*#"
-      "\n\013Action_type\022\t\n\005ePark\020\000\022\t\n\005ePick\020\001"
+      "\0132\027.message.Carrier_status\"\331\001\n\023Execute_r"
+      "equest_msg\022$\n\010msg_info\030\001 \002(\0132\022.message.B"
+      "ase_info\022\022\n\ncommand_id\030\002 \002(\005\022)\n\013action_t"
+      "ype\030\003 \002(\0162\024.message.Action_type\022\017\n\007from_"
+      "id\030\004 \002(\005\022\023\n\013destination\030\005 \002(\005\0227\n\022locate_"
+      "information\030\006 \002(\0132\033.message.Locate_infor"
+      "mation\"\177\n\024Execute_response_msg\022$\n\010msg_in"
+      "fo\030\001 \002(\0132\022.message.Base_info\022\022\n\ncommand_"
+      "id\030\002 \002(\005\022\022\n\nerror_code\030\003 \002(\005\022\031\n\021error_de"
+      "scription\030\004 \001(\t*\?\n\016Hardware_statu\022\013\n\007eNo"
+      "rmal\020\000\022\t\n\005eBusy\020\001\022\t\n\005eMiss\020\002\022\n\n\006eError\020\003"
+      "*#\n\013Action_type\022\t\n\005ePark\020\000\022\t\n\005ePick\020\001"
   };
   ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
-      descriptor, 915);
+      descriptor, 917);
   ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
     "hardware_message.proto", &protobuf_RegisterTypes);
   ::protobuf_message_5fbase_2eproto::AddDescriptors();
@@ -1603,21 +1603,21 @@ void Harware_statu_msg::InternalSwap(Harware_statu_msg* other) {
 // ===================================================================
 
 void Execute_request_msg::InitAsDefaultInstance() {
-  ::message::_Execute_request_msg_default_instance_._instance.get_mutable()->msg_base_ = const_cast< ::message::Base_msg*>(
-      ::message::Base_msg::internal_default_instance());
+  ::message::_Execute_request_msg_default_instance_._instance.get_mutable()->msg_info_ = const_cast< ::message::Base_info*>(
+      ::message::Base_info::internal_default_instance());
   ::message::_Execute_request_msg_default_instance_._instance.get_mutable()->locate_information_ = const_cast< ::message::Locate_information*>(
       ::message::Locate_information::internal_default_instance());
 }
-void Execute_request_msg::clear_msg_base() {
-  if (msg_base_ != NULL) msg_base_->Clear();
-  clear_has_msg_base();
+void Execute_request_msg::clear_msg_info() {
+  if (msg_info_ != NULL) msg_info_->Clear();
+  clear_has_msg_info();
 }
 void Execute_request_msg::clear_locate_information() {
   if (locate_information_ != NULL) locate_information_->Clear();
   clear_has_locate_information();
 }
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
-const int Execute_request_msg::kMsgBaseFieldNumber;
+const int Execute_request_msg::kMsgInfoFieldNumber;
 const int Execute_request_msg::kCommandIdFieldNumber;
 const int Execute_request_msg::kActionTypeFieldNumber;
 const int Execute_request_msg::kFromIdFieldNumber;
@@ -1639,10 +1639,10 @@ Execute_request_msg::Execute_request_msg(const Execute_request_msg& from)
       _has_bits_(from._has_bits_),
       _cached_size_(0) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
-  if (from.has_msg_base()) {
-    msg_base_ = new ::message::Base_msg(*from.msg_base_);
+  if (from.has_msg_info()) {
+    msg_info_ = new ::message::Base_info(*from.msg_info_);
   } else {
-    msg_base_ = NULL;
+    msg_info_ = NULL;
   }
   if (from.has_locate_information()) {
     locate_information_ = new ::message::Locate_information(*from.locate_information_);
@@ -1657,9 +1657,9 @@ Execute_request_msg::Execute_request_msg(const Execute_request_msg& from)
 
 void Execute_request_msg::SharedCtor() {
   _cached_size_ = 0;
-  ::memset(&msg_base_, 0, static_cast<size_t>(
+  ::memset(&msg_info_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&destination_) -
-      reinterpret_cast<char*>(&msg_base_)) + sizeof(destination_));
+      reinterpret_cast<char*>(&msg_info_)) + sizeof(destination_));
 }
 
 Execute_request_msg::~Execute_request_msg() {
@@ -1668,7 +1668,7 @@ Execute_request_msg::~Execute_request_msg() {
 }
 
 void Execute_request_msg::SharedDtor() {
-  if (this != internal_default_instance()) delete msg_base_;
+  if (this != internal_default_instance()) delete msg_info_;
   if (this != internal_default_instance()) delete locate_information_;
 }
 
@@ -1704,8 +1704,8 @@ void Execute_request_msg::Clear() {
   cached_has_bits = _has_bits_[0];
   if (cached_has_bits & 3u) {
     if (cached_has_bits & 0x00000001u) {
-      GOOGLE_DCHECK(msg_base_ != NULL);
-      msg_base_->Clear();
+      GOOGLE_DCHECK(msg_info_ != NULL);
+      msg_info_->Clear();
     }
     if (cached_has_bits & 0x00000002u) {
       GOOGLE_DCHECK(locate_information_ != NULL);
@@ -1731,12 +1731,12 @@ bool Execute_request_msg::MergePartialFromCodedStream(
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required .message.Base_msg msg_base = 1;
+      // required .message.Base_info msg_info = 1;
       case 1: {
         if (static_cast< ::google::protobuf::uint8>(tag) ==
             static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
-               input, mutable_msg_base()));
+               input, mutable_msg_info()));
         } else {
           goto handle_unusual;
         }
@@ -1844,10 +1844,10 @@ void Execute_request_msg::SerializeWithCachedSizes(
   (void) cached_has_bits;
 
   cached_has_bits = _has_bits_[0];
-  // required .message.Base_msg msg_base = 1;
+  // required .message.Base_info msg_info = 1;
   if (cached_has_bits & 0x00000001u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, *this->msg_base_, output);
+      1, *this->msg_info_, output);
   }
 
   // required int32 command_id = 2;
@@ -1892,11 +1892,11 @@ void Execute_request_msg::SerializeWithCachedSizes(
   (void) cached_has_bits;
 
   cached_has_bits = _has_bits_[0];
-  // required .message.Base_msg msg_base = 1;
+  // required .message.Base_info msg_info = 1;
   if (cached_has_bits & 0x00000001u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        1, *this->msg_base_, deterministic, target);
+        1, *this->msg_info_, deterministic, target);
   }
 
   // required int32 command_id = 2;
@@ -1939,11 +1939,11 @@ size_t Execute_request_msg::RequiredFieldsByteSizeFallback() const {
 // @@protoc_insertion_point(required_fields_byte_size_fallback_start:message.Execute_request_msg)
   size_t total_size = 0;
 
-  if (has_msg_base()) {
-    // required .message.Base_msg msg_base = 1;
+  if (has_msg_info()) {
+    // required .message.Base_info msg_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->msg_base_);
+        *this->msg_info_);
   }
 
   if (has_locate_information()) {
@@ -1992,10 +1992,10 @@ size_t Execute_request_msg::ByteSizeLong() const {
         _internal_metadata_.unknown_fields());
   }
   if (((_has_bits_[0] & 0x0000003f) ^ 0x0000003f) == 0) {  // All required fields are present.
-    // required .message.Base_msg msg_base = 1;
+    // required .message.Base_info msg_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->msg_base_);
+        *this->msg_info_);
 
     // required .message.Locate_information locate_information = 6;
     total_size += 1 +
@@ -2056,7 +2056,7 @@ void Execute_request_msg::MergeFrom(const Execute_request_msg& from) {
   cached_has_bits = from._has_bits_[0];
   if (cached_has_bits & 63u) {
     if (cached_has_bits & 0x00000001u) {
-      mutable_msg_base()->::message::Base_msg::MergeFrom(from.msg_base());
+      mutable_msg_info()->::message::Base_info::MergeFrom(from.msg_info());
     }
     if (cached_has_bits & 0x00000002u) {
       mutable_locate_information()->::message::Locate_information::MergeFrom(from.locate_information());
@@ -2093,8 +2093,8 @@ void Execute_request_msg::CopyFrom(const Execute_request_msg& from) {
 
 bool Execute_request_msg::IsInitialized() const {
   if ((_has_bits_[0] & 0x0000003f) != 0x0000003f) return false;
-  if (has_msg_base()) {
-    if (!this->msg_base_->IsInitialized()) return false;
+  if (has_msg_info()) {
+    if (!this->msg_info_->IsInitialized()) return false;
   }
   return true;
 }
@@ -2105,7 +2105,7 @@ void Execute_request_msg::Swap(Execute_request_msg* other) {
 }
 void Execute_request_msg::InternalSwap(Execute_request_msg* other) {
   using std::swap;
-  swap(msg_base_, other->msg_base_);
+  swap(msg_info_, other->msg_info_);
   swap(locate_information_, other->locate_information_);
   swap(command_id_, other->command_id_);
   swap(action_type_, other->action_type_);
@@ -2125,15 +2125,15 @@ void Execute_request_msg::InternalSwap(Execute_request_msg* other) {
 // ===================================================================
 
 void Execute_response_msg::InitAsDefaultInstance() {
-  ::message::_Execute_response_msg_default_instance_._instance.get_mutable()->msg_base_ = const_cast< ::message::Base_msg*>(
-      ::message::Base_msg::internal_default_instance());
+  ::message::_Execute_response_msg_default_instance_._instance.get_mutable()->msg_info_ = const_cast< ::message::Base_info*>(
+      ::message::Base_info::internal_default_instance());
 }
-void Execute_response_msg::clear_msg_base() {
-  if (msg_base_ != NULL) msg_base_->Clear();
-  clear_has_msg_base();
+void Execute_response_msg::clear_msg_info() {
+  if (msg_info_ != NULL) msg_info_->Clear();
+  clear_has_msg_info();
 }
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
-const int Execute_response_msg::kMsgBaseFieldNumber;
+const int Execute_response_msg::kMsgInfoFieldNumber;
 const int Execute_response_msg::kCommandIdFieldNumber;
 const int Execute_response_msg::kErrorCodeFieldNumber;
 const int Execute_response_msg::kErrorDescriptionFieldNumber;
@@ -2157,10 +2157,10 @@ Execute_response_msg::Execute_response_msg(const Execute_response_msg& from)
   if (from.has_error_description()) {
     error_description_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.error_description_);
   }
-  if (from.has_msg_base()) {
-    msg_base_ = new ::message::Base_msg(*from.msg_base_);
+  if (from.has_msg_info()) {
+    msg_info_ = new ::message::Base_info(*from.msg_info_);
   } else {
-    msg_base_ = NULL;
+    msg_info_ = NULL;
   }
   ::memcpy(&command_id_, &from.command_id_,
     static_cast<size_t>(reinterpret_cast<char*>(&error_code_) -
@@ -2171,9 +2171,9 @@ Execute_response_msg::Execute_response_msg(const Execute_response_msg& from)
 void Execute_response_msg::SharedCtor() {
   _cached_size_ = 0;
   error_description_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  ::memset(&msg_base_, 0, static_cast<size_t>(
+  ::memset(&msg_info_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&error_code_) -
-      reinterpret_cast<char*>(&msg_base_)) + sizeof(error_code_));
+      reinterpret_cast<char*>(&msg_info_)) + sizeof(error_code_));
 }
 
 Execute_response_msg::~Execute_response_msg() {
@@ -2183,7 +2183,7 @@ Execute_response_msg::~Execute_response_msg() {
 
 void Execute_response_msg::SharedDtor() {
   error_description_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (this != internal_default_instance()) delete msg_base_;
+  if (this != internal_default_instance()) delete msg_info_;
 }
 
 void Execute_response_msg::SetCachedSize(int size) const {
@@ -2222,8 +2222,8 @@ void Execute_response_msg::Clear() {
       (*error_description_.UnsafeRawStringPointer())->clear();
     }
     if (cached_has_bits & 0x00000002u) {
-      GOOGLE_DCHECK(msg_base_ != NULL);
-      msg_base_->Clear();
+      GOOGLE_DCHECK(msg_info_ != NULL);
+      msg_info_->Clear();
     }
   }
   if (cached_has_bits & 12u) {
@@ -2245,12 +2245,12 @@ bool Execute_response_msg::MergePartialFromCodedStream(
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required .message.Base_msg msg_base = 1;
+      // required .message.Base_info msg_info = 1;
       case 1: {
         if (static_cast< ::google::protobuf::uint8>(tag) ==
             static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
-               input, mutable_msg_base()));
+               input, mutable_msg_info()));
         } else {
           goto handle_unusual;
         }
@@ -2328,10 +2328,10 @@ void Execute_response_msg::SerializeWithCachedSizes(
   (void) cached_has_bits;
 
   cached_has_bits = _has_bits_[0];
-  // required .message.Base_msg msg_base = 1;
+  // required .message.Base_info msg_info = 1;
   if (cached_has_bits & 0x00000002u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, *this->msg_base_, output);
+      1, *this->msg_info_, output);
   }
 
   // required int32 command_id = 2;
@@ -2369,11 +2369,11 @@ void Execute_response_msg::SerializeWithCachedSizes(
   (void) cached_has_bits;
 
   cached_has_bits = _has_bits_[0];
-  // required .message.Base_msg msg_base = 1;
+  // required .message.Base_info msg_info = 1;
   if (cached_has_bits & 0x00000002u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        1, *this->msg_base_, deterministic, target);
+        1, *this->msg_info_, deterministic, target);
   }
 
   // required int32 command_id = 2;
@@ -2409,11 +2409,11 @@ size_t Execute_response_msg::RequiredFieldsByteSizeFallback() const {
 // @@protoc_insertion_point(required_fields_byte_size_fallback_start:message.Execute_response_msg)
   size_t total_size = 0;
 
-  if (has_msg_base()) {
-    // required .message.Base_msg msg_base = 1;
+  if (has_msg_info()) {
+    // required .message.Base_info msg_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->msg_base_);
+        *this->msg_info_);
   }
 
   if (has_command_id()) {
@@ -2442,10 +2442,10 @@ size_t Execute_response_msg::ByteSizeLong() const {
         _internal_metadata_.unknown_fields());
   }
   if (((_has_bits_[0] & 0x0000000e) ^ 0x0000000e) == 0) {  // All required fields are present.
-    // required .message.Base_msg msg_base = 1;
+    // required .message.Base_info msg_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->msg_base_);
+        *this->msg_info_);
 
     // required int32 command_id = 2;
     total_size += 1 +
@@ -2503,7 +2503,7 @@ void Execute_response_msg::MergeFrom(const Execute_response_msg& from) {
       error_description_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.error_description_);
     }
     if (cached_has_bits & 0x00000002u) {
-      mutable_msg_base()->::message::Base_msg::MergeFrom(from.msg_base());
+      mutable_msg_info()->::message::Base_info::MergeFrom(from.msg_info());
     }
     if (cached_has_bits & 0x00000004u) {
       command_id_ = from.command_id_;
@@ -2531,8 +2531,8 @@ void Execute_response_msg::CopyFrom(const Execute_response_msg& from) {
 
 bool Execute_response_msg::IsInitialized() const {
   if ((_has_bits_[0] & 0x0000000e) != 0x0000000e) return false;
-  if (has_msg_base()) {
-    if (!this->msg_base_->IsInitialized()) return false;
+  if (has_msg_info()) {
+    if (!this->msg_info_->IsInitialized()) return false;
   }
   return true;
 }
@@ -2544,7 +2544,7 @@ void Execute_response_msg::Swap(Execute_response_msg* other) {
 void Execute_response_msg::InternalSwap(Execute_response_msg* other) {
   using std::swap;
   error_description_.Swap(&other->error_description_);
-  swap(msg_base_, other->msg_base_);
+  swap(msg_info_, other->msg_info_);
   swap(command_id_, other->command_id_);
   swap(error_code_, other->error_code_);
   swap(_has_bits_[0], other->_has_bits_[0]);

+ 82 - 82
message/hardware_message.pb.h

@@ -657,14 +657,14 @@ class Execute_request_msg : public ::google::protobuf::Message /* @@protoc_inser
 
   // accessors -------------------------------------------------------
 
-  // required .message.Base_msg msg_base = 1;
-  bool has_msg_base() const;
-  void clear_msg_base();
-  static const int kMsgBaseFieldNumber = 1;
-  const ::message::Base_msg& msg_base() const;
-  ::message::Base_msg* release_msg_base();
-  ::message::Base_msg* mutable_msg_base();
-  void set_allocated_msg_base(::message::Base_msg* msg_base);
+  // required .message.Base_info msg_info = 1;
+  bool has_msg_info() const;
+  void clear_msg_info();
+  static const int kMsgInfoFieldNumber = 1;
+  const ::message::Base_info& msg_info() const;
+  ::message::Base_info* release_msg_info();
+  ::message::Base_info* mutable_msg_info();
+  void set_allocated_msg_info(::message::Base_info* msg_info);
 
   // required .message.Locate_information locate_information = 6;
   bool has_locate_information() const;
@@ -705,8 +705,8 @@ class Execute_request_msg : public ::google::protobuf::Message /* @@protoc_inser
 
   // @@protoc_insertion_point(class_scope:message.Execute_request_msg)
  private:
-  void set_has_msg_base();
-  void clear_has_msg_base();
+  void set_has_msg_info();
+  void clear_has_msg_info();
   void set_has_command_id();
   void clear_has_command_id();
   void set_has_action_type();
@@ -724,7 +724,7 @@ class Execute_request_msg : public ::google::protobuf::Message /* @@protoc_inser
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
   mutable int _cached_size_;
-  ::message::Base_msg* msg_base_;
+  ::message::Base_info* msg_info_;
   ::message::Locate_information* locate_information_;
   ::google::protobuf::int32 command_id_;
   int action_type_;
@@ -839,14 +839,14 @@ class Execute_response_msg : public ::google::protobuf::Message /* @@protoc_inse
   ::std::string* release_error_description();
   void set_allocated_error_description(::std::string* error_description);
 
-  // required .message.Base_msg msg_base = 1;
-  bool has_msg_base() const;
-  void clear_msg_base();
-  static const int kMsgBaseFieldNumber = 1;
-  const ::message::Base_msg& msg_base() const;
-  ::message::Base_msg* release_msg_base();
-  ::message::Base_msg* mutable_msg_base();
-  void set_allocated_msg_base(::message::Base_msg* msg_base);
+  // required .message.Base_info msg_info = 1;
+  bool has_msg_info() const;
+  void clear_msg_info();
+  static const int kMsgInfoFieldNumber = 1;
+  const ::message::Base_info& msg_info() const;
+  ::message::Base_info* release_msg_info();
+  ::message::Base_info* mutable_msg_info();
+  void set_allocated_msg_info(::message::Base_info* msg_info);
 
   // required int32 command_id = 2;
   bool has_command_id() const;
@@ -864,8 +864,8 @@ class Execute_response_msg : public ::google::protobuf::Message /* @@protoc_inse
 
   // @@protoc_insertion_point(class_scope:message.Execute_response_msg)
  private:
-  void set_has_msg_base();
-  void clear_has_msg_base();
+  void set_has_msg_info();
+  void clear_has_msg_info();
   void set_has_command_id();
   void clear_has_command_id();
   void set_has_error_code();
@@ -880,7 +880,7 @@ class Execute_response_msg : public ::google::protobuf::Message /* @@protoc_inse
   ::google::protobuf::internal::HasBits<1> _has_bits_;
   mutable int _cached_size_;
   ::google::protobuf::internal::ArenaStringPtr error_description_;
-  ::message::Base_msg* msg_base_;
+  ::message::Base_info* msg_info_;
   ::google::protobuf::int32 command_id_;
   ::google::protobuf::int32 error_code_;
   friend struct ::protobuf_hardware_5fmessage_2eproto::TableStruct;
@@ -1358,54 +1358,54 @@ inline void Harware_statu_msg::set_allocated_carrier3_statu(::message::Carrier_s
 
 // Execute_request_msg
 
-// required .message.Base_msg msg_base = 1;
-inline bool Execute_request_msg::has_msg_base() const {
+// required .message.Base_info msg_info = 1;
+inline bool Execute_request_msg::has_msg_info() const {
   return (_has_bits_[0] & 0x00000001u) != 0;
 }
-inline void Execute_request_msg::set_has_msg_base() {
+inline void Execute_request_msg::set_has_msg_info() {
   _has_bits_[0] |= 0x00000001u;
 }
-inline void Execute_request_msg::clear_has_msg_base() {
+inline void Execute_request_msg::clear_has_msg_info() {
   _has_bits_[0] &= ~0x00000001u;
 }
-inline const ::message::Base_msg& Execute_request_msg::msg_base() const {
-  const ::message::Base_msg* p = msg_base_;
-  // @@protoc_insertion_point(field_get:message.Execute_request_msg.msg_base)
-  return p != NULL ? *p : *reinterpret_cast<const ::message::Base_msg*>(
-      &::message::_Base_msg_default_instance_);
-}
-inline ::message::Base_msg* Execute_request_msg::release_msg_base() {
-  // @@protoc_insertion_point(field_release:message.Execute_request_msg.msg_base)
-  clear_has_msg_base();
-  ::message::Base_msg* temp = msg_base_;
-  msg_base_ = NULL;
+inline const ::message::Base_info& Execute_request_msg::msg_info() const {
+  const ::message::Base_info* p = msg_info_;
+  // @@protoc_insertion_point(field_get:message.Execute_request_msg.msg_info)
+  return p != NULL ? *p : *reinterpret_cast<const ::message::Base_info*>(
+      &::message::_Base_info_default_instance_);
+}
+inline ::message::Base_info* Execute_request_msg::release_msg_info() {
+  // @@protoc_insertion_point(field_release:message.Execute_request_msg.msg_info)
+  clear_has_msg_info();
+  ::message::Base_info* temp = msg_info_;
+  msg_info_ = NULL;
   return temp;
 }
-inline ::message::Base_msg* Execute_request_msg::mutable_msg_base() {
-  set_has_msg_base();
-  if (msg_base_ == NULL) {
-    msg_base_ = new ::message::Base_msg;
+inline ::message::Base_info* Execute_request_msg::mutable_msg_info() {
+  set_has_msg_info();
+  if (msg_info_ == NULL) {
+    msg_info_ = new ::message::Base_info;
   }
-  // @@protoc_insertion_point(field_mutable:message.Execute_request_msg.msg_base)
-  return msg_base_;
+  // @@protoc_insertion_point(field_mutable:message.Execute_request_msg.msg_info)
+  return msg_info_;
 }
-inline void Execute_request_msg::set_allocated_msg_base(::message::Base_msg* msg_base) {
+inline void Execute_request_msg::set_allocated_msg_info(::message::Base_info* msg_info) {
   ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
   if (message_arena == NULL) {
-    delete reinterpret_cast< ::google::protobuf::MessageLite*>(msg_base_);
+    delete reinterpret_cast< ::google::protobuf::MessageLite*>(msg_info_);
   }
-  if (msg_base) {
+  if (msg_info) {
     ::google::protobuf::Arena* submessage_arena = NULL;
     if (message_arena != submessage_arena) {
-      msg_base = ::google::protobuf::internal::GetOwnedMessage(
-          message_arena, msg_base, submessage_arena);
+      msg_info = ::google::protobuf::internal::GetOwnedMessage(
+          message_arena, msg_info, submessage_arena);
     }
-    set_has_msg_base();
+    set_has_msg_info();
   } else {
-    clear_has_msg_base();
+    clear_has_msg_info();
   }
-  msg_base_ = msg_base;
-  // @@protoc_insertion_point(field_set_allocated:message.Execute_request_msg.msg_base)
+  msg_info_ = msg_info;
+  // @@protoc_insertion_point(field_set_allocated:message.Execute_request_msg.msg_info)
 }
 
 // required int32 command_id = 2;
@@ -1559,54 +1559,54 @@ inline void Execute_request_msg::set_allocated_locate_information(::message::Loc
 
 // Execute_response_msg
 
-// required .message.Base_msg msg_base = 1;
-inline bool Execute_response_msg::has_msg_base() const {
+// required .message.Base_info msg_info = 1;
+inline bool Execute_response_msg::has_msg_info() const {
   return (_has_bits_[0] & 0x00000002u) != 0;
 }
-inline void Execute_response_msg::set_has_msg_base() {
+inline void Execute_response_msg::set_has_msg_info() {
   _has_bits_[0] |= 0x00000002u;
 }
-inline void Execute_response_msg::clear_has_msg_base() {
+inline void Execute_response_msg::clear_has_msg_info() {
   _has_bits_[0] &= ~0x00000002u;
 }
-inline const ::message::Base_msg& Execute_response_msg::msg_base() const {
-  const ::message::Base_msg* p = msg_base_;
-  // @@protoc_insertion_point(field_get:message.Execute_response_msg.msg_base)
-  return p != NULL ? *p : *reinterpret_cast<const ::message::Base_msg*>(
-      &::message::_Base_msg_default_instance_);
-}
-inline ::message::Base_msg* Execute_response_msg::release_msg_base() {
-  // @@protoc_insertion_point(field_release:message.Execute_response_msg.msg_base)
-  clear_has_msg_base();
-  ::message::Base_msg* temp = msg_base_;
-  msg_base_ = NULL;
+inline const ::message::Base_info& Execute_response_msg::msg_info() const {
+  const ::message::Base_info* p = msg_info_;
+  // @@protoc_insertion_point(field_get:message.Execute_response_msg.msg_info)
+  return p != NULL ? *p : *reinterpret_cast<const ::message::Base_info*>(
+      &::message::_Base_info_default_instance_);
+}
+inline ::message::Base_info* Execute_response_msg::release_msg_info() {
+  // @@protoc_insertion_point(field_release:message.Execute_response_msg.msg_info)
+  clear_has_msg_info();
+  ::message::Base_info* temp = msg_info_;
+  msg_info_ = NULL;
   return temp;
 }
-inline ::message::Base_msg* Execute_response_msg::mutable_msg_base() {
-  set_has_msg_base();
-  if (msg_base_ == NULL) {
-    msg_base_ = new ::message::Base_msg;
+inline ::message::Base_info* Execute_response_msg::mutable_msg_info() {
+  set_has_msg_info();
+  if (msg_info_ == NULL) {
+    msg_info_ = new ::message::Base_info;
   }
-  // @@protoc_insertion_point(field_mutable:message.Execute_response_msg.msg_base)
-  return msg_base_;
+  // @@protoc_insertion_point(field_mutable:message.Execute_response_msg.msg_info)
+  return msg_info_;
 }
-inline void Execute_response_msg::set_allocated_msg_base(::message::Base_msg* msg_base) {
+inline void Execute_response_msg::set_allocated_msg_info(::message::Base_info* msg_info) {
   ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
   if (message_arena == NULL) {
-    delete reinterpret_cast< ::google::protobuf::MessageLite*>(msg_base_);
+    delete reinterpret_cast< ::google::protobuf::MessageLite*>(msg_info_);
   }
-  if (msg_base) {
+  if (msg_info) {
     ::google::protobuf::Arena* submessage_arena = NULL;
     if (message_arena != submessage_arena) {
-      msg_base = ::google::protobuf::internal::GetOwnedMessage(
-          message_arena, msg_base, submessage_arena);
+      msg_info = ::google::protobuf::internal::GetOwnedMessage(
+          message_arena, msg_info, submessage_arena);
     }
-    set_has_msg_base();
+    set_has_msg_info();
   } else {
-    clear_has_msg_base();
+    clear_has_msg_info();
   }
-  msg_base_ = msg_base;
-  // @@protoc_insertion_point(field_set_allocated:message.Execute_response_msg.msg_base)
+  msg_info_ = msg_info;
+  // @@protoc_insertion_point(field_set_allocated:message.Execute_response_msg.msg_info)
 }
 
 // required int32 command_id = 2;

+ 2 - 2
message/hardware_message.proto

@@ -48,7 +48,7 @@ enum Action_type
 //执行搬运请求
 message Execute_request_msg
 {
-    required Base_msg                   msg_base=1;         //消息类型                         //消息类型
+    required Base_info                   msg_info=1;         //消息类型                         //消息类型
     required int32                      command_id=2;                   //指令唯一标识符id
     required Action_type                action_type=3;
     required int32                      from_id=4;
@@ -59,7 +59,7 @@ message Execute_request_msg
 //搬运动作执行完成后反馈结果
 message Execute_response_msg
 {
-    required Base_msg                   msg_base=1;                     //消息类型
+    required Base_info                   msg_info=1;                    //消息类型
     required int32                      command_id=2;                   //指令唯一标识符id
     required int32                      error_code=3;
     optional string                     error_description=4;

+ 122 - 122
message/measure_message.pb.cc

@@ -45,7 +45,7 @@ void InitDefaultsMeasure_status_msgImpl() {
 #else
   ::google::protobuf::internal::InitProtobufDefaults();
 #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  protobuf_message_5fbase_2eproto::InitDefaultsBase_msg();
+  protobuf_message_5fbase_2eproto::InitDefaultsBase_info();
   protobuf_message_5fbase_2eproto::InitDefaultsLocate_information();
   protobuf_message_5fbase_2eproto::InitDefaultsError_manager();
   {
@@ -69,7 +69,7 @@ void InitDefaultsMeasure_request_msgImpl() {
 #else
   ::google::protobuf::internal::InitProtobufDefaults();
 #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  protobuf_message_5fbase_2eproto::InitDefaultsBase_msg();
+  protobuf_message_5fbase_2eproto::InitDefaultsBase_info();
   {
     void* ptr = &::message::_Measure_request_msg_default_instance_;
     new (ptr) ::message::Measure_request_msg();
@@ -91,7 +91,7 @@ void InitDefaultsMeasure_response_msgImpl() {
 #else
   ::google::protobuf::internal::InitProtobufDefaults();
 #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  protobuf_message_5fbase_2eproto::InitDefaultsBase_msg();
+  protobuf_message_5fbase_2eproto::InitDefaultsBase_info();
   protobuf_message_5fbase_2eproto::InitDefaultsLocate_information();
   protobuf_message_5fbase_2eproto::InitDefaultsError_manager();
   {
@@ -116,7 +116,7 @@ const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUT
   ~0u,  // no _extensions_
   ~0u,  // no _oneof_case_
   ~0u,  // no _weak_field_map_
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_status_msg, msg_type_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_status_msg, base_info_),
   GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_status_msg, laser_manager_status_),
   GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_status_msg, laser_statu_vector_),
   GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_status_msg, locate_manager_status_),
@@ -133,7 +133,7 @@ const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUT
   ~0u,  // no _extensions_
   ~0u,  // no _oneof_case_
   ~0u,  // no _weak_field_map_
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_request_msg, msg_base_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_request_msg, base_info_),
   GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_request_msg, command_id_),
   GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_request_msg, terminal_id_),
   0,
@@ -144,7 +144,7 @@ const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUT
   ~0u,  // no _extensions_
   ~0u,  // no _oneof_case_
   ~0u,  // no _weak_field_map_
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_response_msg, msg_base_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_response_msg, base_info_),
   GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_response_msg, command_id_),
   GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_response_msg, terminal_id_),
   GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Measure_response_msg, locate_information_),
@@ -190,37 +190,37 @@ void AddDescriptorsImpl() {
   InitDefaults();
   static const char descriptor[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
       "\n\025measure_message.proto\022\007message\032\022messag"
-      "e_base.proto\"\330\002\n\022Measure_status_msg\022#\n\010m"
-      "sg_type\030\001 \002(\0132\021.message.Base_msg\022;\n\024lase"
-      "r_manager_status\030\002 \002(\0162\035.message.Laser_m"
-      "anager_status\0220\n\022laser_statu_vector\030\003 \003("
-      "\0162\024.message.Laser_statu\022=\n\025locate_manage"
-      "r_status\030\004 \002(\0162\036.message.Locate_manager_"
-      "status\022@\n\033locate_information_realtime\030\005 "
-      "\001(\0132\033.message.Locate_information\022-\n\rerro"
-      "r_manager\030\006 \002(\0132\026.message.Error_manager\""
-      "c\n\023Measure_request_msg\022#\n\010msg_base\030\001 \002(\013"
-      "2\021.message.Base_msg\022\022\n\ncommand_id\030\002 \002(\005\022"
-      "\023\n\013terminal_id\030\003 \002(\005\"\314\001\n\024Measure_respons"
-      "e_msg\022#\n\010msg_base\030\001 \002(\0132\021.message.Base_m"
-      "sg\022\022\n\ncommand_id\030\002 \002(\005\022\023\n\013terminal_id\030\003 "
-      "\002(\005\0227\n\022locate_information\030\004 \001(\0132\033.messag"
-      "e.Locate_information\022-\n\rerror_manager\030\005 "
-      "\002(\0132\026.message.Error_manager*\237\001\n\024Laser_ma"
-      "nager_status\022\030\n\024LASER_MANAGER_UNKNOW\020\000\022\027"
-      "\n\023LASER_MANAGER_READY\020\001\022\035\n\031LASER_MANAGER"
-      "_ISSUED_TASK\020\002\022\034\n\030LASER_MANAGER_WAIT_REP"
-      "LY\020\003\022\027\n\023LASER_MANAGER_FAULT\020\004*U\n\013Laser_s"
-      "tatu\022\024\n\020LASER_DISCONNECT\020\000\022\017\n\013LASER_READ"
-      "Y\020\001\022\016\n\nLASER_BUSY\020\002\022\017\n\013LASER_FAULT\020\003*\261\001\n"
-      "\025Locate_manager_status\022\031\n\025LOCATE_MANAGER"
-      "_UNKNOW\020\000\022\030\n\024LOCATE_MANAGER_READY\020\001\022\027\n\023L"
-      "OCATE_MANAGER_SIFT\020\002\022\026\n\022LOCATE_MANAGER_C"
-      "AR\020\003\022\030\n\024LOCATE_MANAGER_WHEEL\020\004\022\030\n\024LOCATE"
-      "_MANAGER_FAULT\020\005"
+      "e_base.proto\"\332\002\n\022Measure_status_msg\022%\n\tb"
+      "ase_info\030\001 \002(\0132\022.message.Base_info\022;\n\024la"
+      "ser_manager_status\030\002 \002(\0162\035.message.Laser"
+      "_manager_status\0220\n\022laser_statu_vector\030\003 "
+      "\003(\0162\024.message.Laser_statu\022=\n\025locate_mana"
+      "ger_status\030\004 \002(\0162\036.message.Locate_manage"
+      "r_status\022@\n\033locate_information_realtime\030"
+      "\005 \001(\0132\033.message.Locate_information\022-\n\rer"
+      "ror_manager\030\006 \002(\0132\026.message.Error_manage"
+      "r\"e\n\023Measure_request_msg\022%\n\tbase_info\030\001 "
+      "\002(\0132\022.message.Base_info\022\022\n\ncommand_id\030\002 "
+      "\002(\005\022\023\n\013terminal_id\030\003 \002(\005\"\316\001\n\024Measure_res"
+      "ponse_msg\022%\n\tbase_info\030\001 \002(\0132\022.message.B"
+      "ase_info\022\022\n\ncommand_id\030\002 \002(\005\022\023\n\013terminal"
+      "_id\030\003 \002(\005\0227\n\022locate_information\030\004 \001(\0132\033."
+      "message.Locate_information\022-\n\rerror_mana"
+      "ger\030\005 \002(\0132\026.message.Error_manager*\237\001\n\024La"
+      "ser_manager_status\022\030\n\024LASER_MANAGER_UNKN"
+      "OW\020\000\022\027\n\023LASER_MANAGER_READY\020\001\022\035\n\031LASER_M"
+      "ANAGER_ISSUED_TASK\020\002\022\034\n\030LASER_MANAGER_WA"
+      "IT_REPLY\020\003\022\027\n\023LASER_MANAGER_FAULT\020\004*U\n\013L"
+      "aser_statu\022\024\n\020LASER_DISCONNECT\020\000\022\017\n\013LASE"
+      "R_READY\020\001\022\016\n\nLASER_BUSY\020\002\022\017\n\013LASER_FAULT"
+      "\020\003*\261\001\n\025Locate_manager_status\022\031\n\025LOCATE_M"
+      "ANAGER_UNKNOW\020\000\022\030\n\024LOCATE_MANAGER_READY\020"
+      "\001\022\027\n\023LOCATE_MANAGER_SIFT\020\002\022\026\n\022LOCATE_MAN"
+      "AGER_CAR\020\003\022\030\n\024LOCATE_MANAGER_WHEEL\020\004\022\030\n\024"
+      "LOCATE_MANAGER_FAULT\020\005"
   };
   ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
-      descriptor, 1136);
+      descriptor, 1142);
   ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
     "measure_message.proto", &protobuf_RegisterTypes);
   ::protobuf_message_5fbase_2eproto::AddDescriptors();
@@ -293,16 +293,16 @@ bool Locate_manager_status_IsValid(int value) {
 // ===================================================================
 
 void Measure_status_msg::InitAsDefaultInstance() {
-  ::message::_Measure_status_msg_default_instance_._instance.get_mutable()->msg_type_ = const_cast< ::message::Base_msg*>(
-      ::message::Base_msg::internal_default_instance());
+  ::message::_Measure_status_msg_default_instance_._instance.get_mutable()->base_info_ = const_cast< ::message::Base_info*>(
+      ::message::Base_info::internal_default_instance());
   ::message::_Measure_status_msg_default_instance_._instance.get_mutable()->locate_information_realtime_ = const_cast< ::message::Locate_information*>(
       ::message::Locate_information::internal_default_instance());
   ::message::_Measure_status_msg_default_instance_._instance.get_mutable()->error_manager_ = const_cast< ::message::Error_manager*>(
       ::message::Error_manager::internal_default_instance());
 }
-void Measure_status_msg::clear_msg_type() {
-  if (msg_type_ != NULL) msg_type_->Clear();
-  clear_has_msg_type();
+void Measure_status_msg::clear_base_info() {
+  if (base_info_ != NULL) base_info_->Clear();
+  clear_has_base_info();
 }
 void Measure_status_msg::clear_locate_information_realtime() {
   if (locate_information_realtime_ != NULL) locate_information_realtime_->Clear();
@@ -313,7 +313,7 @@ void Measure_status_msg::clear_error_manager() {
   clear_has_error_manager();
 }
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
-const int Measure_status_msg::kMsgTypeFieldNumber;
+const int Measure_status_msg::kBaseInfoFieldNumber;
 const int Measure_status_msg::kLaserManagerStatusFieldNumber;
 const int Measure_status_msg::kLaserStatuVectorFieldNumber;
 const int Measure_status_msg::kLocateManagerStatusFieldNumber;
@@ -336,10 +336,10 @@ Measure_status_msg::Measure_status_msg(const Measure_status_msg& from)
       _cached_size_(0),
       laser_statu_vector_(from.laser_statu_vector_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
-  if (from.has_msg_type()) {
-    msg_type_ = new ::message::Base_msg(*from.msg_type_);
+  if (from.has_base_info()) {
+    base_info_ = new ::message::Base_info(*from.base_info_);
   } else {
-    msg_type_ = NULL;
+    base_info_ = NULL;
   }
   if (from.has_locate_information_realtime()) {
     locate_information_realtime_ = new ::message::Locate_information(*from.locate_information_realtime_);
@@ -359,9 +359,9 @@ Measure_status_msg::Measure_status_msg(const Measure_status_msg& from)
 
 void Measure_status_msg::SharedCtor() {
   _cached_size_ = 0;
-  ::memset(&msg_type_, 0, static_cast<size_t>(
+  ::memset(&base_info_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&locate_manager_status_) -
-      reinterpret_cast<char*>(&msg_type_)) + sizeof(locate_manager_status_));
+      reinterpret_cast<char*>(&base_info_)) + sizeof(locate_manager_status_));
 }
 
 Measure_status_msg::~Measure_status_msg() {
@@ -370,7 +370,7 @@ Measure_status_msg::~Measure_status_msg() {
 }
 
 void Measure_status_msg::SharedDtor() {
-  if (this != internal_default_instance()) delete msg_type_;
+  if (this != internal_default_instance()) delete base_info_;
   if (this != internal_default_instance()) delete locate_information_realtime_;
   if (this != internal_default_instance()) delete error_manager_;
 }
@@ -408,8 +408,8 @@ void Measure_status_msg::Clear() {
   cached_has_bits = _has_bits_[0];
   if (cached_has_bits & 7u) {
     if (cached_has_bits & 0x00000001u) {
-      GOOGLE_DCHECK(msg_type_ != NULL);
-      msg_type_->Clear();
+      GOOGLE_DCHECK(base_info_ != NULL);
+      base_info_->Clear();
     }
     if (cached_has_bits & 0x00000002u) {
       GOOGLE_DCHECK(locate_information_realtime_ != NULL);
@@ -439,12 +439,12 @@ bool Measure_status_msg::MergePartialFromCodedStream(
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required .message.Base_msg msg_type = 1;
+      // required .message.Base_info base_info = 1;
       case 1: {
         if (static_cast< ::google::protobuf::uint8>(tag) ==
             static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
-               input, mutable_msg_type()));
+               input, mutable_base_info()));
         } else {
           goto handle_unusual;
         }
@@ -571,10 +571,10 @@ void Measure_status_msg::SerializeWithCachedSizes(
   (void) cached_has_bits;
 
   cached_has_bits = _has_bits_[0];
-  // required .message.Base_msg msg_type = 1;
+  // required .message.Base_info base_info = 1;
   if (cached_has_bits & 0x00000001u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, *this->msg_type_, output);
+      1, *this->base_info_, output);
   }
 
   // required .message.Laser_manager_status laser_manager_status = 2;
@@ -622,11 +622,11 @@ void Measure_status_msg::SerializeWithCachedSizes(
   (void) cached_has_bits;
 
   cached_has_bits = _has_bits_[0];
-  // required .message.Base_msg msg_type = 1;
+  // required .message.Base_info base_info = 1;
   if (cached_has_bits & 0x00000001u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        1, *this->msg_type_, deterministic, target);
+        1, *this->base_info_, deterministic, target);
   }
 
   // required .message.Laser_manager_status laser_manager_status = 2;
@@ -671,11 +671,11 @@ size_t Measure_status_msg::RequiredFieldsByteSizeFallback() const {
 // @@protoc_insertion_point(required_fields_byte_size_fallback_start:message.Measure_status_msg)
   size_t total_size = 0;
 
-  if (has_msg_type()) {
-    // required .message.Base_msg msg_type = 1;
+  if (has_base_info()) {
+    // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->msg_type_);
+        *this->base_info_);
   }
 
   if (has_error_manager()) {
@@ -709,10 +709,10 @@ size_t Measure_status_msg::ByteSizeLong() const {
         _internal_metadata_.unknown_fields());
   }
   if (((_has_bits_[0] & 0x0000001d) ^ 0x0000001d) == 0) {  // All required fields are present.
-    // required .message.Base_msg msg_type = 1;
+    // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->msg_type_);
+        *this->base_info_);
 
     // required .message.Error_manager error_manager = 6;
     total_size += 1 +
@@ -780,7 +780,7 @@ void Measure_status_msg::MergeFrom(const Measure_status_msg& from) {
   cached_has_bits = from._has_bits_[0];
   if (cached_has_bits & 31u) {
     if (cached_has_bits & 0x00000001u) {
-      mutable_msg_type()->::message::Base_msg::MergeFrom(from.msg_type());
+      mutable_base_info()->::message::Base_info::MergeFrom(from.base_info());
     }
     if (cached_has_bits & 0x00000002u) {
       mutable_locate_information_realtime()->::message::Locate_information::MergeFrom(from.locate_information_realtime());
@@ -814,8 +814,8 @@ void Measure_status_msg::CopyFrom(const Measure_status_msg& from) {
 
 bool Measure_status_msg::IsInitialized() const {
   if ((_has_bits_[0] & 0x0000001d) != 0x0000001d) return false;
-  if (has_msg_type()) {
-    if (!this->msg_type_->IsInitialized()) return false;
+  if (has_base_info()) {
+    if (!this->base_info_->IsInitialized()) return false;
   }
   if (has_error_manager()) {
     if (!this->error_manager_->IsInitialized()) return false;
@@ -830,7 +830,7 @@ void Measure_status_msg::Swap(Measure_status_msg* other) {
 void Measure_status_msg::InternalSwap(Measure_status_msg* other) {
   using std::swap;
   laser_statu_vector_.InternalSwap(&other->laser_statu_vector_);
-  swap(msg_type_, other->msg_type_);
+  swap(base_info_, other->base_info_);
   swap(locate_information_realtime_, other->locate_information_realtime_);
   swap(error_manager_, other->error_manager_);
   swap(laser_manager_status_, other->laser_manager_status_);
@@ -849,15 +849,15 @@ void Measure_status_msg::InternalSwap(Measure_status_msg* other) {
 // ===================================================================
 
 void Measure_request_msg::InitAsDefaultInstance() {
-  ::message::_Measure_request_msg_default_instance_._instance.get_mutable()->msg_base_ = const_cast< ::message::Base_msg*>(
-      ::message::Base_msg::internal_default_instance());
+  ::message::_Measure_request_msg_default_instance_._instance.get_mutable()->base_info_ = const_cast< ::message::Base_info*>(
+      ::message::Base_info::internal_default_instance());
 }
-void Measure_request_msg::clear_msg_base() {
-  if (msg_base_ != NULL) msg_base_->Clear();
-  clear_has_msg_base();
+void Measure_request_msg::clear_base_info() {
+  if (base_info_ != NULL) base_info_->Clear();
+  clear_has_base_info();
 }
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
-const int Measure_request_msg::kMsgBaseFieldNumber;
+const int Measure_request_msg::kBaseInfoFieldNumber;
 const int Measure_request_msg::kCommandIdFieldNumber;
 const int Measure_request_msg::kTerminalIdFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
@@ -876,10 +876,10 @@ Measure_request_msg::Measure_request_msg(const Measure_request_msg& from)
       _has_bits_(from._has_bits_),
       _cached_size_(0) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
-  if (from.has_msg_base()) {
-    msg_base_ = new ::message::Base_msg(*from.msg_base_);
+  if (from.has_base_info()) {
+    base_info_ = new ::message::Base_info(*from.base_info_);
   } else {
-    msg_base_ = NULL;
+    base_info_ = NULL;
   }
   ::memcpy(&command_id_, &from.command_id_,
     static_cast<size_t>(reinterpret_cast<char*>(&terminal_id_) -
@@ -889,9 +889,9 @@ Measure_request_msg::Measure_request_msg(const Measure_request_msg& from)
 
 void Measure_request_msg::SharedCtor() {
   _cached_size_ = 0;
-  ::memset(&msg_base_, 0, static_cast<size_t>(
+  ::memset(&base_info_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&terminal_id_) -
-      reinterpret_cast<char*>(&msg_base_)) + sizeof(terminal_id_));
+      reinterpret_cast<char*>(&base_info_)) + sizeof(terminal_id_));
 }
 
 Measure_request_msg::~Measure_request_msg() {
@@ -900,7 +900,7 @@ Measure_request_msg::~Measure_request_msg() {
 }
 
 void Measure_request_msg::SharedDtor() {
-  if (this != internal_default_instance()) delete msg_base_;
+  if (this != internal_default_instance()) delete base_info_;
 }
 
 void Measure_request_msg::SetCachedSize(int size) const {
@@ -934,8 +934,8 @@ void Measure_request_msg::Clear() {
 
   cached_has_bits = _has_bits_[0];
   if (cached_has_bits & 0x00000001u) {
-    GOOGLE_DCHECK(msg_base_ != NULL);
-    msg_base_->Clear();
+    GOOGLE_DCHECK(base_info_ != NULL);
+    base_info_->Clear();
   }
   if (cached_has_bits & 6u) {
     ::memset(&command_id_, 0, static_cast<size_t>(
@@ -956,12 +956,12 @@ bool Measure_request_msg::MergePartialFromCodedStream(
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required .message.Base_msg msg_base = 1;
+      // required .message.Base_info base_info = 1;
       case 1: {
         if (static_cast< ::google::protobuf::uint8>(tag) ==
             static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
-               input, mutable_msg_base()));
+               input, mutable_base_info()));
         } else {
           goto handle_unusual;
         }
@@ -1023,10 +1023,10 @@ void Measure_request_msg::SerializeWithCachedSizes(
   (void) cached_has_bits;
 
   cached_has_bits = _has_bits_[0];
-  // required .message.Base_msg msg_base = 1;
+  // required .message.Base_info base_info = 1;
   if (cached_has_bits & 0x00000001u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, *this->msg_base_, output);
+      1, *this->base_info_, output);
   }
 
   // required int32 command_id = 2;
@@ -1054,11 +1054,11 @@ void Measure_request_msg::SerializeWithCachedSizes(
   (void) cached_has_bits;
 
   cached_has_bits = _has_bits_[0];
-  // required .message.Base_msg msg_base = 1;
+  // required .message.Base_info base_info = 1;
   if (cached_has_bits & 0x00000001u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        1, *this->msg_base_, deterministic, target);
+        1, *this->base_info_, deterministic, target);
   }
 
   // required int32 command_id = 2;
@@ -1083,11 +1083,11 @@ size_t Measure_request_msg::RequiredFieldsByteSizeFallback() const {
 // @@protoc_insertion_point(required_fields_byte_size_fallback_start:message.Measure_request_msg)
   size_t total_size = 0;
 
-  if (has_msg_base()) {
-    // required .message.Base_msg msg_base = 1;
+  if (has_base_info()) {
+    // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->msg_base_);
+        *this->base_info_);
   }
 
   if (has_command_id()) {
@@ -1116,10 +1116,10 @@ size_t Measure_request_msg::ByteSizeLong() const {
         _internal_metadata_.unknown_fields());
   }
   if (((_has_bits_[0] & 0x00000007) ^ 0x00000007) == 0) {  // All required fields are present.
-    // required .message.Base_msg msg_base = 1;
+    // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->msg_base_);
+        *this->base_info_);
 
     // required int32 command_id = 2;
     total_size += 1 +
@@ -1166,7 +1166,7 @@ void Measure_request_msg::MergeFrom(const Measure_request_msg& from) {
   cached_has_bits = from._has_bits_[0];
   if (cached_has_bits & 7u) {
     if (cached_has_bits & 0x00000001u) {
-      mutable_msg_base()->::message::Base_msg::MergeFrom(from.msg_base());
+      mutable_base_info()->::message::Base_info::MergeFrom(from.base_info());
     }
     if (cached_has_bits & 0x00000002u) {
       command_id_ = from.command_id_;
@@ -1194,8 +1194,8 @@ void Measure_request_msg::CopyFrom(const Measure_request_msg& from) {
 
 bool Measure_request_msg::IsInitialized() const {
   if ((_has_bits_[0] & 0x00000007) != 0x00000007) return false;
-  if (has_msg_base()) {
-    if (!this->msg_base_->IsInitialized()) return false;
+  if (has_base_info()) {
+    if (!this->base_info_->IsInitialized()) return false;
   }
   return true;
 }
@@ -1206,7 +1206,7 @@ void Measure_request_msg::Swap(Measure_request_msg* other) {
 }
 void Measure_request_msg::InternalSwap(Measure_request_msg* other) {
   using std::swap;
-  swap(msg_base_, other->msg_base_);
+  swap(base_info_, other->base_info_);
   swap(command_id_, other->command_id_);
   swap(terminal_id_, other->terminal_id_);
   swap(_has_bits_[0], other->_has_bits_[0]);
@@ -1223,16 +1223,16 @@ void Measure_request_msg::InternalSwap(Measure_request_msg* other) {
 // ===================================================================
 
 void Measure_response_msg::InitAsDefaultInstance() {
-  ::message::_Measure_response_msg_default_instance_._instance.get_mutable()->msg_base_ = const_cast< ::message::Base_msg*>(
-      ::message::Base_msg::internal_default_instance());
+  ::message::_Measure_response_msg_default_instance_._instance.get_mutable()->base_info_ = const_cast< ::message::Base_info*>(
+      ::message::Base_info::internal_default_instance());
   ::message::_Measure_response_msg_default_instance_._instance.get_mutable()->locate_information_ = const_cast< ::message::Locate_information*>(
       ::message::Locate_information::internal_default_instance());
   ::message::_Measure_response_msg_default_instance_._instance.get_mutable()->error_manager_ = const_cast< ::message::Error_manager*>(
       ::message::Error_manager::internal_default_instance());
 }
-void Measure_response_msg::clear_msg_base() {
-  if (msg_base_ != NULL) msg_base_->Clear();
-  clear_has_msg_base();
+void Measure_response_msg::clear_base_info() {
+  if (base_info_ != NULL) base_info_->Clear();
+  clear_has_base_info();
 }
 void Measure_response_msg::clear_locate_information() {
   if (locate_information_ != NULL) locate_information_->Clear();
@@ -1243,7 +1243,7 @@ void Measure_response_msg::clear_error_manager() {
   clear_has_error_manager();
 }
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
-const int Measure_response_msg::kMsgBaseFieldNumber;
+const int Measure_response_msg::kBaseInfoFieldNumber;
 const int Measure_response_msg::kCommandIdFieldNumber;
 const int Measure_response_msg::kTerminalIdFieldNumber;
 const int Measure_response_msg::kLocateInformationFieldNumber;
@@ -1264,10 +1264,10 @@ Measure_response_msg::Measure_response_msg(const Measure_response_msg& from)
       _has_bits_(from._has_bits_),
       _cached_size_(0) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
-  if (from.has_msg_base()) {
-    msg_base_ = new ::message::Base_msg(*from.msg_base_);
+  if (from.has_base_info()) {
+    base_info_ = new ::message::Base_info(*from.base_info_);
   } else {
-    msg_base_ = NULL;
+    base_info_ = NULL;
   }
   if (from.has_locate_information()) {
     locate_information_ = new ::message::Locate_information(*from.locate_information_);
@@ -1287,9 +1287,9 @@ Measure_response_msg::Measure_response_msg(const Measure_response_msg& from)
 
 void Measure_response_msg::SharedCtor() {
   _cached_size_ = 0;
-  ::memset(&msg_base_, 0, static_cast<size_t>(
+  ::memset(&base_info_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&terminal_id_) -
-      reinterpret_cast<char*>(&msg_base_)) + sizeof(terminal_id_));
+      reinterpret_cast<char*>(&base_info_)) + sizeof(terminal_id_));
 }
 
 Measure_response_msg::~Measure_response_msg() {
@@ -1298,7 +1298,7 @@ Measure_response_msg::~Measure_response_msg() {
 }
 
 void Measure_response_msg::SharedDtor() {
-  if (this != internal_default_instance()) delete msg_base_;
+  if (this != internal_default_instance()) delete base_info_;
   if (this != internal_default_instance()) delete locate_information_;
   if (this != internal_default_instance()) delete error_manager_;
 }
@@ -1335,8 +1335,8 @@ void Measure_response_msg::Clear() {
   cached_has_bits = _has_bits_[0];
   if (cached_has_bits & 7u) {
     if (cached_has_bits & 0x00000001u) {
-      GOOGLE_DCHECK(msg_base_ != NULL);
-      msg_base_->Clear();
+      GOOGLE_DCHECK(base_info_ != NULL);
+      base_info_->Clear();
     }
     if (cached_has_bits & 0x00000002u) {
       GOOGLE_DCHECK(locate_information_ != NULL);
@@ -1366,12 +1366,12 @@ bool Measure_response_msg::MergePartialFromCodedStream(
     tag = p.first;
     if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required .message.Base_msg msg_base = 1;
+      // required .message.Base_info base_info = 1;
       case 1: {
         if (static_cast< ::google::protobuf::uint8>(tag) ==
             static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
-               input, mutable_msg_base()));
+               input, mutable_base_info()));
         } else {
           goto handle_unusual;
         }
@@ -1457,10 +1457,10 @@ void Measure_response_msg::SerializeWithCachedSizes(
   (void) cached_has_bits;
 
   cached_has_bits = _has_bits_[0];
-  // required .message.Base_msg msg_base = 1;
+  // required .message.Base_info base_info = 1;
   if (cached_has_bits & 0x00000001u) {
     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, *this->msg_base_, output);
+      1, *this->base_info_, output);
   }
 
   // required int32 command_id = 2;
@@ -1500,11 +1500,11 @@ void Measure_response_msg::SerializeWithCachedSizes(
   (void) cached_has_bits;
 
   cached_has_bits = _has_bits_[0];
-  // required .message.Base_msg msg_base = 1;
+  // required .message.Base_info base_info = 1;
   if (cached_has_bits & 0x00000001u) {
     target = ::google::protobuf::internal::WireFormatLite::
       InternalWriteMessageToArray(
-        1, *this->msg_base_, deterministic, target);
+        1, *this->base_info_, deterministic, target);
   }
 
   // required int32 command_id = 2;
@@ -1543,11 +1543,11 @@ size_t Measure_response_msg::RequiredFieldsByteSizeFallback() const {
 // @@protoc_insertion_point(required_fields_byte_size_fallback_start:message.Measure_response_msg)
   size_t total_size = 0;
 
-  if (has_msg_base()) {
-    // required .message.Base_msg msg_base = 1;
+  if (has_base_info()) {
+    // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->msg_base_);
+        *this->base_info_);
   }
 
   if (has_error_manager()) {
@@ -1583,10 +1583,10 @@ size_t Measure_response_msg::ByteSizeLong() const {
         _internal_metadata_.unknown_fields());
   }
   if (((_has_bits_[0] & 0x0000001d) ^ 0x0000001d) == 0) {  // All required fields are present.
-    // required .message.Base_msg msg_base = 1;
+    // required .message.Base_info base_info = 1;
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *this->msg_base_);
+        *this->base_info_);
 
     // required .message.Error_manager error_manager = 5;
     total_size += 1 +
@@ -1645,7 +1645,7 @@ void Measure_response_msg::MergeFrom(const Measure_response_msg& from) {
   cached_has_bits = from._has_bits_[0];
   if (cached_has_bits & 31u) {
     if (cached_has_bits & 0x00000001u) {
-      mutable_msg_base()->::message::Base_msg::MergeFrom(from.msg_base());
+      mutable_base_info()->::message::Base_info::MergeFrom(from.base_info());
     }
     if (cached_has_bits & 0x00000002u) {
       mutable_locate_information()->::message::Locate_information::MergeFrom(from.locate_information());
@@ -1679,8 +1679,8 @@ void Measure_response_msg::CopyFrom(const Measure_response_msg& from) {
 
 bool Measure_response_msg::IsInitialized() const {
   if ((_has_bits_[0] & 0x0000001d) != 0x0000001d) return false;
-  if (has_msg_base()) {
-    if (!this->msg_base_->IsInitialized()) return false;
+  if (has_base_info()) {
+    if (!this->base_info_->IsInitialized()) return false;
   }
   if (has_error_manager()) {
     if (!this->error_manager_->IsInitialized()) return false;
@@ -1694,7 +1694,7 @@ void Measure_response_msg::Swap(Measure_response_msg* other) {
 }
 void Measure_response_msg::InternalSwap(Measure_response_msg* other) {
   using std::swap;
-  swap(msg_base_, other->msg_base_);
+  swap(base_info_, other->base_info_);
   swap(locate_information_, other->locate_information_);
   swap(error_manager_, other->error_manager_);
   swap(command_id_, other->command_id_);

+ 123 - 123
message/measure_message.pb.h

@@ -236,14 +236,14 @@ class Measure_status_msg : public ::google::protobuf::Message /* @@protoc_insert
   const ::google::protobuf::RepeatedField<int>& laser_statu_vector() const;
   ::google::protobuf::RepeatedField<int>* mutable_laser_statu_vector();
 
-  // required .message.Base_msg msg_type = 1;
-  bool has_msg_type() const;
-  void clear_msg_type();
-  static const int kMsgTypeFieldNumber = 1;
-  const ::message::Base_msg& msg_type() const;
-  ::message::Base_msg* release_msg_type();
-  ::message::Base_msg* mutable_msg_type();
-  void set_allocated_msg_type(::message::Base_msg* msg_type);
+  // required .message.Base_info base_info = 1;
+  bool has_base_info() const;
+  void clear_base_info();
+  static const int kBaseInfoFieldNumber = 1;
+  const ::message::Base_info& base_info() const;
+  ::message::Base_info* release_base_info();
+  ::message::Base_info* mutable_base_info();
+  void set_allocated_base_info(::message::Base_info* base_info);
 
   // optional .message.Locate_information locate_information_realtime = 5;
   bool has_locate_information_realtime() const;
@@ -279,8 +279,8 @@ class Measure_status_msg : public ::google::protobuf::Message /* @@protoc_insert
 
   // @@protoc_insertion_point(class_scope:message.Measure_status_msg)
  private:
-  void set_has_msg_type();
-  void clear_has_msg_type();
+  void set_has_base_info();
+  void clear_has_base_info();
   void set_has_laser_manager_status();
   void clear_has_laser_manager_status();
   void set_has_locate_manager_status();
@@ -297,7 +297,7 @@ class Measure_status_msg : public ::google::protobuf::Message /* @@protoc_insert
   ::google::protobuf::internal::HasBits<1> _has_bits_;
   mutable int _cached_size_;
   ::google::protobuf::RepeatedField<int> laser_statu_vector_;
-  ::message::Base_msg* msg_type_;
+  ::message::Base_info* base_info_;
   ::message::Locate_information* locate_information_realtime_;
   ::message::Error_manager* error_manager_;
   int laser_manager_status_;
@@ -396,14 +396,14 @@ class Measure_request_msg : public ::google::protobuf::Message /* @@protoc_inser
 
   // accessors -------------------------------------------------------
 
-  // required .message.Base_msg msg_base = 1;
-  bool has_msg_base() const;
-  void clear_msg_base();
-  static const int kMsgBaseFieldNumber = 1;
-  const ::message::Base_msg& msg_base() const;
-  ::message::Base_msg* release_msg_base();
-  ::message::Base_msg* mutable_msg_base();
-  void set_allocated_msg_base(::message::Base_msg* msg_base);
+  // required .message.Base_info base_info = 1;
+  bool has_base_info() const;
+  void clear_base_info();
+  static const int kBaseInfoFieldNumber = 1;
+  const ::message::Base_info& base_info() const;
+  ::message::Base_info* release_base_info();
+  ::message::Base_info* mutable_base_info();
+  void set_allocated_base_info(::message::Base_info* base_info);
 
   // required int32 command_id = 2;
   bool has_command_id() const;
@@ -421,8 +421,8 @@ class Measure_request_msg : public ::google::protobuf::Message /* @@protoc_inser
 
   // @@protoc_insertion_point(class_scope:message.Measure_request_msg)
  private:
-  void set_has_msg_base();
-  void clear_has_msg_base();
+  void set_has_base_info();
+  void clear_has_base_info();
   void set_has_command_id();
   void clear_has_command_id();
   void set_has_terminal_id();
@@ -434,7 +434,7 @@ class Measure_request_msg : public ::google::protobuf::Message /* @@protoc_inser
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
   mutable int _cached_size_;
-  ::message::Base_msg* msg_base_;
+  ::message::Base_info* base_info_;
   ::google::protobuf::int32 command_id_;
   ::google::protobuf::int32 terminal_id_;
   friend struct ::protobuf_measure_5fmessage_2eproto::TableStruct;
@@ -531,14 +531,14 @@ class Measure_response_msg : public ::google::protobuf::Message /* @@protoc_inse
 
   // accessors -------------------------------------------------------
 
-  // required .message.Base_msg msg_base = 1;
-  bool has_msg_base() const;
-  void clear_msg_base();
-  static const int kMsgBaseFieldNumber = 1;
-  const ::message::Base_msg& msg_base() const;
-  ::message::Base_msg* release_msg_base();
-  ::message::Base_msg* mutable_msg_base();
-  void set_allocated_msg_base(::message::Base_msg* msg_base);
+  // required .message.Base_info base_info = 1;
+  bool has_base_info() const;
+  void clear_base_info();
+  static const int kBaseInfoFieldNumber = 1;
+  const ::message::Base_info& base_info() const;
+  ::message::Base_info* release_base_info();
+  ::message::Base_info* mutable_base_info();
+  void set_allocated_base_info(::message::Base_info* base_info);
 
   // optional .message.Locate_information locate_information = 4;
   bool has_locate_information() const;
@@ -574,8 +574,8 @@ class Measure_response_msg : public ::google::protobuf::Message /* @@protoc_inse
 
   // @@protoc_insertion_point(class_scope:message.Measure_response_msg)
  private:
-  void set_has_msg_base();
-  void clear_has_msg_base();
+  void set_has_base_info();
+  void clear_has_base_info();
   void set_has_command_id();
   void clear_has_command_id();
   void set_has_terminal_id();
@@ -591,7 +591,7 @@ class Measure_response_msg : public ::google::protobuf::Message /* @@protoc_inse
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
   mutable int _cached_size_;
-  ::message::Base_msg* msg_base_;
+  ::message::Base_info* base_info_;
   ::message::Locate_information* locate_information_;
   ::message::Error_manager* error_manager_;
   ::google::protobuf::int32 command_id_;
@@ -610,54 +610,54 @@ class Measure_response_msg : public ::google::protobuf::Message /* @@protoc_inse
 #endif  // __GNUC__
 // Measure_status_msg
 
-// required .message.Base_msg msg_type = 1;
-inline bool Measure_status_msg::has_msg_type() const {
+// required .message.Base_info base_info = 1;
+inline bool Measure_status_msg::has_base_info() const {
   return (_has_bits_[0] & 0x00000001u) != 0;
 }
-inline void Measure_status_msg::set_has_msg_type() {
+inline void Measure_status_msg::set_has_base_info() {
   _has_bits_[0] |= 0x00000001u;
 }
-inline void Measure_status_msg::clear_has_msg_type() {
+inline void Measure_status_msg::clear_has_base_info() {
   _has_bits_[0] &= ~0x00000001u;
 }
-inline const ::message::Base_msg& Measure_status_msg::msg_type() const {
-  const ::message::Base_msg* p = msg_type_;
-  // @@protoc_insertion_point(field_get:message.Measure_status_msg.msg_type)
-  return p != NULL ? *p : *reinterpret_cast<const ::message::Base_msg*>(
-      &::message::_Base_msg_default_instance_);
-}
-inline ::message::Base_msg* Measure_status_msg::release_msg_type() {
-  // @@protoc_insertion_point(field_release:message.Measure_status_msg.msg_type)
-  clear_has_msg_type();
-  ::message::Base_msg* temp = msg_type_;
-  msg_type_ = NULL;
+inline const ::message::Base_info& Measure_status_msg::base_info() const {
+  const ::message::Base_info* p = base_info_;
+  // @@protoc_insertion_point(field_get:message.Measure_status_msg.base_info)
+  return p != NULL ? *p : *reinterpret_cast<const ::message::Base_info*>(
+      &::message::_Base_info_default_instance_);
+}
+inline ::message::Base_info* Measure_status_msg::release_base_info() {
+  // @@protoc_insertion_point(field_release:message.Measure_status_msg.base_info)
+  clear_has_base_info();
+  ::message::Base_info* temp = base_info_;
+  base_info_ = NULL;
   return temp;
 }
-inline ::message::Base_msg* Measure_status_msg::mutable_msg_type() {
-  set_has_msg_type();
-  if (msg_type_ == NULL) {
-    msg_type_ = new ::message::Base_msg;
+inline ::message::Base_info* Measure_status_msg::mutable_base_info() {
+  set_has_base_info();
+  if (base_info_ == NULL) {
+    base_info_ = new ::message::Base_info;
   }
-  // @@protoc_insertion_point(field_mutable:message.Measure_status_msg.msg_type)
-  return msg_type_;
+  // @@protoc_insertion_point(field_mutable:message.Measure_status_msg.base_info)
+  return base_info_;
 }
-inline void Measure_status_msg::set_allocated_msg_type(::message::Base_msg* msg_type) {
+inline void Measure_status_msg::set_allocated_base_info(::message::Base_info* base_info) {
   ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
   if (message_arena == NULL) {
-    delete reinterpret_cast< ::google::protobuf::MessageLite*>(msg_type_);
+    delete reinterpret_cast< ::google::protobuf::MessageLite*>(base_info_);
   }
-  if (msg_type) {
+  if (base_info) {
     ::google::protobuf::Arena* submessage_arena = NULL;
     if (message_arena != submessage_arena) {
-      msg_type = ::google::protobuf::internal::GetOwnedMessage(
-          message_arena, msg_type, submessage_arena);
+      base_info = ::google::protobuf::internal::GetOwnedMessage(
+          message_arena, base_info, submessage_arena);
     }
-    set_has_msg_type();
+    set_has_base_info();
   } else {
-    clear_has_msg_type();
+    clear_has_base_info();
   }
-  msg_type_ = msg_type;
-  // @@protoc_insertion_point(field_set_allocated:message.Measure_status_msg.msg_type)
+  base_info_ = base_info;
+  // @@protoc_insertion_point(field_set_allocated:message.Measure_status_msg.base_info)
 }
 
 // required .message.Laser_manager_status laser_manager_status = 2;
@@ -846,54 +846,54 @@ inline void Measure_status_msg::set_allocated_error_manager(::message::Error_man
 
 // Measure_request_msg
 
-// required .message.Base_msg msg_base = 1;
-inline bool Measure_request_msg::has_msg_base() const {
+// required .message.Base_info base_info = 1;
+inline bool Measure_request_msg::has_base_info() const {
   return (_has_bits_[0] & 0x00000001u) != 0;
 }
-inline void Measure_request_msg::set_has_msg_base() {
+inline void Measure_request_msg::set_has_base_info() {
   _has_bits_[0] |= 0x00000001u;
 }
-inline void Measure_request_msg::clear_has_msg_base() {
+inline void Measure_request_msg::clear_has_base_info() {
   _has_bits_[0] &= ~0x00000001u;
 }
-inline const ::message::Base_msg& Measure_request_msg::msg_base() const {
-  const ::message::Base_msg* p = msg_base_;
-  // @@protoc_insertion_point(field_get:message.Measure_request_msg.msg_base)
-  return p != NULL ? *p : *reinterpret_cast<const ::message::Base_msg*>(
-      &::message::_Base_msg_default_instance_);
-}
-inline ::message::Base_msg* Measure_request_msg::release_msg_base() {
-  // @@protoc_insertion_point(field_release:message.Measure_request_msg.msg_base)
-  clear_has_msg_base();
-  ::message::Base_msg* temp = msg_base_;
-  msg_base_ = NULL;
+inline const ::message::Base_info& Measure_request_msg::base_info() const {
+  const ::message::Base_info* p = base_info_;
+  // @@protoc_insertion_point(field_get:message.Measure_request_msg.base_info)
+  return p != NULL ? *p : *reinterpret_cast<const ::message::Base_info*>(
+      &::message::_Base_info_default_instance_);
+}
+inline ::message::Base_info* Measure_request_msg::release_base_info() {
+  // @@protoc_insertion_point(field_release:message.Measure_request_msg.base_info)
+  clear_has_base_info();
+  ::message::Base_info* temp = base_info_;
+  base_info_ = NULL;
   return temp;
 }
-inline ::message::Base_msg* Measure_request_msg::mutable_msg_base() {
-  set_has_msg_base();
-  if (msg_base_ == NULL) {
-    msg_base_ = new ::message::Base_msg;
+inline ::message::Base_info* Measure_request_msg::mutable_base_info() {
+  set_has_base_info();
+  if (base_info_ == NULL) {
+    base_info_ = new ::message::Base_info;
   }
-  // @@protoc_insertion_point(field_mutable:message.Measure_request_msg.msg_base)
-  return msg_base_;
+  // @@protoc_insertion_point(field_mutable:message.Measure_request_msg.base_info)
+  return base_info_;
 }
-inline void Measure_request_msg::set_allocated_msg_base(::message::Base_msg* msg_base) {
+inline void Measure_request_msg::set_allocated_base_info(::message::Base_info* base_info) {
   ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
   if (message_arena == NULL) {
-    delete reinterpret_cast< ::google::protobuf::MessageLite*>(msg_base_);
+    delete reinterpret_cast< ::google::protobuf::MessageLite*>(base_info_);
   }
-  if (msg_base) {
+  if (base_info) {
     ::google::protobuf::Arena* submessage_arena = NULL;
     if (message_arena != submessage_arena) {
-      msg_base = ::google::protobuf::internal::GetOwnedMessage(
-          message_arena, msg_base, submessage_arena);
+      base_info = ::google::protobuf::internal::GetOwnedMessage(
+          message_arena, base_info, submessage_arena);
     }
-    set_has_msg_base();
+    set_has_base_info();
   } else {
-    clear_has_msg_base();
+    clear_has_base_info();
   }
-  msg_base_ = msg_base;
-  // @@protoc_insertion_point(field_set_allocated:message.Measure_request_msg.msg_base)
+  base_info_ = base_info;
+  // @@protoc_insertion_point(field_set_allocated:message.Measure_request_msg.base_info)
 }
 
 // required int32 command_id = 2;
@@ -948,54 +948,54 @@ inline void Measure_request_msg::set_terminal_id(::google::protobuf::int32 value
 
 // Measure_response_msg
 
-// required .message.Base_msg msg_base = 1;
-inline bool Measure_response_msg::has_msg_base() const {
+// required .message.Base_info base_info = 1;
+inline bool Measure_response_msg::has_base_info() const {
   return (_has_bits_[0] & 0x00000001u) != 0;
 }
-inline void Measure_response_msg::set_has_msg_base() {
+inline void Measure_response_msg::set_has_base_info() {
   _has_bits_[0] |= 0x00000001u;
 }
-inline void Measure_response_msg::clear_has_msg_base() {
+inline void Measure_response_msg::clear_has_base_info() {
   _has_bits_[0] &= ~0x00000001u;
 }
-inline const ::message::Base_msg& Measure_response_msg::msg_base() const {
-  const ::message::Base_msg* p = msg_base_;
-  // @@protoc_insertion_point(field_get:message.Measure_response_msg.msg_base)
-  return p != NULL ? *p : *reinterpret_cast<const ::message::Base_msg*>(
-      &::message::_Base_msg_default_instance_);
-}
-inline ::message::Base_msg* Measure_response_msg::release_msg_base() {
-  // @@protoc_insertion_point(field_release:message.Measure_response_msg.msg_base)
-  clear_has_msg_base();
-  ::message::Base_msg* temp = msg_base_;
-  msg_base_ = NULL;
+inline const ::message::Base_info& Measure_response_msg::base_info() const {
+  const ::message::Base_info* p = base_info_;
+  // @@protoc_insertion_point(field_get:message.Measure_response_msg.base_info)
+  return p != NULL ? *p : *reinterpret_cast<const ::message::Base_info*>(
+      &::message::_Base_info_default_instance_);
+}
+inline ::message::Base_info* Measure_response_msg::release_base_info() {
+  // @@protoc_insertion_point(field_release:message.Measure_response_msg.base_info)
+  clear_has_base_info();
+  ::message::Base_info* temp = base_info_;
+  base_info_ = NULL;
   return temp;
 }
-inline ::message::Base_msg* Measure_response_msg::mutable_msg_base() {
-  set_has_msg_base();
-  if (msg_base_ == NULL) {
-    msg_base_ = new ::message::Base_msg;
+inline ::message::Base_info* Measure_response_msg::mutable_base_info() {
+  set_has_base_info();
+  if (base_info_ == NULL) {
+    base_info_ = new ::message::Base_info;
   }
-  // @@protoc_insertion_point(field_mutable:message.Measure_response_msg.msg_base)
-  return msg_base_;
+  // @@protoc_insertion_point(field_mutable:message.Measure_response_msg.base_info)
+  return base_info_;
 }
-inline void Measure_response_msg::set_allocated_msg_base(::message::Base_msg* msg_base) {
+inline void Measure_response_msg::set_allocated_base_info(::message::Base_info* base_info) {
   ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
   if (message_arena == NULL) {
-    delete reinterpret_cast< ::google::protobuf::MessageLite*>(msg_base_);
+    delete reinterpret_cast< ::google::protobuf::MessageLite*>(base_info_);
   }
-  if (msg_base) {
+  if (base_info) {
     ::google::protobuf::Arena* submessage_arena = NULL;
     if (message_arena != submessage_arena) {
-      msg_base = ::google::protobuf::internal::GetOwnedMessage(
-          message_arena, msg_base, submessage_arena);
+      base_info = ::google::protobuf::internal::GetOwnedMessage(
+          message_arena, base_info, submessage_arena);
     }
-    set_has_msg_base();
+    set_has_base_info();
   } else {
-    clear_has_msg_base();
+    clear_has_base_info();
   }
-  msg_base_ = msg_base;
-  // @@protoc_insertion_point(field_set_allocated:message.Measure_response_msg.msg_base)
+  base_info_ = base_info;
+  // @@protoc_insertion_point(field_set_allocated:message.Measure_response_msg.base_info)
 }
 
 // required int32 command_id = 2;

+ 3 - 3
message/measure_message.proto

@@ -36,7 +36,7 @@ enum Locate_manager_status
 //定位模块状态
 message Measure_status_msg
 {
-    required Base_msg                   msg_type=1;                 //消息类型
+    required Base_info                  base_info=1;                 //消息类型
 
     required Laser_manager_status       laser_manager_status = 2;
     repeated Laser_statu                laser_statu_vector = 3;
@@ -50,7 +50,7 @@ message Measure_status_msg
 //定位请求消息
 message Measure_request_msg
 {
-    required Base_msg                   msg_base=1;         //消息类型
+    required Base_info                  base_info=1;        //消息类型
     required int32                      command_id=2;                   //指令唯一标识符id
     required int32                      terminal_id=3;          //终端id
 }
@@ -58,7 +58,7 @@ message Measure_request_msg
 //定位测量返回消息
 message Measure_response_msg
 {
-    required Base_msg                   msg_base=1;                          //消息类型
+    required Base_info                  base_info=1;                         //消息类型
     required int32                      command_id=2;                   //指令唯一标识符id
     required int32                      terminal_id=3;
 

+ 380 - 85
message/message_base.pb.cc

@@ -20,6 +20,11 @@
 #endif
 // @@protoc_insertion_point(includes)
 namespace message {
+class Base_infoDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<Base_info>
+      _instance;
+} _Base_info_default_instance_;
 class Base_msgDefaultTypeInternal {
  public:
   ::google::protobuf::internal::ExplicitlyConstructed<Base_msg>
@@ -37,6 +42,27 @@ class Locate_informationDefaultTypeInternal {
 } _Locate_information_default_instance_;
 }  // namespace message
 namespace protobuf_message_5fbase_2eproto {
+void InitDefaultsBase_infoImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  {
+    void* ptr = &::message::_Base_info_default_instance_;
+    new (ptr) ::message::Base_info();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::message::Base_info::InitAsDefaultInstance();
+}
+
+void InitDefaultsBase_info() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsBase_infoImpl);
+}
+
 void InitDefaultsBase_msgImpl() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
@@ -45,6 +71,7 @@ void InitDefaultsBase_msgImpl() {
 #else
   ::google::protobuf::internal::InitProtobufDefaults();
 #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  protobuf_message_5fbase_2eproto::InitDefaultsBase_info();
   {
     void* ptr = &::message::_Base_msg_default_instance_;
     new (ptr) ::message::Base_msg();
@@ -100,23 +127,30 @@ void InitDefaultsLocate_information() {
   ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsLocate_informationImpl);
 }
 
-::google::protobuf::Metadata file_level_metadata[3];
+::google::protobuf::Metadata file_level_metadata[4];
 const ::google::protobuf::EnumDescriptor* file_level_enum_descriptors[3];
 
 const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Base_msg, _has_bits_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Base_msg, _internal_metadata_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Base_info, _has_bits_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Base_info, _internal_metadata_),
   ~0u,  // no _extensions_
   ~0u,  // no _oneof_case_
   ~0u,  // no _weak_field_map_
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Base_msg, msg_type_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Base_msg, timeout_ms_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Base_msg, sender_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Base_msg, receiver_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Base_info, msg_type_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Base_info, timeout_ms_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Base_info, sender_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Base_info, receiver_),
   0,
   1,
   2,
   3,
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Base_msg, _has_bits_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Base_msg, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Base_msg, base_info_),
+  0,
   GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Error_manager, _has_bits_),
   GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::message::Error_manager, _internal_metadata_),
   ~0u,  // no _extensions_
@@ -153,12 +187,14 @@ const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUT
   8,
 };
 static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
-  { 0, 9, sizeof(::message::Base_msg)},
-  { 13, 21, sizeof(::message::Error_manager)},
-  { 24, 38, sizeof(::message::Locate_information)},
+  { 0, 9, sizeof(::message::Base_info)},
+  { 13, 19, sizeof(::message::Base_msg)},
+  { 20, 28, sizeof(::message::Error_manager)},
+  { 31, 45, sizeof(::message::Locate_information)},
 };
 
 static ::google::protobuf::Message const * const file_default_instances[] = {
+  reinterpret_cast<const ::google::protobuf::Message*>(&::message::_Base_info_default_instance_),
   reinterpret_cast<const ::google::protobuf::Message*>(&::message::_Base_msg_default_instance_),
   reinterpret_cast<const ::google::protobuf::Message*>(&::message::_Error_manager_default_instance_),
   reinterpret_cast<const ::google::protobuf::Message*>(&::message::_Locate_information_default_instance_),
@@ -180,39 +216,40 @@ void protobuf_AssignDescriptorsOnce() {
 void protobuf_RegisterTypes(const ::std::string&) GOOGLE_PROTOBUF_ATTRIBUTE_COLD;
 void protobuf_RegisterTypes(const ::std::string&) {
   protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 3);
+  ::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 4);
 }
 
 void AddDescriptorsImpl() {
   InitDefaults();
   static const char descriptor[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
-      "\n\022message_base.proto\022\007message\"\227\001\n\010Base_m"
-      "sg\022\'\n\010msg_type\030\001 \002(\0162\025.message.Message_t"
-      "ype\022\022\n\ntimeout_ms\030\002 \001(\005\022%\n\006sender\030\003 \002(\0162"
-      "\025.message.Communicator\022\'\n\010receiver\030\004 \002(\016"
-      "2\025.message.Communicator\"i\n\rError_manager"
-      "\022\022\n\nerror_code\030\001 \002(\005\022)\n\013error_level\030\002 \001("
-      "\0162\024.message.Error_level\022\031\n\021error_descrip"
-      "tion\030\003 \001(\t\"\341\001\n\022Locate_information\022\020\n\010loc"
-      "ate_x\030\001 \001(\002\022\020\n\010locate_y\030\002 \001(\002\022\024\n\014locate_"
-      "angle\030\003 \001(\002\022\025\n\rlocate_length\030\004 \001(\002\022\024\n\014lo"
-      "cate_width\030\005 \001(\002\022\025\n\rlocate_height\030\006 \001(\002\022"
-      "\031\n\021locate_wheel_base\030\007 \001(\002\022\032\n\022locate_whe"
-      "el_width\030\010 \001(\002\022\026\n\016locate_correct\030\t \001(\010*\307"
-      "\001\n\014Message_type\022\r\n\teBase_msg\020\000\022\020\n\014eComma"
-      "nd_msg\020\001\022\026\n\022eLocate_status_msg\020\021\022\027\n\023eLoc"
-      "ate_request_msg\020\022\022\030\n\024eLocate_response_ms"
-      "g\020\023\022\026\n\022eHarware_statu_msg\020!\022\030\n\024eExecute_"
-      "request_msg\020\"\022\031\n\025eExecute_response_msg\020#"
-      "*a\n\014Communicator\022\n\n\006eEmpty\020\000\022\t\n\005eMain\020\001\022"
-      "\016\n\teTerminor\020\200\002\022\013\n\006eTable\020\200\004\022\016\n\teMeasure"
-      "r\020\200\006\022\r\n\010eProcess\020\200\010*e\n\013Error_level\022\n\n\006NO"
-      "RMAL\020\000\022\024\n\020NEGLIGIBLE_ERROR\020\001\022\017\n\013MINOR_ER"
-      "ROR\020\002\022\017\n\013MAJOR_ERROR\020\003\022\022\n\016CRITICAL_ERROR"
-      "\020\004"
+      "\n\022message_base.proto\022\007message\"\230\001\n\tBase_i"
+      "nfo\022\'\n\010msg_type\030\001 \002(\0162\025.message.Message_"
+      "type\022\022\n\ntimeout_ms\030\002 \001(\005\022%\n\006sender\030\003 \002(\016"
+      "2\025.message.Communicator\022\'\n\010receiver\030\004 \002("
+      "\0162\025.message.Communicator\"1\n\010Base_msg\022%\n\t"
+      "base_info\030\001 \002(\0132\022.message.Base_info\"i\n\rE"
+      "rror_manager\022\022\n\nerror_code\030\001 \002(\005\022)\n\013erro"
+      "r_level\030\002 \001(\0162\024.message.Error_level\022\031\n\021e"
+      "rror_description\030\003 \001(\t\"\341\001\n\022Locate_inform"
+      "ation\022\020\n\010locate_x\030\001 \001(\002\022\020\n\010locate_y\030\002 \001("
+      "\002\022\024\n\014locate_angle\030\003 \001(\002\022\025\n\rlocate_length"
+      "\030\004 \001(\002\022\024\n\014locate_width\030\005 \001(\002\022\025\n\rlocate_h"
+      "eight\030\006 \001(\002\022\031\n\021locate_wheel_base\030\007 \001(\002\022\032"
+      "\n\022locate_wheel_width\030\010 \001(\002\022\026\n\016locate_cor"
+      "rect\030\t \001(\010*\307\001\n\014Message_type\022\r\n\teBase_msg"
+      "\020\000\022\020\n\014eCommand_msg\020\001\022\026\n\022eLocate_status_m"
+      "sg\020\021\022\027\n\023eLocate_request_msg\020\022\022\030\n\024eLocate"
+      "_response_msg\020\023\022\026\n\022eHarware_statu_msg\020!\022"
+      "\030\n\024eExecute_request_msg\020\"\022\031\n\025eExecute_re"
+      "sponse_msg\020#*a\n\014Communicator\022\n\n\006eEmpty\020\000"
+      "\022\t\n\005eMain\020\001\022\016\n\teTerminor\020\200\002\022\013\n\006eTable\020\200\004"
+      "\022\016\n\teMeasurer\020\200\006\022\r\n\010eProcess\020\200\010*e\n\013Error"
+      "_level\022\n\n\006NORMAL\020\000\022\024\n\020NEGLIGIBLE_ERROR\020\001"
+      "\022\017\n\013MINOR_ERROR\020\002\022\017\n\013MAJOR_ERROR\020\003\022\022\n\016CR"
+      "ITICAL_ERROR\020\004"
   };
   ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
-      descriptor, 922);
+      descriptor, 974);
   ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
     "message_base.proto", &protobuf_RegisterTypes);
 }
@@ -287,24 +324,24 @@ bool Error_level_IsValid(int value) {
 
 // ===================================================================
 
-void Base_msg::InitAsDefaultInstance() {
+void Base_info::InitAsDefaultInstance() {
 }
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
-const int Base_msg::kMsgTypeFieldNumber;
-const int Base_msg::kTimeoutMsFieldNumber;
-const int Base_msg::kSenderFieldNumber;
-const int Base_msg::kReceiverFieldNumber;
+const int Base_info::kMsgTypeFieldNumber;
+const int Base_info::kTimeoutMsFieldNumber;
+const int Base_info::kSenderFieldNumber;
+const int Base_info::kReceiverFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
-Base_msg::Base_msg()
+Base_info::Base_info()
   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_message_5fbase_2eproto::InitDefaultsBase_msg();
+    ::protobuf_message_5fbase_2eproto::InitDefaultsBase_info();
   }
   SharedCtor();
-  // @@protoc_insertion_point(constructor:message.Base_msg)
+  // @@protoc_insertion_point(constructor:message.Base_info)
 }
-Base_msg::Base_msg(const Base_msg& from)
+Base_info::Base_info(const Base_info& from)
   : ::google::protobuf::Message(),
       _internal_metadata_(NULL),
       _has_bits_(from._has_bits_),
@@ -313,49 +350,49 @@ Base_msg::Base_msg(const Base_msg& from)
   ::memcpy(&msg_type_, &from.msg_type_,
     static_cast<size_t>(reinterpret_cast<char*>(&receiver_) -
     reinterpret_cast<char*>(&msg_type_)) + sizeof(receiver_));
-  // @@protoc_insertion_point(copy_constructor:message.Base_msg)
+  // @@protoc_insertion_point(copy_constructor:message.Base_info)
 }
 
-void Base_msg::SharedCtor() {
+void Base_info::SharedCtor() {
   _cached_size_ = 0;
   ::memset(&msg_type_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&receiver_) -
       reinterpret_cast<char*>(&msg_type_)) + sizeof(receiver_));
 }
 
-Base_msg::~Base_msg() {
-  // @@protoc_insertion_point(destructor:message.Base_msg)
+Base_info::~Base_info() {
+  // @@protoc_insertion_point(destructor:message.Base_info)
   SharedDtor();
 }
 
-void Base_msg::SharedDtor() {
+void Base_info::SharedDtor() {
 }
 
-void Base_msg::SetCachedSize(int size) const {
+void Base_info::SetCachedSize(int size) const {
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
-const ::google::protobuf::Descriptor* Base_msg::descriptor() {
+const ::google::protobuf::Descriptor* Base_info::descriptor() {
   ::protobuf_message_5fbase_2eproto::protobuf_AssignDescriptorsOnce();
   return ::protobuf_message_5fbase_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
 }
 
-const Base_msg& Base_msg::default_instance() {
-  ::protobuf_message_5fbase_2eproto::InitDefaultsBase_msg();
+const Base_info& Base_info::default_instance() {
+  ::protobuf_message_5fbase_2eproto::InitDefaultsBase_info();
   return *internal_default_instance();
 }
 
-Base_msg* Base_msg::New(::google::protobuf::Arena* arena) const {
-  Base_msg* n = new Base_msg;
+Base_info* Base_info::New(::google::protobuf::Arena* arena) const {
+  Base_info* n = new Base_info;
   if (arena != NULL) {
     arena->Own(n);
   }
   return n;
 }
 
-void Base_msg::Clear() {
-// @@protoc_insertion_point(message_clear_start:message.Base_msg)
+void Base_info::Clear() {
+// @@protoc_insertion_point(message_clear_start:message.Base_info)
   ::google::protobuf::uint32 cached_has_bits = 0;
   // Prevent compiler warnings about cached_has_bits being unused
   (void) cached_has_bits;
@@ -370,11 +407,11 @@ void Base_msg::Clear() {
   _internal_metadata_.Clear();
 }
 
-bool Base_msg::MergePartialFromCodedStream(
+bool Base_info::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
   ::google::protobuf::uint32 tag;
-  // @@protoc_insertion_point(parse_start:message.Base_msg)
+  // @@protoc_insertion_point(parse_start:message.Base_info)
   for (;;) {
     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
     tag = p.first;
@@ -466,17 +503,17 @@ bool Base_msg::MergePartialFromCodedStream(
     }
   }
 success:
-  // @@protoc_insertion_point(parse_success:message.Base_msg)
+  // @@protoc_insertion_point(parse_success:message.Base_info)
   return true;
 failure:
-  // @@protoc_insertion_point(parse_failure:message.Base_msg)
+  // @@protoc_insertion_point(parse_failure:message.Base_info)
   return false;
 #undef DO_
 }
 
-void Base_msg::SerializeWithCachedSizes(
+void Base_info::SerializeWithCachedSizes(
     ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:message.Base_msg)
+  // @@protoc_insertion_point(serialize_start:message.Base_info)
   ::google::protobuf::uint32 cached_has_bits = 0;
   (void) cached_has_bits;
 
@@ -508,13 +545,13 @@ void Base_msg::SerializeWithCachedSizes(
     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
         _internal_metadata_.unknown_fields(), output);
   }
-  // @@protoc_insertion_point(serialize_end:message.Base_msg)
+  // @@protoc_insertion_point(serialize_end:message.Base_info)
 }
 
-::google::protobuf::uint8* Base_msg::InternalSerializeWithCachedSizesToArray(
+::google::protobuf::uint8* Base_info::InternalSerializeWithCachedSizesToArray(
     bool deterministic, ::google::protobuf::uint8* target) const {
   (void)deterministic; // Unused
-  // @@protoc_insertion_point(serialize_to_array_start:message.Base_msg)
+  // @@protoc_insertion_point(serialize_to_array_start:message.Base_info)
   ::google::protobuf::uint32 cached_has_bits = 0;
   (void) cached_has_bits;
 
@@ -546,12 +583,12 @@ void Base_msg::SerializeWithCachedSizes(
     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
         _internal_metadata_.unknown_fields(), target);
   }
-  // @@protoc_insertion_point(serialize_to_array_end:message.Base_msg)
+  // @@protoc_insertion_point(serialize_to_array_end:message.Base_info)
   return target;
 }
 
-size_t Base_msg::RequiredFieldsByteSizeFallback() const {
-// @@protoc_insertion_point(required_fields_byte_size_fallback_start:message.Base_msg)
+size_t Base_info::RequiredFieldsByteSizeFallback() const {
+// @@protoc_insertion_point(required_fields_byte_size_fallback_start:message.Base_info)
   size_t total_size = 0;
 
   if (has_msg_type()) {
@@ -574,8 +611,8 @@ size_t Base_msg::RequiredFieldsByteSizeFallback() const {
 
   return total_size;
 }
-size_t Base_msg::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:message.Base_msg)
+size_t Base_info::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:message.Base_info)
   size_t total_size = 0;
 
   if (_internal_metadata_.have_unknown_fields()) {
@@ -613,23 +650,23 @@ size_t Base_msg::ByteSizeLong() const {
   return total_size;
 }
 
-void Base_msg::MergeFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:message.Base_msg)
+void Base_info::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:message.Base_info)
   GOOGLE_DCHECK_NE(&from, this);
-  const Base_msg* source =
-      ::google::protobuf::internal::DynamicCastToGenerated<const Base_msg>(
+  const Base_info* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const Base_info>(
           &from);
   if (source == NULL) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:message.Base_msg)
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:message.Base_info)
     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:message.Base_msg)
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:message.Base_info)
     MergeFrom(*source);
   }
 }
 
-void Base_msg::MergeFrom(const Base_msg& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:message.Base_msg)
+void Base_info::MergeFrom(const Base_info& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:message.Base_info)
   GOOGLE_DCHECK_NE(&from, this);
   _internal_metadata_.MergeFrom(from._internal_metadata_);
   ::google::protobuf::uint32 cached_has_bits = 0;
@@ -653,6 +690,264 @@ void Base_msg::MergeFrom(const Base_msg& from) {
   }
 }
 
+void Base_info::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:message.Base_info)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void Base_info::CopyFrom(const Base_info& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:message.Base_info)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool Base_info::IsInitialized() const {
+  if ((_has_bits_[0] & 0x0000000d) != 0x0000000d) return false;
+  return true;
+}
+
+void Base_info::Swap(Base_info* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void Base_info::InternalSwap(Base_info* other) {
+  using std::swap;
+  swap(msg_type_, other->msg_type_);
+  swap(timeout_ms_, other->timeout_ms_);
+  swap(sender_, other->sender_);
+  swap(receiver_, other->receiver_);
+  swap(_has_bits_[0], other->_has_bits_[0]);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata Base_info::GetMetadata() const {
+  protobuf_message_5fbase_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_message_5fbase_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void Base_msg::InitAsDefaultInstance() {
+  ::message::_Base_msg_default_instance_._instance.get_mutable()->base_info_ = const_cast< ::message::Base_info*>(
+      ::message::Base_info::internal_default_instance());
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int Base_msg::kBaseInfoFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+Base_msg::Base_msg()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_message_5fbase_2eproto::InitDefaultsBase_msg();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:message.Base_msg)
+}
+Base_msg::Base_msg(const Base_msg& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _has_bits_(from._has_bits_),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  if (from.has_base_info()) {
+    base_info_ = new ::message::Base_info(*from.base_info_);
+  } else {
+    base_info_ = NULL;
+  }
+  // @@protoc_insertion_point(copy_constructor:message.Base_msg)
+}
+
+void Base_msg::SharedCtor() {
+  _cached_size_ = 0;
+  base_info_ = NULL;
+}
+
+Base_msg::~Base_msg() {
+  // @@protoc_insertion_point(destructor:message.Base_msg)
+  SharedDtor();
+}
+
+void Base_msg::SharedDtor() {
+  if (this != internal_default_instance()) delete base_info_;
+}
+
+void Base_msg::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* Base_msg::descriptor() {
+  ::protobuf_message_5fbase_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_message_5fbase_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const Base_msg& Base_msg::default_instance() {
+  ::protobuf_message_5fbase_2eproto::InitDefaultsBase_msg();
+  return *internal_default_instance();
+}
+
+Base_msg* Base_msg::New(::google::protobuf::Arena* arena) const {
+  Base_msg* n = new Base_msg;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void Base_msg::Clear() {
+// @@protoc_insertion_point(message_clear_start:message.Base_msg)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  cached_has_bits = _has_bits_[0];
+  if (cached_has_bits & 0x00000001u) {
+    GOOGLE_DCHECK(base_info_ != NULL);
+    base_info_->Clear();
+  }
+  _has_bits_.Clear();
+  _internal_metadata_.Clear();
+}
+
+bool Base_msg::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:message.Base_msg)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // required .message.Base_info base_info = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+               input, mutable_base_info()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:message.Base_msg)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:message.Base_msg)
+  return false;
+#undef DO_
+}
+
+void Base_msg::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:message.Base_msg)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = _has_bits_[0];
+  // required .message.Base_info base_info = 1;
+  if (cached_has_bits & 0x00000001u) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+      1, *this->base_info_, output);
+  }
+
+  if (_internal_metadata_.have_unknown_fields()) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        _internal_metadata_.unknown_fields(), output);
+  }
+  // @@protoc_insertion_point(serialize_end:message.Base_msg)
+}
+
+::google::protobuf::uint8* Base_msg::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:message.Base_msg)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  cached_has_bits = _has_bits_[0];
+  // required .message.Base_info base_info = 1;
+  if (cached_has_bits & 0x00000001u) {
+    target = ::google::protobuf::internal::WireFormatLite::
+      InternalWriteMessageToArray(
+        1, *this->base_info_, deterministic, target);
+  }
+
+  if (_internal_metadata_.have_unknown_fields()) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        _internal_metadata_.unknown_fields(), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:message.Base_msg)
+  return target;
+}
+
+size_t Base_msg::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:message.Base_msg)
+  size_t total_size = 0;
+
+  if (_internal_metadata_.have_unknown_fields()) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        _internal_metadata_.unknown_fields());
+  }
+  // required .message.Base_info base_info = 1;
+  if (has_base_info()) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::MessageSize(
+        *this->base_info_);
+  }
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void Base_msg::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:message.Base_msg)
+  GOOGLE_DCHECK_NE(&from, this);
+  const Base_msg* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const Base_msg>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:message.Base_msg)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:message.Base_msg)
+    MergeFrom(*source);
+  }
+}
+
+void Base_msg::MergeFrom(const Base_msg& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:message.Base_msg)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.has_base_info()) {
+    mutable_base_info()->::message::Base_info::MergeFrom(from.base_info());
+  }
+}
+
 void Base_msg::CopyFrom(const ::google::protobuf::Message& from) {
 // @@protoc_insertion_point(generalized_copy_from_start:message.Base_msg)
   if (&from == this) return;
@@ -668,7 +963,10 @@ void Base_msg::CopyFrom(const Base_msg& from) {
 }
 
 bool Base_msg::IsInitialized() const {
-  if ((_has_bits_[0] & 0x0000000d) != 0x0000000d) return false;
+  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
+  if (has_base_info()) {
+    if (!this->base_info_->IsInitialized()) return false;
+  }
   return true;
 }
 
@@ -678,10 +976,7 @@ void Base_msg::Swap(Base_msg* other) {
 }
 void Base_msg::InternalSwap(Base_msg* other) {
   using std::swap;
-  swap(msg_type_, other->msg_type_);
-  swap(timeout_ms_, other->timeout_ms_);
-  swap(sender_, other->sender_);
-  swap(receiver_, other->receiver_);
+  swap(base_info_, other->base_info_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
   swap(_cached_size_, other->_cached_size_);

+ 234 - 56
message/message_base.pb.h

@@ -37,12 +37,14 @@ namespace protobuf_message_5fbase_2eproto {
 struct TableStruct {
   static const ::google::protobuf::internal::ParseTableField entries[];
   static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
-  static const ::google::protobuf::internal::ParseTable schema[3];
+  static const ::google::protobuf::internal::ParseTable schema[4];
   static const ::google::protobuf::internal::FieldMetadata field_metadata[];
   static const ::google::protobuf::internal::SerializationTable serialization_table[];
   static const ::google::protobuf::uint32 offsets[];
 };
 void AddDescriptors();
+void InitDefaultsBase_infoImpl();
+void InitDefaultsBase_info();
 void InitDefaultsBase_msgImpl();
 void InitDefaultsBase_msg();
 void InitDefaultsError_managerImpl();
@@ -50,12 +52,16 @@ void InitDefaultsError_manager();
 void InitDefaultsLocate_informationImpl();
 void InitDefaultsLocate_information();
 inline void InitDefaults() {
+  InitDefaultsBase_info();
   InitDefaultsBase_msg();
   InitDefaultsError_manager();
   InitDefaultsLocate_information();
 }
 }  // namespace protobuf_message_5fbase_2eproto
 namespace message {
+class Base_info;
+class Base_infoDefaultTypeInternal;
+extern Base_infoDefaultTypeInternal _Base_info_default_instance_;
 class Base_msg;
 class Base_msgDefaultTypeInternal;
 extern Base_msgDefaultTypeInternal _Base_msg_default_instance_;
@@ -140,24 +146,24 @@ inline bool Error_level_Parse(
 }
 // ===================================================================
 
-class Base_msg : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:message.Base_msg) */ {
+class Base_info : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:message.Base_info) */ {
  public:
-  Base_msg();
-  virtual ~Base_msg();
+  Base_info();
+  virtual ~Base_info();
 
-  Base_msg(const Base_msg& from);
+  Base_info(const Base_info& from);
 
-  inline Base_msg& operator=(const Base_msg& from) {
+  inline Base_info& operator=(const Base_info& from) {
     CopyFrom(from);
     return *this;
   }
   #if LANG_CXX11
-  Base_msg(Base_msg&& from) noexcept
-    : Base_msg() {
+  Base_info(Base_info&& from) noexcept
+    : Base_info() {
     *this = ::std::move(from);
   }
 
-  inline Base_msg& operator=(Base_msg&& from) noexcept {
+  inline Base_info& operator=(Base_info&& from) noexcept {
     if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
       if (this != &from) InternalSwap(&from);
     } else {
@@ -174,30 +180,30 @@ class Base_msg : public ::google::protobuf::Message /* @@protoc_insertion_point(
   }
 
   static const ::google::protobuf::Descriptor* descriptor();
-  static const Base_msg& default_instance();
+  static const Base_info& default_instance();
 
   static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const Base_msg* internal_default_instance() {
-    return reinterpret_cast<const Base_msg*>(
-               &_Base_msg_default_instance_);
+  static inline const Base_info* internal_default_instance() {
+    return reinterpret_cast<const Base_info*>(
+               &_Base_info_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
     0;
 
-  void Swap(Base_msg* other);
-  friend void swap(Base_msg& a, Base_msg& b) {
+  void Swap(Base_info* other);
+  friend void swap(Base_info& a, Base_info& b) {
     a.Swap(&b);
   }
 
   // implements Message ----------------------------------------------
 
-  inline Base_msg* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Base_info* New() const PROTOBUF_FINAL { return New(NULL); }
 
-  Base_msg* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  Base_info* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
   void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
   void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void CopyFrom(const Base_msg& from);
-  void MergeFrom(const Base_msg& from);
+  void CopyFrom(const Base_info& from);
+  void MergeFrom(const Base_info& from);
   void Clear() PROTOBUF_FINAL;
   bool IsInitialized() const PROTOBUF_FINAL;
 
@@ -213,7 +219,7 @@ class Base_msg : public ::google::protobuf::Message /* @@protoc_insertion_point(
   void SharedCtor();
   void SharedDtor();
   void SetCachedSize(int size) const PROTOBUF_FINAL;
-  void InternalSwap(Base_msg* other);
+  void InternalSwap(Base_info* other);
   private:
   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
     return NULL;
@@ -257,7 +263,7 @@ class Base_msg : public ::google::protobuf::Message /* @@protoc_insertion_point(
   ::message::Communicator receiver() const;
   void set_receiver(::message::Communicator value);
 
-  // @@protoc_insertion_point(class_scope:message.Base_msg)
+  // @@protoc_insertion_point(class_scope:message.Base_info)
  private:
   void set_has_msg_type();
   void clear_has_msg_type();
@@ -279,6 +285,118 @@ class Base_msg : public ::google::protobuf::Message /* @@protoc_insertion_point(
   int sender_;
   int receiver_;
   friend struct ::protobuf_message_5fbase_2eproto::TableStruct;
+  friend void ::protobuf_message_5fbase_2eproto::InitDefaultsBase_infoImpl();
+};
+// -------------------------------------------------------------------
+
+class Base_msg : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:message.Base_msg) */ {
+ public:
+  Base_msg();
+  virtual ~Base_msg();
+
+  Base_msg(const Base_msg& from);
+
+  inline Base_msg& operator=(const Base_msg& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  Base_msg(Base_msg&& from) noexcept
+    : Base_msg() {
+    *this = ::std::move(from);
+  }
+
+  inline Base_msg& operator=(Base_msg&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
+    return _internal_metadata_.unknown_fields();
+  }
+  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
+    return _internal_metadata_.mutable_unknown_fields();
+  }
+
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const Base_msg& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const Base_msg* internal_default_instance() {
+    return reinterpret_cast<const Base_msg*>(
+               &_Base_msg_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    1;
+
+  void Swap(Base_msg* other);
+  friend void swap(Base_msg& a, Base_msg& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline Base_msg* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  Base_msg* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const Base_msg& from);
+  void MergeFrom(const Base_msg& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(Base_msg* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // required .message.Base_info base_info = 1;
+  bool has_base_info() const;
+  void clear_base_info();
+  static const int kBaseInfoFieldNumber = 1;
+  const ::message::Base_info& base_info() const;
+  ::message::Base_info* release_base_info();
+  ::message::Base_info* mutable_base_info();
+  void set_allocated_base_info(::message::Base_info* base_info);
+
+  // @@protoc_insertion_point(class_scope:message.Base_msg)
+ private:
+  void set_has_base_info();
+  void clear_has_base_info();
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  ::google::protobuf::internal::HasBits<1> _has_bits_;
+  mutable int _cached_size_;
+  ::message::Base_info* base_info_;
+  friend struct ::protobuf_message_5fbase_2eproto::TableStruct;
   friend void ::protobuf_message_5fbase_2eproto::InitDefaultsBase_msgImpl();
 };
 // -------------------------------------------------------------------
@@ -325,7 +443,7 @@ class Error_manager : public ::google::protobuf::Message /* @@protoc_insertion_p
                &_Error_manager_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    1;
+    2;
 
   void Swap(Error_manager* other);
   friend void swap(Error_manager& a, Error_manager& b) {
@@ -463,7 +581,7 @@ class Locate_information : public ::google::protobuf::Message /* @@protoc_insert
                &_Locate_information_default_instance_);
   }
   static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
-    2;
+    3;
 
   void Swap(Locate_information* other);
   friend void swap(Locate_information& a, Locate_information& b) {
@@ -618,105 +736,163 @@ class Locate_information : public ::google::protobuf::Message /* @@protoc_insert
   #pragma GCC diagnostic push
   #pragma GCC diagnostic ignored "-Wstrict-aliasing"
 #endif  // __GNUC__
-// Base_msg
+// Base_info
 
 // required .message.Message_type msg_type = 1;
-inline bool Base_msg::has_msg_type() const {
+inline bool Base_info::has_msg_type() const {
   return (_has_bits_[0] & 0x00000001u) != 0;
 }
-inline void Base_msg::set_has_msg_type() {
+inline void Base_info::set_has_msg_type() {
   _has_bits_[0] |= 0x00000001u;
 }
-inline void Base_msg::clear_has_msg_type() {
+inline void Base_info::clear_has_msg_type() {
   _has_bits_[0] &= ~0x00000001u;
 }
-inline void Base_msg::clear_msg_type() {
+inline void Base_info::clear_msg_type() {
   msg_type_ = 0;
   clear_has_msg_type();
 }
-inline ::message::Message_type Base_msg::msg_type() const {
-  // @@protoc_insertion_point(field_get:message.Base_msg.msg_type)
+inline ::message::Message_type Base_info::msg_type() const {
+  // @@protoc_insertion_point(field_get:message.Base_info.msg_type)
   return static_cast< ::message::Message_type >(msg_type_);
 }
-inline void Base_msg::set_msg_type(::message::Message_type value) {
+inline void Base_info::set_msg_type(::message::Message_type value) {
   assert(::message::Message_type_IsValid(value));
   set_has_msg_type();
   msg_type_ = value;
-  // @@protoc_insertion_point(field_set:message.Base_msg.msg_type)
+  // @@protoc_insertion_point(field_set:message.Base_info.msg_type)
 }
 
 // optional int32 timeout_ms = 2;
-inline bool Base_msg::has_timeout_ms() const {
+inline bool Base_info::has_timeout_ms() const {
   return (_has_bits_[0] & 0x00000002u) != 0;
 }
-inline void Base_msg::set_has_timeout_ms() {
+inline void Base_info::set_has_timeout_ms() {
   _has_bits_[0] |= 0x00000002u;
 }
-inline void Base_msg::clear_has_timeout_ms() {
+inline void Base_info::clear_has_timeout_ms() {
   _has_bits_[0] &= ~0x00000002u;
 }
-inline void Base_msg::clear_timeout_ms() {
+inline void Base_info::clear_timeout_ms() {
   timeout_ms_ = 0;
   clear_has_timeout_ms();
 }
-inline ::google::protobuf::int32 Base_msg::timeout_ms() const {
-  // @@protoc_insertion_point(field_get:message.Base_msg.timeout_ms)
+inline ::google::protobuf::int32 Base_info::timeout_ms() const {
+  // @@protoc_insertion_point(field_get:message.Base_info.timeout_ms)
   return timeout_ms_;
 }
-inline void Base_msg::set_timeout_ms(::google::protobuf::int32 value) {
+inline void Base_info::set_timeout_ms(::google::protobuf::int32 value) {
   set_has_timeout_ms();
   timeout_ms_ = value;
-  // @@protoc_insertion_point(field_set:message.Base_msg.timeout_ms)
+  // @@protoc_insertion_point(field_set:message.Base_info.timeout_ms)
 }
 
 // required .message.Communicator sender = 3;
-inline bool Base_msg::has_sender() const {
+inline bool Base_info::has_sender() const {
   return (_has_bits_[0] & 0x00000004u) != 0;
 }
-inline void Base_msg::set_has_sender() {
+inline void Base_info::set_has_sender() {
   _has_bits_[0] |= 0x00000004u;
 }
-inline void Base_msg::clear_has_sender() {
+inline void Base_info::clear_has_sender() {
   _has_bits_[0] &= ~0x00000004u;
 }
-inline void Base_msg::clear_sender() {
+inline void Base_info::clear_sender() {
   sender_ = 0;
   clear_has_sender();
 }
-inline ::message::Communicator Base_msg::sender() const {
-  // @@protoc_insertion_point(field_get:message.Base_msg.sender)
+inline ::message::Communicator Base_info::sender() const {
+  // @@protoc_insertion_point(field_get:message.Base_info.sender)
   return static_cast< ::message::Communicator >(sender_);
 }
-inline void Base_msg::set_sender(::message::Communicator value) {
+inline void Base_info::set_sender(::message::Communicator value) {
   assert(::message::Communicator_IsValid(value));
   set_has_sender();
   sender_ = value;
-  // @@protoc_insertion_point(field_set:message.Base_msg.sender)
+  // @@protoc_insertion_point(field_set:message.Base_info.sender)
 }
 
 // required .message.Communicator receiver = 4;
-inline bool Base_msg::has_receiver() const {
+inline bool Base_info::has_receiver() const {
   return (_has_bits_[0] & 0x00000008u) != 0;
 }
-inline void Base_msg::set_has_receiver() {
+inline void Base_info::set_has_receiver() {
   _has_bits_[0] |= 0x00000008u;
 }
-inline void Base_msg::clear_has_receiver() {
+inline void Base_info::clear_has_receiver() {
   _has_bits_[0] &= ~0x00000008u;
 }
-inline void Base_msg::clear_receiver() {
+inline void Base_info::clear_receiver() {
   receiver_ = 0;
   clear_has_receiver();
 }
-inline ::message::Communicator Base_msg::receiver() const {
-  // @@protoc_insertion_point(field_get:message.Base_msg.receiver)
+inline ::message::Communicator Base_info::receiver() const {
+  // @@protoc_insertion_point(field_get:message.Base_info.receiver)
   return static_cast< ::message::Communicator >(receiver_);
 }
-inline void Base_msg::set_receiver(::message::Communicator value) {
+inline void Base_info::set_receiver(::message::Communicator value) {
   assert(::message::Communicator_IsValid(value));
   set_has_receiver();
   receiver_ = value;
-  // @@protoc_insertion_point(field_set:message.Base_msg.receiver)
+  // @@protoc_insertion_point(field_set:message.Base_info.receiver)
+}
+
+// -------------------------------------------------------------------
+
+// Base_msg
+
+// required .message.Base_info base_info = 1;
+inline bool Base_msg::has_base_info() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+inline void Base_msg::set_has_base_info() {
+  _has_bits_[0] |= 0x00000001u;
+}
+inline void Base_msg::clear_has_base_info() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+inline void Base_msg::clear_base_info() {
+  if (base_info_ != NULL) base_info_->Clear();
+  clear_has_base_info();
+}
+inline const ::message::Base_info& Base_msg::base_info() const {
+  const ::message::Base_info* p = base_info_;
+  // @@protoc_insertion_point(field_get:message.Base_msg.base_info)
+  return p != NULL ? *p : *reinterpret_cast<const ::message::Base_info*>(
+      &::message::_Base_info_default_instance_);
+}
+inline ::message::Base_info* Base_msg::release_base_info() {
+  // @@protoc_insertion_point(field_release:message.Base_msg.base_info)
+  clear_has_base_info();
+  ::message::Base_info* temp = base_info_;
+  base_info_ = NULL;
+  return temp;
+}
+inline ::message::Base_info* Base_msg::mutable_base_info() {
+  set_has_base_info();
+  if (base_info_ == NULL) {
+    base_info_ = new ::message::Base_info;
+  }
+  // @@protoc_insertion_point(field_mutable:message.Base_msg.base_info)
+  return base_info_;
+}
+inline void Base_msg::set_allocated_base_info(::message::Base_info* base_info) {
+  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
+  if (message_arena == NULL) {
+    delete base_info_;
+  }
+  if (base_info) {
+    ::google::protobuf::Arena* submessage_arena = NULL;
+    if (message_arena != submessage_arena) {
+      base_info = ::google::protobuf::internal::GetOwnedMessage(
+          message_arena, base_info, submessage_arena);
+    }
+    set_has_base_info();
+  } else {
+    clear_has_base_info();
+  }
+  base_info_ = base_info;
+  // @@protoc_insertion_point(field_set_allocated:message.Base_msg.base_info)
 }
 
 // -------------------------------------------------------------------
@@ -1062,6 +1238,8 @@ inline void Locate_information::set_locate_correct(bool value) {
 
 // -------------------------------------------------------------------
 
+// -------------------------------------------------------------------
+
 
 // @@protoc_insertion_point(namespace_scope)
 

+ 5 - 1
message/message_base.proto

@@ -37,7 +37,7 @@ enum Communicator
 
 }
 ////base message 用于解析未知类型的消息
-message Base_msg
+message Base_info
 {
     required Message_type               msg_type=1;
     optional int32                      timeout_ms=2;
@@ -45,6 +45,10 @@ message Base_msg
     required Communicator               receiver=4;                     //接收者
 }
 
+message Base_msg
+{
+    required Base_info                  base_info=1;
+}
 
 //错误等级,用来做故障处理
 enum Error_level

+ 1 - 2
proto.sh

@@ -1,4 +1,3 @@
 protoc -I=./message message_base.proto --cpp_out=./message
 protoc -I=./message measure_message.proto --cpp_out=./message
-protoc -I=./message hardware_message.proto --cpp_out=./message
-protoc -I=./ setting.proto --cpp_out=./
+protoc -I=./message hardware_message.proto --cpp_out=./message