瀏覽代碼

增加测量、调度模块错误码,增加车位数据更新请求消息

zx 4 年之前
父節點
當前提交
e7385fc976

+ 2 - 2
CMakeLists.txt

@@ -4,8 +4,8 @@ cmake_minimum_required(VERSION 3.5)
 
 set (CMAKE_CXX_STANDARD 11)
 
-find_package(PkgConfig REQUIRED)
-pkg_check_modules(nanomsg REQUIRED nanomsg)
+#pkg_check_modules(nanomsg REQUIRED nanomsg)
+FIND_PACKAGE(nanomsg REQUIRED)
 FIND_PACKAGE(Protobuf REQUIRED)
 FIND_PACKAGE(Glog REQUIRED)
 

+ 2 - 0
communication/communication_message.h

@@ -44,6 +44,8 @@ public:
         eParkspace_force_update_response_msg = 0x39,//手动修改车位反馈消息
         eParkspace_confirm_alloc_request_msg = 0x3A,//确认分配车位请求消息
         eParkspace_confirm_alloc_response_msg = 0x3B,//确认分配车位反馈消息
+        eParkspace_refresh_request_msg=0x3C,        //请求更新车位数据
+        eParkspace_allocation_data_msg=0x3D,
 
         eStore_command_request_msg=0x41,                    //终端停车请求消息
         eStore_command_response_msg=0x42,                   //停车请求反馈消息

+ 162 - 55
error_code/error_code.h

@@ -71,9 +71,6 @@ enum Error_code
 
 	CONTAINER_IS_TERMINATE			= 0x00000301,//容器被终止
 
-
-
-
 //    错误码的规范,
 //    错误码是int型,32位,十六进制。
 //    例如0x12345678
@@ -84,57 +81,6 @@ enum Error_code
 //    注:错误码的制定从1开始,不要从0开始,
 //        0用作错误码的基数,用来位运算,来判断错误码的范围。
 
-//    laser扫描模块
-    LASER_ERROR_BASE                = 0x01000000,
-
-//    laser_base基类
-	LASER_BASE_ERROR_BASE			= 0x01010000,
-    LASER_TASK_PARAMETER_ERROR      = 0x01010001,   //雷达基类模块, 任务输入参数错误
-    LASER_CONNECT_FAILED,							//雷达基类模块, 连接失败
-	LASER_START_FAILED,								//雷达基类模块, 开始扫描失败
-	LASER_CHECK_FAILED,								//雷达基类模块, 检查失败
-	LASER_STATUS_BUSY,								//雷达基类模块, 状态正忙
-	LASER_STATUS_ERROR,								//雷达基类模块, 状态错误
-	LASER_TASK_OVER_TIME,							//雷达基类模块, 任务超时
-	LASER_QUEUE_ERROR,								//雷达基类模块, 数据缓存错误
-
-
-//    laser_livox.cpp的错误码
-    LIVOX_ERROR_BASE                = 0x01020000,
-    LIVOX_START_FAILE,								//livox模块,开始扫描失败
-	LIVOX_TASK_TYPE_ERROR,							//livox模块,任务类型错误
-	lIVOX_CANNOT_PUSH_DATA,							//livox模块,不能添加扫描的数据
-	lIVOX_CHECK_FAILED,								//livox模块,检查失败
-	lIVOX_STATUS_BUSY,								//livox模块,状态正忙
-	lIVOX_STATUS_ERROR,								//livox模块,状态错误
-
-	//laser_manager 雷达管理模块
-	LASER_MANAGER_ERROR_BASE						= 0x01030000,
-	LASER_MANAGER_READ_PROTOBUF_ERROR,				//雷达管理模块,读取参数错误
-	LASER_MANAGER_STATUS_BUSY,						//雷达管理模块,状态正忙
-	LASER_MANAGER_STATUS_ERROR,						//雷达管理模块,状态错误
-	LASER_MANAGER_TASK_TYPE_ERROR,					//雷达管理模块,任务类型错误
-	LASER_MANAGER_IS_NOT_READY,						//雷达管理模块,不在准备状态
-	LASER_MANAGER_LASER_INDEX_ERRPR,				//雷达管理模块,雷达索引错误,编号错误。
-	LASER_MANAGER_TASK_OVER_TIME,					//雷达管理模块,任务超时
-	LASER_MANAGER_LASER_INDEX_REPEAT,				//雷达管理模块,需要扫描的雷达索引重复,可忽略的错误,提示作用
-
-//livox_driver 雷达livox驱动模块
-	LIVOX_DRIVER_ERROR_BASE							= 0x01040000,
-	LIVOX_DRIVER_SN_REPEAT,							//livox驱动模块, 雷达广播码重复
-	LIVOX_DRIVER_SN_ERROR,							//livox驱动模块, 雷达广播码错误
-	LIVOX_SKD_INIT_FAILED,							//livox驱动模块, livox_sdk初始化失败
-	LIVOX_DRIVER_NOT_READY,							//livox驱动模块, livox没有准备好.
-
-
-
-
-    //locate 定位模块,
-	LOCATER_ERROR_BASE                				= 0x03000000,
-
-	//LASER_MANAGER 定位管理模块
-	LOCATER_MANAGER_ERROR_BASE                		= 0x03010000,
-    LOCATER_MSG_TABLE_NOT_EXIST ,                                   //测量反馈未找到相应的请求(致命)
     LOCATER_MSG_RESPONSE_TYPE_ERROR,                                //测量反馈消息类型错误(致命)
     LOCATER_MSG_RESPONSE_INFO_ERROR,
     LOCATER_MSG_REQUEST_CANCELED,
@@ -177,6 +123,168 @@ enum Error_code
 	COMMUNICATION_CONNECT_ERROR,
 	COMMUNICATION_ANALYSIS_TIME_OUT,									//解析超时,
 	COMMUNICATION_EXCUTER_IS_BUSY,										//处理器正忙, 请稍等
+
+
+
+
+    DISPATCH_ERROR_BASE=	0x13000000,
+    DISPATCH_MANAGER_ERROR_BASE	=0x13010000,
+    DISPATCH_MANAGER_READ_PROTOBUF_ERROR,		//调度管理模块,读取参数错误
+    DISPATCH_MANAGER_STATUS_BUSY,		//调度管理模块,状态正忙
+    DISPATCH_MANAGER_STATUS_ERROR,		//调度管理模块,状态错误
+    DISPATCH_MANAGER_TASK_TYPE_ERROR,		//调度管理模块,任务类型错误
+    DISPATCH_MANAGER_IS_NOT_READY,		//调度管理模块,不在准备状态
+    CARRIER_ERROR_BASE	=0x13020000,
+    CARRIER_READ_PROTOBUF_ERROR	,	//搬运器模块,读取参数错误
+    CARRIER_STATUS_BUSY	,	//搬运器模块,状态正忙
+    CARRIER_STATUS_ERROR,		//搬运器模块,状态错误
+    CARRIER_STATUS_DISCONNECT,		//搬运器模块,状态断连
+    CARRIER_TASK_TYPE_ERROR	,	//搬运器模块,任务类型错误
+    CARRIER_TASK_OVER_TIME	,	//搬运器模块,任务超时
+    CARRIER_IS_NOT_READY	,	//搬运器模块,不在准备状态
+    CARRIER_RESPONS_ERROR	,	//搬运器模块,指令的执行失败
+    CARRIER_TASK_NOTHINGNESS,		//搬运器模块,任务不存在
+    SNAP7_ERROR_BASE	= 0x1401000,
+    SNAP7_READ_PROTOBUF_ERROR	,	//snap7通信模块,读取参数错误
+    SNAP7_CONNECT_ERROR	,	//snap7通信模块,连接错误
+    SNAP7_DISCONNECT_ERROR	,	//snap7通信模块,断连错误
+    SNAP7_READ_ERROR	,	//snap7通信模块,读取错误
+    SNAP7_WRITE_ERROR	,	//snap7通信模块,写入错误
+    SNAP7_ANALYSIS_TIME_OUT	,	//解析超时
+    SNAP7_EXCUTER_IS_BUSY	,	//处理器正忙 请稍等
+
+
+    LASER_ERROR_BASE	=0x01000000,
+    LASER_BASE_ERROR_BASE	=0x01010000,
+    LASER_TASK_PARAMETER_ERROR	=0x01010001,	//雷达基类模块,任务输入参数错误
+    LASER_CONNECT_FAILED,		//雷达基类模块,连接失败
+    LASER_START_FAILED,		//雷达基类模块,开始扫描失败
+    LASER_CHECK_FAILED,		//雷达基类模块,检查失败
+    LASER_STATUS_BUSY,		//雷达基类模块,状态正忙
+    LASER_STATUS_ERROR,		//雷达基类模块,状态错误
+    LASER_TASK_OVER_TIME,		//雷达基类模块,任务超时
+    LASER_QUEUE_ERROR,		//雷达基类模块,数据缓存错误
+    LIVOX_ERROR_BASE	=0x01020000,
+    LIVOX_START_FAILE,		//livox模块,开始扫描失败
+    LIVOX_TASK_TYPE_ERROR,		//livox模块,任务类型错误
+    lIVOX_CANNOT_PUSH_DATA,		//livox模块,不能添加扫描的数据
+    lIVOX_CHECK_FAILED,		//livox模块,检查失败
+    lIVOX_STATUS_BUSY,		//livox模块,状态正忙
+    lIVOX_STATUS_ERROR,		//livox模块,状态错误
+    LASER_MANAGER_ERROR_BASE=	0x01030000,
+    LASER_MANAGER_READ_PROTOBUF_ERROR,		//雷达管理模块,读取参数错误
+    LASER_MANAGER_STATUS_BUSY,		//雷达管理模块,状态正忙
+    LASER_MANAGER_STATUS_ERROR,		//雷达管理模块,状态错误
+    LASER_MANAGER_TASK_TYPE_ERROR,		//雷达管理模块,任务类型错误
+    LASER_MANAGER_IS_NOT_READY,		//雷达管理模块,不在准备状态
+    LASER_MANAGER_TASK_OVER_TIME,		//雷达管理模块,任务超时
+    LASER_MANAGER_LASER_INDEX_ERRPR,		//雷达管理模块,雷达索引错误,编号错误。
+    LASER_MANAGER_LASER_INDEX_REPEAT,		//雷达管理模块,需要扫描的雷达索引重复,可忽略的错误,提示作用
+    LIVOX_DRIVER_ERROR_BASE	=0x01040000,
+    LIVOX_DRIVER_SN_REPEAT,		//livox驱动模块,雷达广播码重复
+    LIVOX_DRIVER_SN_ERROR,		//livox驱动模块,雷达广播码错误
+    LIVOX_SKD_INIT_FAILED,		//livox驱动模块,livox_sdk初始化失败
+    LIVOX_DRIVER_NOT_READY,		//livox驱动模块,livox没有准备好.
+
+    LOCATER_ERROR_BASE	=0x03000000,
+    LOCATER_MANAGER_ERROR_BASE	=0x03010000,
+    LOCATER_MANAGER_READ_PROTOBUF_ERROR,		//定位管理模块,读取参数错误
+    LOCATER_MANAGER_STATUS_BUSY,		//定位管理模块,状态正忙
+    LOCATER_MANAGER_STATUS_ERROR,		//定位管理模块,状态错误
+    LOCATER_MANAGER_TASK_TYPE_ERROR,		//定位管理模块,任务类型错误
+    LOCATER_MANAGER_IS_NOT_READY,		//定位管理模块,不在准备状态
+    LOCATER_MANAGER_CLOUD_MAP_ERROR,		//定位管理模块,任务输入点云map的error
+    LOCATER_MANAGER_TASK_OVER_TIME,		//定位管理模块,任务超时
+    LOCATER_ALGORITHM_ERROR_BASE	=0x03020000,
+    LOCATER_TASK_INIT_CLOUD_EMPTY	,	//定位任务初始化点云为空
+    LOCATER_TASK_ERROR,		//定位任务错误
+    LOCATER_TASK_INPUT_CLOUD_UNINIT,		//定位任务输入点云为空
+    LOCATER_INPUT_CLOUD_EMPTY,		//定位输入点云为空
+    LOCATER_YOLO_UNINIT,		//定位yolo未初始化
+    LOCATER_POINTSIFT_UNINIT,		//定位POINTSIFT未初始化
+    LOCATER_3DCNN_UNINIT,		//定位3DCNN未初始化
+    LOCATER_INPUT_YOLO_CLOUD_EMPTY,		//定位输入yolo点云为空
+    LOCATER_Y_OUT_RANGE_BY_PLC,		//定位超出plc的限制范围
+    LOCATER_MEASURE_HEIGHT_CLOUD_EMPTY,		//定位测量高点云为空
+    LOCATER_SIFT_ERROR_BASE	=0x03020100,
+    LOCATER_SIFT_INIT_FAILED,		//定位过滤模块,初始化失败
+    LOCATER_SIFT_INPUT_CLOUD_UNINIT,		//定位过滤模块,输入点云未初始化
+    LOCATER_SIFT_INPUT_CLOUD_EMPTY,		//定位过滤模块,输入点云为空
+    LOCATER_SIFT_GRID_ERROR,		//定位过滤模块,筛选网格错误
+    LOCATER_SIFT_SELECT_ERROR,		//定位过滤模块,筛选选择错误
+    LOCATER_SIFT_CLOUD_VERY_LITTLE,		//定位过滤模块,筛选点云很少
+    LOCATER_SIFT_CREATE_INPUT_DATA_FAILED,		//定位过滤模块,筛选创建输入数据失败
+    LOCATER_SIFT_PREDICT_FAILED,		//定位过滤模块,预测失败
+    LOCATER_SIFT_PREDICT_TIMEOUT,		//定位过滤模块,预测超时
+    LOCATER_SIFT_PREDICT_NO_WHEEL_POINT,		//定位过滤模块,预测结果没有车轮点云
+    LOCATER_SIFT_PREDICT_NO_CAR_POINT,		//定位过滤模块,预测结果没有车身点云
+    LOCATER_SIFT_FILTE_OBS_FAILED,		//定位过滤模块,过滤OBS失败
+    LOCATER_SIFT_INPUT_BOX_PARAMETER_FAILED,		//定位过滤模块,输入范围参数错误
+    LOCATER_3DCNN_ERROR_BASE	=0x03020300,
+    LOCATER_3DCNN_INIT_FAILED,		//定位3DCNN模块,初始化失败
+    LOCATER_3DCNN_INPUT_CLOUD_UNINIT,		//定位3DCNN模块,输入点云未初始化
+    LOCATER_3DCNN_INPUT_CLOUD_EMPTY,		//定位3DCNN模块,输入点云为空
+    LOCATER_3DCNN_INPUT_CLOUD_MAP_ERROR,		//定位3DCNN模块,输入点云的map错误
+    LOCATER_3DCNN_PCA_OUT_ERROR,		//定位3DCNN模块,pca错误
+    LOCATER_3DCNN_EXTRACT_RECT_ERROR,		//定位3DCNN模块,提取矩形错误
+    LOCATER_3DCNN_RECT_SIZE_ERROR,		//定位3DCNN模块,矩形范围错误
+    LOCATER_3DCNN_PREDICT_FAILED,		//定位3DCNN模块,预测失败
+    LOCATER_3DCNN_VERIFY_RECT_FAILED_3,		//定位3DCNN模块,验证矩形失败3
+    LOCATER_3DCNN_VERIFY_RECT_FAILED_4,		//定位3DCNN模块,验证矩形失败4
+    LOCATER_3DCNN_KMEANS_FAILED,		//定位3DCNN模块,k均值失败
+    LOCATER_3DCNN_IIU_FAILED,		//定位3DCNN模块,IIU失败
+    LOCATER_3DCNN_PCA_OUT_CLOUD_EMPTY,		//定位3DCNN模块,pca输出点云为空
+
+    WANJI_LIDAR_DEVICE_ERROR_BASE	=0x06080000,	//万集设备模块,错误基类
+    WANJI_LIDAR_DEVICE_STATUS_BUSY,		//万集设备模块,状态正忙
+    WANJI_LIDAR_DEVICE_STATUS_ERROR,		//万集设备模块,状态错误
+    WANJI_LIDAR_DEVICE_TASK_TYPE_ERROR,		//万集设备模块,任务类型错误
+    WANJI_LIDAR_DEVICE_TASK_OVER_TIME,		//万集设备模块,任务超时
+    WANJI_LIDAR_DEVICE_NO_CLOUD,		//万集设备模块,没有点云
+    WJ_LIDAR_COMMUNICATION_ERROR_BASE	=0x06010000,
+    WJ_LIDAR_COMMUNICATION_UNINITIALIZED,		//万集通信,未初始化
+    WJ_LIDAR_COMMUNICATION_DISCONNECT,		//万集通信,断连
+    WJ_LIDAR_COMMUNICATION_FAULT,		//万集通信,故障
+    WJ_LIDAR_CONNECT_FAILED,		//万集通信,连接失败
+    WJ_LIDAR_UNINITIALIZED,		//万集通信,未初始化
+    WJ_LIDAR_READ_FAILED,		//万集通信,读取失败
+    WJ_LIDAR_WRITE_FAILED,		//万集通信,写入失败
+    WJ_LIDAR_GET_CLOUD_TIMEOUT,		//万集通信,获取点云超时
+    WJ_PROTOCOL_ERROR_BASE	=0x06020000,
+    WJ_PROTOCOL_STATUS_BUSY,		//万集解析,状态正忙
+    WJ_PROTOCOL_STATUS_ERROR,		//万集解析,状态错误
+    WJ_PROTOCOL_INTEGRITY_ERROR,		//万集解析,完整性错误
+    WJ_PROTOCOL_PARSE_FAILED,		//万集解析,解析失败
+    WJ_PROTOCOL_EMPTY_PACKAGE,		//万集解析,空包
+    WJ_PROTOCOL_EXCEED_MAX_SIZE,		//万集解析,超出最大范围
+    WJ_REGION_ERROR_BASE	=0x06030000,
+    WJ_REGION_EMPTY_CLOUD,		//万集测量,空点云
+    WJ_REGION_EMPTY_NO_WHEEL_INFORMATION,		//万集测量,没有车轮信息
+    WJ_REGION_RECTANGLE_ANGLE_ERROR,		//万集测量,矩形旋转角错误
+    WJ_REGION_RECTANGLE_SIZE_ERROR,		//万集测量,矩形大小错误
+    WJ_REGION_RECTANGLE_SYMMETRY_ERROR,		//万集测量,矩形对称错误
+    WJ_REGION_CLUSTER_SIZE_ERROR,		//万集测量,簇大小错误
+    WJ_MANAGER_ERROR_BASE	=0x06040000,
+    WJ_MANAGER_UNINITIALIZED,		//万集管理模块,未初始化
+    WJ_MANAGER_LIDAR_DISCONNECTED,		//万集管理模块,雷达断链
+    WJ_MANAGER_PLC_DISCONNECTED,		//万集管理模块,plc断链
+    WJ_MANAGER_EMPTY_CLOUD,		//万集管理模块,空点云
+    WJ_MANAGER_READ_PROTOBUF_ERROR,		//万集管理模块,读取参数错误
+    WJ_MANAGER_INIT_ERROR,		//万集管理模块,重复初始化
+    WJ_MANAGER_TASK_TYPE_ERROR,		//万集管理模块,任务类型错误
+    WJ_MANAGER_STATUS_BUSY,		//万集管理模块,状态正忙
+    WJ_MANAGER_STATUS_ERROR,		//万集管理模块,状态错误
+    WJ_MANAGER_LASER_INDEX_ERRPR,		//万集管理模块,雷达索引错误,编号错误。
+    WJ_MANAGER_LASER_INDEX_REPEAT,		//万集管理模块,需要扫描的雷达索引重复,可忽略的错误,提示作用
+    WJ_MANAGER_TASK_OVER_TIME,		//万集管理模块,任务超时
+    WJ_LIDAR_TASK_ERROR_BASE	=0x06050000,
+    WJ_LIDAR_TASK_EMPTY_RESULT,		//万集任务模块,空结果
+    WJ_LIDAR_TASK_EMPTY_TASK,		//万集任务模块,空任务
+    WJ_LIDAR_TASK_WRONG_TYPE,		//万集任务模块,错误类型
+    WJ_LIDAR_TASK_INVALID_TASK,		//万集任务模块,无效任务
+    WJ_LIDAR_TASK_MEASURE_FAILED,		//万集任务模块,测量失败
+
+
 };
 
 //错误等级,用来做故障处理
@@ -348,4 +456,3 @@ public:
 
 #endif //TEST_ERROR_ERROR_CODE_H
 
-

+ 4 - 3
exception/exception_solver.cpp

@@ -14,7 +14,7 @@ Exception_solver::~Exception_solver() {
 
 }
 
-Error_manager Exception_solver::add_task_cancel_condition(std::string license,Process_task* task)
+/*Error_manager Exception_solver::add_task_cancel_condition(std::string license,Process_task* task)
 {
     if(m_ptask_map.find(license)==true || task== nullptr)
     {
@@ -32,7 +32,7 @@ Error_manager Exception_solver::delete_task_cancel_condition(std::string license
         return SUCCESS;
     }
     return Error_manager(ERROR,MINOR_ERROR,"任务取消标志不存在");
-}
+}*/
 
 Error_manager Exception_solver::consume_msg(Communication_message* p_msg)
 {
@@ -168,6 +168,7 @@ Error_manager Exception_solver::solve_exception(Error_manager code,Process_task*
                         }
                         return code;
                     case 3:
+                        //取消任务
                         task->Cancel();
                         return code;
                 }
@@ -272,4 +273,4 @@ Error_manager Exception_solver::solve_exception(Error_manager code,Process_task*
         }
     }
     return code;
-}
+}

+ 3 - 2
exception/exception_solver.h

@@ -19,12 +19,12 @@ public:
      * 添加流程的任务取消标志位
      * license:车牌号,作为流程任务的唯一标识
      */
-    Error_manager add_task_cancel_condition(std::string license,Process_task* task);
+    //Error_manager add_task_cancel_condition(std::string license,Process_task* task);
     /*
      * 删除流程的任务取消标志位
      * license:车牌号,作为流程任务的唯一标识
      */
-    Error_manager delete_task_cancel_condition(std::string license);
+    //Error_manager delete_task_cancel_condition(std::string license);
 
     /*
      * 处理故障
@@ -44,6 +44,7 @@ public:
 protected:
     Exception_solver();
 
+
 private:
     thread_safe_map<std::string,tq::BaseTask*>                              m_ptask_map;
     thread_safe_map<std::string,message::Process_manual_operation_msg>      m_manual_msg_map;

+ 35 - 31
message/message_base.pb.cc

@@ -270,7 +270,7 @@ const char descriptor_table_protodef_message_5fbase_2eproto[] PROTOBUF_SECTION_V
   "\016\n\006height\030\007 \001(\002\0223\n\020parkspace_status\030\010 \001("
   "\0162\031.message.Parkspace_status\022#\n\010car_info"
   "\030\t \001(\0132\021.message.Car_info\022\022\n\nentry_time\030"
-  "\n \001(\t\022\022\n\nleave_time\030\013 \001(\t*\253\007\n\014Message_ty"
+  "\n \001(\t\022\022\n\nleave_time\030\013 \001(\t*\363\007\n\014Message_ty"
   "pe\022\r\n\teBase_msg\020\000\022\020\n\014eCommand_msg\020\001\022\026\n\022e"
   "Locate_status_msg\020\021\022\027\n\023eLocate_request_m"
   "sg\020\022\022\030\n\024eLocate_response_msg\020\023\022\030\n\024eDispa"
@@ -286,35 +286,37 @@ const char descriptor_table_protodef_message_5fbase_2eproto[] PROTOBUF_SECTION_V
   "request_msg\0208\022(\n$eParkspace_force_update"
   "_response_msg\0209\022(\n$eParkspace_confirm_al"
   "loc_request_msg\020:\022)\n%eParkspace_confirm_"
-  "alloc_response_msg\020;\022\036\n\032eStore_command_r"
-  "equest_msg\020A\022\037\n\033eStore_command_response_"
-  "msg\020B\022\037\n\033ePickup_command_request_msg\020C\022 "
-  "\n\034ePickup_command_response_msg\020D\022\037\n\032eSto"
-  "ring_process_statu_msg\020\220\001\022\037\n\032ePicking_pr"
-  "ocess_statu_msg\020\221\001\022\"\n\035eCentral_controlle"
-  "r_statu_msg\020\240\001\022#\n\036eEntrance_manual_opera"
-  "tion_msg\020\260\001\022\"\n\035eProcess_manual_operation"
-  "_msg\020\261\001*f\n\014Communicator\022\n\n\006eEmpty\020\000\022\t\n\005e"
-  "Main\020\001\022\016\n\teTerminor\020\200\002\022\017\n\neParkspace\020\200\004\022"
-  "\016\n\teMeasurer\020\200\006\022\016\n\teDispatch\020\200\010**\n\014Proce"
-  "ss_type\022\014\n\010eStoring\020\001\022\014\n\010ePicking\020\002*e\n\013E"
-  "rror_level\022\n\n\006NORMAL\020\000\022\024\n\020NEGLIGIBLE_ERR"
-  "OR\020\001\022\017\n\013MINOR_ERROR\020\002\022\017\n\013MAJOR_ERROR\020\003\022\022"
-  "\n\016CRITICAL_ERROR\020\004*q\n\020Parkspace_status\022\024"
-  "\n\020eParkspace_empty\020\000\022\027\n\023eParkspace_occup"
-  "ied\020\001\022\030\n\024eParkspace_reserverd\020\002\022\024\n\020ePark"
-  "space_error\020\003*(\n\tDirection\022\014\n\010eForward\020\001"
-  "\022\r\n\teBackward\020\002*\335\002\n\tStep_type\022\017\n\013eAlloc_"
-  "step\020\000\022\021\n\reMeasure_step\020\001\022\021\n\reCompare_st"
-  "ep\020\002\022\022\n\016eDispatch_step\020\003\022\021\n\reConfirm_ste"
-  "p\020\004\022\020\n\014eSearch_step\020\005\022\016\n\neWait_step\020\006\022\021\n"
-  "\reRelease_step\020\007\022\r\n\teComplete\020\010\022\025\n\021eBack"
-  "Confirm_step\020\t\022\026\n\022eBack_compare_step\020\n\022\025"
-  "\n\021eBackMeasure_step\020\013\022\023\n\017eBackAlloc_step"
-  "\020\014\022\022\n\016eBackWait_step\020\r\022\026\n\022eBackDispatch_"
-  "step\020\016\022\024\n\020eBackSearch_step\020\017\022\021\n\reBackCom"
-  "plete\020\020*C\n\nStep_statu\022\014\n\010eWaiting\020\000\022\014\n\010e"
-  "Working\020\001\022\n\n\006eError\020\002\022\r\n\teFinished\020\003"
+  "alloc_response_msg\020;\022\"\n\036eParkspace_refre"
+  "sh_request_msg\020<\022\"\n\036eParkspace_allocatio"
+  "n_data_msg\020=\022\036\n\032eStore_command_request_m"
+  "sg\020A\022\037\n\033eStore_command_response_msg\020B\022\037\n"
+  "\033ePickup_command_request_msg\020C\022 \n\034ePicku"
+  "p_command_response_msg\020D\022\037\n\032eStoring_pro"
+  "cess_statu_msg\020\220\001\022\037\n\032ePicking_process_st"
+  "atu_msg\020\221\001\022\"\n\035eCentral_controller_statu_"
+  "msg\020\240\001\022#\n\036eEntrance_manual_operation_msg"
+  "\020\260\001\022\"\n\035eProcess_manual_operation_msg\020\261\001*"
+  "f\n\014Communicator\022\n\n\006eEmpty\020\000\022\t\n\005eMain\020\001\022\016"
+  "\n\teTerminor\020\200\002\022\017\n\neParkspace\020\200\004\022\016\n\teMeas"
+  "urer\020\200\006\022\016\n\teDispatch\020\200\010**\n\014Process_type\022"
+  "\014\n\010eStoring\020\001\022\014\n\010ePicking\020\002*e\n\013Error_lev"
+  "el\022\n\n\006NORMAL\020\000\022\024\n\020NEGLIGIBLE_ERROR\020\001\022\017\n\013"
+  "MINOR_ERROR\020\002\022\017\n\013MAJOR_ERROR\020\003\022\022\n\016CRITIC"
+  "AL_ERROR\020\004*q\n\020Parkspace_status\022\024\n\020eParks"
+  "pace_empty\020\000\022\027\n\023eParkspace_occupied\020\001\022\030\n"
+  "\024eParkspace_reserverd\020\002\022\024\n\020eParkspace_er"
+  "ror\020\003*(\n\tDirection\022\014\n\010eForward\020\001\022\r\n\teBac"
+  "kward\020\002*\335\002\n\tStep_type\022\017\n\013eAlloc_step\020\000\022\021"
+  "\n\reMeasure_step\020\001\022\021\n\reCompare_step\020\002\022\022\n\016"
+  "eDispatch_step\020\003\022\021\n\reConfirm_step\020\004\022\020\n\014e"
+  "Search_step\020\005\022\016\n\neWait_step\020\006\022\021\n\reReleas"
+  "e_step\020\007\022\r\n\teComplete\020\010\022\025\n\021eBackConfirm_"
+  "step\020\t\022\026\n\022eBack_compare_step\020\n\022\025\n\021eBackM"
+  "easure_step\020\013\022\023\n\017eBackAlloc_step\020\014\022\022\n\016eB"
+  "ackWait_step\020\r\022\026\n\022eBackDispatch_step\020\016\022\024"
+  "\n\020eBackSearch_step\020\017\022\021\n\reBackComplete\020\020*"
+  "C\n\nStep_statu\022\014\n\010eWaiting\020\000\022\014\n\010eWorking\020"
+  "\001\022\n\n\006eError\020\002\022\r\n\teFinished\020\003"
   ;
 static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_message_5fbase_2eproto_deps[1] = {
 };
@@ -328,7 +330,7 @@ static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_mes
 };
 static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_message_5fbase_2eproto_once;
 const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_message_5fbase_2eproto = {
-  false, false, descriptor_table_protodef_message_5fbase_2eproto, "message_base.proto", 2716,
+  false, false, descriptor_table_protodef_message_5fbase_2eproto, "message_base.proto", 2788,
   &descriptor_table_message_5fbase_2eproto_once, descriptor_table_message_5fbase_2eproto_sccs, descriptor_table_message_5fbase_2eproto_deps, 6, 0,
   schemas, file_default_instances, TableStruct_message_5fbase_2eproto::offsets,
   file_level_metadata_message_5fbase_2eproto, 6, file_level_enum_descriptors_message_5fbase_2eproto, file_level_service_descriptors_message_5fbase_2eproto,
@@ -362,6 +364,8 @@ bool Message_type_IsValid(int value) {
     case 57:
     case 58:
     case 59:
+    case 60:
+    case 61:
     case 65:
     case 66:
     case 67:

+ 2 - 0
message/message_base.pb.h

@@ -105,6 +105,8 @@ enum Message_type : int {
   eParkspace_force_update_response_msg = 57,
   eParkspace_confirm_alloc_request_msg = 58,
   eParkspace_confirm_alloc_response_msg = 59,
+  eParkspace_refresh_request_msg = 60,
+  eParkspace_allocation_data_msg = 61,
   eStore_command_request_msg = 65,
   eStore_command_response_msg = 66,
   ePickup_command_request_msg = 67,

+ 2 - 0
message/message_base.proto

@@ -28,6 +28,8 @@ enum Message_type
     eParkspace_force_update_response_msg = 0x39;//手动修改车位反馈消息
     eParkspace_confirm_alloc_request_msg = 0x3A;//确认分配车位请求消息
     eParkspace_confirm_alloc_response_msg = 0x3B;//确认分配车位反馈消息
+    eParkspace_refresh_request_msg=0x3C;        //请求更新车位数据
+    eParkspace_allocation_data_msg=0x3D;        //车位数据消息
 
 
     eStore_command_request_msg=0x41;        //终端停车请求消息

+ 592 - 53
message/parkspace_allocation_message.pb.cc

@@ -55,7 +55,31 @@ class Parkspace_allocation_status_msgDefaultTypeInternal {
  public:
   ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Parkspace_allocation_status_msg> _instance;
 } _Parkspace_allocation_status_msg_default_instance_;
+class Parkspace_refresh_request_msgDefaultTypeInternal {
+ public:
+  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Parkspace_refresh_request_msg> _instance;
+} _Parkspace_refresh_request_msg_default_instance_;
+class Parkspace_allocation_data_msgDefaultTypeInternal {
+ public:
+  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Parkspace_allocation_data_msg> _instance;
+} _Parkspace_allocation_data_msg_default_instance_;
 }  // namespace message
+static void InitDefaultsscc_info_Parkspace_allocation_data_msg_parkspace_5fallocation_5fmessage_2eproto() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+  {
+    void* ptr = &::message::_Parkspace_allocation_data_msg_default_instance_;
+    new (ptr) ::message::Parkspace_allocation_data_msg();
+    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::message::Parkspace_allocation_data_msg::InitAsDefaultInstance();
+}
+
+::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_Parkspace_allocation_data_msg_parkspace_5fallocation_5fmessage_2eproto =
+    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 2, 0, InitDefaultsscc_info_Parkspace_allocation_data_msg_parkspace_5fallocation_5fmessage_2eproto}, {
+      &scc_info_Base_info_message_5fbase_2eproto.base,
+      &scc_info_Parkspace_info_message_5fbase_2eproto.base,}};
+
 static void InitDefaultsscc_info_Parkspace_allocation_request_msg_parkspace_5fallocation_5fmessage_2eproto() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
@@ -100,11 +124,10 @@ static void InitDefaultsscc_info_Parkspace_allocation_status_msg_parkspace_5fall
   ::message::Parkspace_allocation_status_msg::InitAsDefaultInstance();
 }
 
-::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<3> scc_info_Parkspace_allocation_status_msg_parkspace_5fallocation_5fmessage_2eproto =
-    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 3, 0, InitDefaultsscc_info_Parkspace_allocation_status_msg_parkspace_5fallocation_5fmessage_2eproto}, {
+::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_Parkspace_allocation_status_msg_parkspace_5fallocation_5fmessage_2eproto =
+    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 2, 0, InitDefaultsscc_info_Parkspace_allocation_status_msg_parkspace_5fallocation_5fmessage_2eproto}, {
       &scc_info_Base_info_message_5fbase_2eproto.base,
-      &scc_info_Error_manager_message_5fbase_2eproto.base,
-      &scc_info_Parkspace_info_message_5fbase_2eproto.base,}};
+      &scc_info_Error_manager_message_5fbase_2eproto.base,}};
 
 static void InitDefaultsscc_info_Parkspace_confirm_alloc_request_msg_parkspace_5fallocation_5fmessage_2eproto() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
@@ -139,6 +162,21 @@ static void InitDefaultsscc_info_Parkspace_confirm_alloc_response_msg_parkspace_
       &scc_info_Error_manager_message_5fbase_2eproto.base,
       &scc_info_Parkspace_info_message_5fbase_2eproto.base,}};
 
+static void InitDefaultsscc_info_Parkspace_refresh_request_msg_parkspace_5fallocation_5fmessage_2eproto() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+  {
+    void* ptr = &::message::_Parkspace_refresh_request_msg_default_instance_;
+    new (ptr) ::message::Parkspace_refresh_request_msg();
+    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::message::Parkspace_refresh_request_msg::InitAsDefaultInstance();
+}
+
+::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_Parkspace_refresh_request_msg_parkspace_5fallocation_5fmessage_2eproto =
+    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, 0, InitDefaultsscc_info_Parkspace_refresh_request_msg_parkspace_5fallocation_5fmessage_2eproto}, {
+      &scc_info_Base_info_message_5fbase_2eproto.base,}};
+
 static void InitDefaultsscc_info_Parkspace_release_request_msg_parkspace_5fallocation_5fmessage_2eproto() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
@@ -205,7 +243,7 @@ static void InitDefaultsscc_info_Parkspace_search_response_msg_parkspace_5falloc
       &scc_info_Error_manager_message_5fbase_2eproto.base,
       &scc_info_Parkspace_info_message_5fbase_2eproto.base,}};
 
-static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_parkspace_5fallocation_5fmessage_2eproto[9];
+static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_parkspace_5fallocation_5fmessage_2eproto[11];
 static constexpr ::PROTOBUF_NAMESPACE_ID::EnumDescriptor const** file_level_enum_descriptors_parkspace_5fallocation_5fmessage_2eproto = nullptr;
 static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_parkspace_5fallocation_5fmessage_2eproto = nullptr;
 
@@ -315,9 +353,23 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_parkspace_5fallocation_5fmessa
   ~0u,  // no _weak_field_map_
   PROTOBUF_FIELD_OFFSET(::message::Parkspace_allocation_status_msg, base_info_),
   PROTOBUF_FIELD_OFFSET(::message::Parkspace_allocation_status_msg, error_manager_),
-  PROTOBUF_FIELD_OFFSET(::message::Parkspace_allocation_status_msg, parkspace_info_),
   0,
   1,
+  PROTOBUF_FIELD_OFFSET(::message::Parkspace_refresh_request_msg, _has_bits_),
+  PROTOBUF_FIELD_OFFSET(::message::Parkspace_refresh_request_msg, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  PROTOBUF_FIELD_OFFSET(::message::Parkspace_refresh_request_msg, base_info_),
+  0,
+  PROTOBUF_FIELD_OFFSET(::message::Parkspace_allocation_data_msg, _has_bits_),
+  PROTOBUF_FIELD_OFFSET(::message::Parkspace_allocation_data_msg, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  PROTOBUF_FIELD_OFFSET(::message::Parkspace_allocation_data_msg, base_info_),
+  PROTOBUF_FIELD_OFFSET(::message::Parkspace_allocation_data_msg, parkspace_info_),
+  0,
   ~0u,
 };
 static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
@@ -329,7 +381,9 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOB
   { 61, 70, sizeof(::message::Parkspace_release_response_msg)},
   { 74, 82, sizeof(::message::Parkspace_confirm_alloc_request_msg)},
   { 85, 94, sizeof(::message::Parkspace_confirm_alloc_response_msg)},
-  { 98, 106, sizeof(::message::Parkspace_allocation_status_msg)},
+  { 98, 105, sizeof(::message::Parkspace_allocation_status_msg)},
+  { 107, 113, sizeof(::message::Parkspace_refresh_request_msg)},
+  { 114, 121, sizeof(::message::Parkspace_allocation_data_msg)},
 };
 
 static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
@@ -342,6 +396,8 @@ static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] =
   reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::message::_Parkspace_confirm_alloc_request_msg_default_instance_),
   reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::message::_Parkspace_confirm_alloc_response_msg_default_instance_),
   reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::message::_Parkspace_allocation_status_msg_default_instance_),
+  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::message::_Parkspace_refresh_request_msg_default_instance_),
+  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::message::_Parkspace_allocation_data_msg_default_instance_),
 };
 
 const char descriptor_table_protodef_parkspace_5fallocation_5fmessage_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
@@ -381,21 +437,26 @@ const char descriptor_table_protodef_parkspace_5fallocation_5fmessage_2eproto[]
   "and_key\030\002 \002(\t\022-\n\rerror_manager\030\003 \002(\0132\026.m"
   "essage.Error_manager\0229\n\030confirm_alloc_sp"
   "ace_info\030\004 \002(\0132\027.message.Parkspace_info\""
-  "\250\001\n\037Parkspace_allocation_status_msg\022%\n\tb"
-  "ase_info\030\001 \002(\0132\022.message.Base_info\022-\n\rer"
-  "ror_manager\030\002 \002(\0132\026.message.Error_manage"
-  "r\022/\n\016parkspace_info\030\003 \003(\0132\027.message.Park"
-  "space_info"
+  "w\n\037Parkspace_allocation_status_msg\022%\n\tba"
+  "se_info\030\001 \002(\0132\022.message.Base_info\022-\n\rerr"
+  "or_manager\030\002 \002(\0132\026.message.Error_manager"
+  "\"F\n\035Parkspace_refresh_request_msg\022%\n\tbas"
+  "e_info\030\001 \002(\0132\022.message.Base_info\"w\n\035Park"
+  "space_allocation_data_msg\022%\n\tbase_info\030\001"
+  " \002(\0132\022.message.Base_info\022/\n\016parkspace_in"
+  "fo\030\002 \003(\0132\027.message.Parkspace_info"
   ;
 static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_parkspace_5fallocation_5fmessage_2eproto_deps[1] = {
   &::descriptor_table_message_5fbase_2eproto,
 };
-static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_parkspace_5fallocation_5fmessage_2eproto_sccs[9] = {
+static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_parkspace_5fallocation_5fmessage_2eproto_sccs[11] = {
+  &scc_info_Parkspace_allocation_data_msg_parkspace_5fallocation_5fmessage_2eproto.base,
   &scc_info_Parkspace_allocation_request_msg_parkspace_5fallocation_5fmessage_2eproto.base,
   &scc_info_Parkspace_allocation_response_msg_parkspace_5fallocation_5fmessage_2eproto.base,
   &scc_info_Parkspace_allocation_status_msg_parkspace_5fallocation_5fmessage_2eproto.base,
   &scc_info_Parkspace_confirm_alloc_request_msg_parkspace_5fallocation_5fmessage_2eproto.base,
   &scc_info_Parkspace_confirm_alloc_response_msg_parkspace_5fallocation_5fmessage_2eproto.base,
+  &scc_info_Parkspace_refresh_request_msg_parkspace_5fallocation_5fmessage_2eproto.base,
   &scc_info_Parkspace_release_request_msg_parkspace_5fallocation_5fmessage_2eproto.base,
   &scc_info_Parkspace_release_response_msg_parkspace_5fallocation_5fmessage_2eproto.base,
   &scc_info_Parkspace_search_request_msg_parkspace_5fallocation_5fmessage_2eproto.base,
@@ -403,10 +464,10 @@ static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_par
 };
 static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_parkspace_5fallocation_5fmessage_2eproto_once;
 const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_parkspace_5fallocation_5fmessage_2eproto = {
-  false, false, descriptor_table_protodef_parkspace_5fallocation_5fmessage_2eproto, "parkspace_allocation_message.proto", 1610,
-  &descriptor_table_parkspace_5fallocation_5fmessage_2eproto_once, descriptor_table_parkspace_5fallocation_5fmessage_2eproto_sccs, descriptor_table_parkspace_5fallocation_5fmessage_2eproto_deps, 9, 1,
+  false, false, descriptor_table_protodef_parkspace_5fallocation_5fmessage_2eproto, "parkspace_allocation_message.proto", 1753,
+  &descriptor_table_parkspace_5fallocation_5fmessage_2eproto_once, descriptor_table_parkspace_5fallocation_5fmessage_2eproto_sccs, descriptor_table_parkspace_5fallocation_5fmessage_2eproto_deps, 11, 1,
   schemas, file_default_instances, TableStruct_parkspace_5fallocation_5fmessage_2eproto::offsets,
-  file_level_metadata_parkspace_5fallocation_5fmessage_2eproto, 9, file_level_enum_descriptors_parkspace_5fallocation_5fmessage_2eproto, file_level_service_descriptors_parkspace_5fallocation_5fmessage_2eproto,
+  file_level_metadata_parkspace_5fallocation_5fmessage_2eproto, 11, file_level_enum_descriptors_parkspace_5fallocation_5fmessage_2eproto, file_level_service_descriptors_parkspace_5fallocation_5fmessage_2eproto,
 };
 
 // Force running AddDescriptors() at dynamic initialization time.
@@ -3656,20 +3717,15 @@ void Parkspace_allocation_status_msg::clear_error_manager() {
   if (error_manager_ != nullptr) error_manager_->Clear();
   _has_bits_[0] &= ~0x00000002u;
 }
-void Parkspace_allocation_status_msg::clear_parkspace_info() {
-  parkspace_info_.Clear();
-}
 Parkspace_allocation_status_msg::Parkspace_allocation_status_msg(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
-  parkspace_info_(arena) {
+  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
   SharedCtor();
   RegisterArenaDtor(arena);
   // @@protoc_insertion_point(arena_constructor:message.Parkspace_allocation_status_msg)
 }
 Parkspace_allocation_status_msg::Parkspace_allocation_status_msg(const Parkspace_allocation_status_msg& from)
   : ::PROTOBUF_NAMESPACE_ID::Message(),
-      _has_bits_(from._has_bits_),
-      parkspace_info_(from.parkspace_info_) {
+      _has_bits_(from._has_bits_) {
   _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
   if (from._internal_has_base_info()) {
     base_info_ = new ::message::Base_info(*from.base_info_);
@@ -3724,7 +3780,6 @@ void Parkspace_allocation_status_msg::Clear() {
   // Prevent compiler warnings about cached_has_bits being unused
   (void) cached_has_bits;
 
-  parkspace_info_.Clear();
   cached_has_bits = _has_bits_[0];
   if (cached_has_bits & 0x00000003u) {
     if (cached_has_bits & 0x00000001u) {
@@ -3763,18 +3818,6 @@ const char* Parkspace_allocation_status_msg::_InternalParse(const char* ptr, ::P
           CHK_(ptr);
         } else goto handle_unusual;
         continue;
-      // repeated .message.Parkspace_info parkspace_info = 3;
-      case 3:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
-          ptr -= 1;
-          do {
-            ptr += 1;
-            ptr = ctx->ParseMessage(_internal_add_parkspace_info(), ptr);
-            CHK_(ptr);
-            if (!ctx->DataAvailable(ptr)) break;
-          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
-        } else goto handle_unusual;
-        continue;
       default: {
       handle_unusual:
         if ((tag & 7) == 4 || tag == 0) {
@@ -3821,14 +3864,6 @@ failure:
         2, _Internal::error_manager(this), target, stream);
   }
 
-  // repeated .message.Parkspace_info parkspace_info = 3;
-  for (unsigned int i = 0,
-      n = static_cast<unsigned int>(this->_internal_parkspace_info_size()); i < n; i++) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
-      InternalWriteMessage(3, this->_internal_parkspace_info(i), target, stream);
-  }
-
   if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
         _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
@@ -3879,13 +3914,6 @@ size_t Parkspace_allocation_status_msg::ByteSizeLong() const {
   // Prevent compiler warnings about cached_has_bits being unused
   (void) cached_has_bits;
 
-  // repeated .message.Parkspace_info parkspace_info = 3;
-  total_size += 1UL * this->_internal_parkspace_info_size();
-  for (const auto& msg : this->parkspace_info_) {
-    total_size +=
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
-  }
-
   if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
     return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
         _internal_metadata_, total_size, &_cached_size_);
@@ -3917,7 +3945,6 @@ void Parkspace_allocation_status_msg::MergeFrom(const Parkspace_allocation_statu
   ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
   (void) cached_has_bits;
 
-  parkspace_info_.MergeFrom(from.parkspace_info_);
   cached_has_bits = from._has_bits_[0];
   if (cached_has_bits & 0x00000003u) {
     if (cached_has_bits & 0x00000001u) {
@@ -3958,7 +3985,6 @@ void Parkspace_allocation_status_msg::InternalSwap(Parkspace_allocation_status_m
   using std::swap;
   _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
   swap(_has_bits_[0], other->_has_bits_[0]);
-  parkspace_info_.InternalSwap(&other->parkspace_info_);
   ::PROTOBUF_NAMESPACE_ID::internal::memswap<
       PROTOBUF_FIELD_OFFSET(Parkspace_allocation_status_msg, error_manager_)
       + sizeof(Parkspace_allocation_status_msg::error_manager_)
@@ -3972,6 +3998,513 @@ void Parkspace_allocation_status_msg::InternalSwap(Parkspace_allocation_status_m
 }
 
 
+// ===================================================================
+
+void Parkspace_refresh_request_msg::InitAsDefaultInstance() {
+  ::message::_Parkspace_refresh_request_msg_default_instance_._instance.get_mutable()->base_info_ = const_cast< ::message::Base_info*>(
+      ::message::Base_info::internal_default_instance());
+}
+class Parkspace_refresh_request_msg::_Internal {
+ public:
+  using HasBits = decltype(std::declval<Parkspace_refresh_request_msg>()._has_bits_);
+  static const ::message::Base_info& base_info(const Parkspace_refresh_request_msg* msg);
+  static void set_has_base_info(HasBits* has_bits) {
+    (*has_bits)[0] |= 1u;
+  }
+  static bool MissingRequiredFields(const HasBits& has_bits) {
+    return ((has_bits[0] & 0x00000001) ^ 0x00000001) != 0;
+  }
+};
+
+const ::message::Base_info&
+Parkspace_refresh_request_msg::_Internal::base_info(const Parkspace_refresh_request_msg* msg) {
+  return *msg->base_info_;
+}
+void Parkspace_refresh_request_msg::clear_base_info() {
+  if (base_info_ != nullptr) base_info_->Clear();
+  _has_bits_[0] &= ~0x00000001u;
+}
+Parkspace_refresh_request_msg::Parkspace_refresh_request_msg(::PROTOBUF_NAMESPACE_ID::Arena* arena)
+  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
+  SharedCtor();
+  RegisterArenaDtor(arena);
+  // @@protoc_insertion_point(arena_constructor:message.Parkspace_refresh_request_msg)
+}
+Parkspace_refresh_request_msg::Parkspace_refresh_request_msg(const Parkspace_refresh_request_msg& from)
+  : ::PROTOBUF_NAMESPACE_ID::Message(),
+      _has_bits_(from._has_bits_) {
+  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
+  if (from._internal_has_base_info()) {
+    base_info_ = new ::message::Base_info(*from.base_info_);
+  } else {
+    base_info_ = nullptr;
+  }
+  // @@protoc_insertion_point(copy_constructor:message.Parkspace_refresh_request_msg)
+}
+
+void Parkspace_refresh_request_msg::SharedCtor() {
+  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_Parkspace_refresh_request_msg_parkspace_5fallocation_5fmessage_2eproto.base);
+  base_info_ = nullptr;
+}
+
+Parkspace_refresh_request_msg::~Parkspace_refresh_request_msg() {
+  // @@protoc_insertion_point(destructor:message.Parkspace_refresh_request_msg)
+  SharedDtor();
+  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+}
+
+void Parkspace_refresh_request_msg::SharedDtor() {
+  GOOGLE_DCHECK(GetArena() == nullptr);
+  if (this != internal_default_instance()) delete base_info_;
+}
+
+void Parkspace_refresh_request_msg::ArenaDtor(void* object) {
+  Parkspace_refresh_request_msg* _this = reinterpret_cast< Parkspace_refresh_request_msg* >(object);
+  (void)_this;
+}
+void Parkspace_refresh_request_msg::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
+}
+void Parkspace_refresh_request_msg::SetCachedSize(int size) const {
+  _cached_size_.Set(size);
+}
+const Parkspace_refresh_request_msg& Parkspace_refresh_request_msg::default_instance() {
+  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_Parkspace_refresh_request_msg_parkspace_5fallocation_5fmessage_2eproto.base);
+  return *internal_default_instance();
+}
+
+
+void Parkspace_refresh_request_msg::Clear() {
+// @@protoc_insertion_point(message_clear_start:message.Parkspace_refresh_request_msg)
+  ::PROTOBUF_NAMESPACE_ID::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_ != nullptr);
+    base_info_->Clear();
+  }
+  _has_bits_.Clear();
+  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+}
+
+const char* Parkspace_refresh_request_msg::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
+#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
+  _Internal::HasBits has_bits{};
+  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
+  while (!ctx->Done(&ptr)) {
+    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
+    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
+    CHK_(ptr);
+    switch (tag >> 3) {
+      // required .message.Base_info base_info = 1;
+      case 1:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+          ptr = ctx->ParseMessage(_internal_mutable_base_info(), ptr);
+          CHK_(ptr);
+        } else goto handle_unusual;
+        continue;
+      default: {
+      handle_unusual:
+        if ((tag & 7) == 4 || tag == 0) {
+          ctx->SetLastTag(tag);
+          goto success;
+        }
+        ptr = UnknownFieldParse(tag,
+            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
+            ptr, ctx);
+        CHK_(ptr != nullptr);
+        continue;
+      }
+    }  // switch
+  }  // while
+success:
+  _has_bits_.Or(has_bits);
+  return ptr;
+failure:
+  ptr = nullptr;
+  goto success;
+#undef CHK_
+}
+
+::PROTOBUF_NAMESPACE_ID::uint8* Parkspace_refresh_request_msg::_InternalSerialize(
+    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
+  // @@protoc_insertion_point(serialize_to_array_start:message.Parkspace_refresh_request_msg)
+  ::PROTOBUF_NAMESPACE_ID::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 = stream->EnsureSpace(target);
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
+      InternalWriteMessage(
+        1, _Internal::base_info(this), target, stream);
+  }
+
+  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
+        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:message.Parkspace_refresh_request_msg)
+  return target;
+}
+
+size_t Parkspace_refresh_request_msg::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:message.Parkspace_refresh_request_msg)
+  size_t total_size = 0;
+
+  // required .message.Base_info base_info = 1;
+  if (_internal_has_base_info()) {
+    total_size += 1 +
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
+        *base_info_);
+  }
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
+    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
+        _internal_metadata_, total_size, &_cached_size_);
+  }
+  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
+  SetCachedSize(cached_size);
+  return total_size;
+}
+
+void Parkspace_refresh_request_msg::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:message.Parkspace_refresh_request_msg)
+  GOOGLE_DCHECK_NE(&from, this);
+  const Parkspace_refresh_request_msg* source =
+      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<Parkspace_refresh_request_msg>(
+          &from);
+  if (source == nullptr) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:message.Parkspace_refresh_request_msg)
+    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:message.Parkspace_refresh_request_msg)
+    MergeFrom(*source);
+  }
+}
+
+void Parkspace_refresh_request_msg::MergeFrom(const Parkspace_refresh_request_msg& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:message.Parkspace_refresh_request_msg)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from._internal_has_base_info()) {
+    _internal_mutable_base_info()->::message::Base_info::MergeFrom(from._internal_base_info());
+  }
+}
+
+void Parkspace_refresh_request_msg::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:message.Parkspace_refresh_request_msg)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void Parkspace_refresh_request_msg::CopyFrom(const Parkspace_refresh_request_msg& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:message.Parkspace_refresh_request_msg)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool Parkspace_refresh_request_msg::IsInitialized() const {
+  if (_Internal::MissingRequiredFields(_has_bits_)) return false;
+  if (_internal_has_base_info()) {
+    if (!base_info_->IsInitialized()) return false;
+  }
+  return true;
+}
+
+void Parkspace_refresh_request_msg::InternalSwap(Parkspace_refresh_request_msg* other) {
+  using std::swap;
+  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
+  swap(_has_bits_[0], other->_has_bits_[0]);
+  swap(base_info_, other->base_info_);
+}
+
+::PROTOBUF_NAMESPACE_ID::Metadata Parkspace_refresh_request_msg::GetMetadata() const {
+  return GetMetadataStatic();
+}
+
+
+// ===================================================================
+
+void Parkspace_allocation_data_msg::InitAsDefaultInstance() {
+  ::message::_Parkspace_allocation_data_msg_default_instance_._instance.get_mutable()->base_info_ = const_cast< ::message::Base_info*>(
+      ::message::Base_info::internal_default_instance());
+}
+class Parkspace_allocation_data_msg::_Internal {
+ public:
+  using HasBits = decltype(std::declval<Parkspace_allocation_data_msg>()._has_bits_);
+  static const ::message::Base_info& base_info(const Parkspace_allocation_data_msg* msg);
+  static void set_has_base_info(HasBits* has_bits) {
+    (*has_bits)[0] |= 1u;
+  }
+  static bool MissingRequiredFields(const HasBits& has_bits) {
+    return ((has_bits[0] & 0x00000001) ^ 0x00000001) != 0;
+  }
+};
+
+const ::message::Base_info&
+Parkspace_allocation_data_msg::_Internal::base_info(const Parkspace_allocation_data_msg* msg) {
+  return *msg->base_info_;
+}
+void Parkspace_allocation_data_msg::clear_base_info() {
+  if (base_info_ != nullptr) base_info_->Clear();
+  _has_bits_[0] &= ~0x00000001u;
+}
+void Parkspace_allocation_data_msg::clear_parkspace_info() {
+  parkspace_info_.Clear();
+}
+Parkspace_allocation_data_msg::Parkspace_allocation_data_msg(::PROTOBUF_NAMESPACE_ID::Arena* arena)
+  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
+  parkspace_info_(arena) {
+  SharedCtor();
+  RegisterArenaDtor(arena);
+  // @@protoc_insertion_point(arena_constructor:message.Parkspace_allocation_data_msg)
+}
+Parkspace_allocation_data_msg::Parkspace_allocation_data_msg(const Parkspace_allocation_data_msg& from)
+  : ::PROTOBUF_NAMESPACE_ID::Message(),
+      _has_bits_(from._has_bits_),
+      parkspace_info_(from.parkspace_info_) {
+  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
+  if (from._internal_has_base_info()) {
+    base_info_ = new ::message::Base_info(*from.base_info_);
+  } else {
+    base_info_ = nullptr;
+  }
+  // @@protoc_insertion_point(copy_constructor:message.Parkspace_allocation_data_msg)
+}
+
+void Parkspace_allocation_data_msg::SharedCtor() {
+  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_Parkspace_allocation_data_msg_parkspace_5fallocation_5fmessage_2eproto.base);
+  base_info_ = nullptr;
+}
+
+Parkspace_allocation_data_msg::~Parkspace_allocation_data_msg() {
+  // @@protoc_insertion_point(destructor:message.Parkspace_allocation_data_msg)
+  SharedDtor();
+  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+}
+
+void Parkspace_allocation_data_msg::SharedDtor() {
+  GOOGLE_DCHECK(GetArena() == nullptr);
+  if (this != internal_default_instance()) delete base_info_;
+}
+
+void Parkspace_allocation_data_msg::ArenaDtor(void* object) {
+  Parkspace_allocation_data_msg* _this = reinterpret_cast< Parkspace_allocation_data_msg* >(object);
+  (void)_this;
+}
+void Parkspace_allocation_data_msg::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
+}
+void Parkspace_allocation_data_msg::SetCachedSize(int size) const {
+  _cached_size_.Set(size);
+}
+const Parkspace_allocation_data_msg& Parkspace_allocation_data_msg::default_instance() {
+  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_Parkspace_allocation_data_msg_parkspace_5fallocation_5fmessage_2eproto.base);
+  return *internal_default_instance();
+}
+
+
+void Parkspace_allocation_data_msg::Clear() {
+// @@protoc_insertion_point(message_clear_start:message.Parkspace_allocation_data_msg)
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  parkspace_info_.Clear();
+  cached_has_bits = _has_bits_[0];
+  if (cached_has_bits & 0x00000001u) {
+    GOOGLE_DCHECK(base_info_ != nullptr);
+    base_info_->Clear();
+  }
+  _has_bits_.Clear();
+  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+}
+
+const char* Parkspace_allocation_data_msg::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
+#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
+  _Internal::HasBits has_bits{};
+  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
+  while (!ctx->Done(&ptr)) {
+    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
+    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
+    CHK_(ptr);
+    switch (tag >> 3) {
+      // required .message.Base_info base_info = 1;
+      case 1:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+          ptr = ctx->ParseMessage(_internal_mutable_base_info(), ptr);
+          CHK_(ptr);
+        } else goto handle_unusual;
+        continue;
+      // repeated .message.Parkspace_info parkspace_info = 2;
+      case 2:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
+          ptr -= 1;
+          do {
+            ptr += 1;
+            ptr = ctx->ParseMessage(_internal_add_parkspace_info(), ptr);
+            CHK_(ptr);
+            if (!ctx->DataAvailable(ptr)) break;
+          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
+        } else goto handle_unusual;
+        continue;
+      default: {
+      handle_unusual:
+        if ((tag & 7) == 4 || tag == 0) {
+          ctx->SetLastTag(tag);
+          goto success;
+        }
+        ptr = UnknownFieldParse(tag,
+            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
+            ptr, ctx);
+        CHK_(ptr != nullptr);
+        continue;
+      }
+    }  // switch
+  }  // while
+success:
+  _has_bits_.Or(has_bits);
+  return ptr;
+failure:
+  ptr = nullptr;
+  goto success;
+#undef CHK_
+}
+
+::PROTOBUF_NAMESPACE_ID::uint8* Parkspace_allocation_data_msg::_InternalSerialize(
+    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
+  // @@protoc_insertion_point(serialize_to_array_start:message.Parkspace_allocation_data_msg)
+  ::PROTOBUF_NAMESPACE_ID::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 = stream->EnsureSpace(target);
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
+      InternalWriteMessage(
+        1, _Internal::base_info(this), target, stream);
+  }
+
+  // repeated .message.Parkspace_info parkspace_info = 2;
+  for (unsigned int i = 0,
+      n = static_cast<unsigned int>(this->_internal_parkspace_info_size()); i < n; i++) {
+    target = stream->EnsureSpace(target);
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
+      InternalWriteMessage(2, this->_internal_parkspace_info(i), target, stream);
+  }
+
+  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
+        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:message.Parkspace_allocation_data_msg)
+  return target;
+}
+
+size_t Parkspace_allocation_data_msg::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:message.Parkspace_allocation_data_msg)
+  size_t total_size = 0;
+
+  // required .message.Base_info base_info = 1;
+  if (_internal_has_base_info()) {
+    total_size += 1 +
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
+        *base_info_);
+  }
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  // repeated .message.Parkspace_info parkspace_info = 2;
+  total_size += 1UL * this->_internal_parkspace_info_size();
+  for (const auto& msg : this->parkspace_info_) {
+    total_size +=
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
+  }
+
+  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
+    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
+        _internal_metadata_, total_size, &_cached_size_);
+  }
+  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
+  SetCachedSize(cached_size);
+  return total_size;
+}
+
+void Parkspace_allocation_data_msg::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:message.Parkspace_allocation_data_msg)
+  GOOGLE_DCHECK_NE(&from, this);
+  const Parkspace_allocation_data_msg* source =
+      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<Parkspace_allocation_data_msg>(
+          &from);
+  if (source == nullptr) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:message.Parkspace_allocation_data_msg)
+    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:message.Parkspace_allocation_data_msg)
+    MergeFrom(*source);
+  }
+}
+
+void Parkspace_allocation_data_msg::MergeFrom(const Parkspace_allocation_data_msg& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:message.Parkspace_allocation_data_msg)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  parkspace_info_.MergeFrom(from.parkspace_info_);
+  if (from._internal_has_base_info()) {
+    _internal_mutable_base_info()->::message::Base_info::MergeFrom(from._internal_base_info());
+  }
+}
+
+void Parkspace_allocation_data_msg::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:message.Parkspace_allocation_data_msg)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void Parkspace_allocation_data_msg::CopyFrom(const Parkspace_allocation_data_msg& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:message.Parkspace_allocation_data_msg)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool Parkspace_allocation_data_msg::IsInitialized() const {
+  if (_Internal::MissingRequiredFields(_has_bits_)) return false;
+  if (_internal_has_base_info()) {
+    if (!base_info_->IsInitialized()) return false;
+  }
+  return true;
+}
+
+void Parkspace_allocation_data_msg::InternalSwap(Parkspace_allocation_data_msg* other) {
+  using std::swap;
+  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
+  swap(_has_bits_[0], other->_has_bits_[0]);
+  parkspace_info_.InternalSwap(&other->parkspace_info_);
+  swap(base_info_, other->base_info_);
+}
+
+::PROTOBUF_NAMESPACE_ID::Metadata Parkspace_allocation_data_msg::GetMetadata() const {
+  return GetMetadataStatic();
+}
+
+
 // @@protoc_insertion_point(namespace_scope)
 }  // namespace message
 PROTOBUF_NAMESPACE_OPEN
@@ -4002,6 +4535,12 @@ template<> PROTOBUF_NOINLINE ::message::Parkspace_confirm_alloc_response_msg* Ar
 template<> PROTOBUF_NOINLINE ::message::Parkspace_allocation_status_msg* Arena::CreateMaybeMessage< ::message::Parkspace_allocation_status_msg >(Arena* arena) {
   return Arena::CreateMessageInternal< ::message::Parkspace_allocation_status_msg >(arena);
 }
+template<> PROTOBUF_NOINLINE ::message::Parkspace_refresh_request_msg* Arena::CreateMaybeMessage< ::message::Parkspace_refresh_request_msg >(Arena* arena) {
+  return Arena::CreateMessageInternal< ::message::Parkspace_refresh_request_msg >(arena);
+}
+template<> PROTOBUF_NOINLINE ::message::Parkspace_allocation_data_msg* Arena::CreateMaybeMessage< ::message::Parkspace_allocation_data_msg >(Arena* arena) {
+  return Arena::CreateMessageInternal< ::message::Parkspace_allocation_data_msg >(arena);
+}
 PROTOBUF_NAMESPACE_CLOSE
 
 // @@protoc_insertion_point(global_scope)

+ 522 - 36
message/parkspace_allocation_message.pb.h

@@ -48,7 +48,7 @@ struct TableStruct_parkspace_5fallocation_5fmessage_2eproto {
     PROTOBUF_SECTION_VARIABLE(protodesc_cold);
   static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
     PROTOBUF_SECTION_VARIABLE(protodesc_cold);
-  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[9]
+  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[11]
     PROTOBUF_SECTION_VARIABLE(protodesc_cold);
   static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
   static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
@@ -56,6 +56,9 @@ struct TableStruct_parkspace_5fallocation_5fmessage_2eproto {
 };
 extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_parkspace_5fallocation_5fmessage_2eproto;
 namespace message {
+class Parkspace_allocation_data_msg;
+class Parkspace_allocation_data_msgDefaultTypeInternal;
+extern Parkspace_allocation_data_msgDefaultTypeInternal _Parkspace_allocation_data_msg_default_instance_;
 class Parkspace_allocation_request_msg;
 class Parkspace_allocation_request_msgDefaultTypeInternal;
 extern Parkspace_allocation_request_msgDefaultTypeInternal _Parkspace_allocation_request_msg_default_instance_;
@@ -71,6 +74,9 @@ extern Parkspace_confirm_alloc_request_msgDefaultTypeInternal _Parkspace_confirm
 class Parkspace_confirm_alloc_response_msg;
 class Parkspace_confirm_alloc_response_msgDefaultTypeInternal;
 extern Parkspace_confirm_alloc_response_msgDefaultTypeInternal _Parkspace_confirm_alloc_response_msg_default_instance_;
+class Parkspace_refresh_request_msg;
+class Parkspace_refresh_request_msgDefaultTypeInternal;
+extern Parkspace_refresh_request_msgDefaultTypeInternal _Parkspace_refresh_request_msg_default_instance_;
 class Parkspace_release_request_msg;
 class Parkspace_release_request_msgDefaultTypeInternal;
 extern Parkspace_release_request_msgDefaultTypeInternal _Parkspace_release_request_msg_default_instance_;
@@ -85,11 +91,13 @@ class Parkspace_search_response_msgDefaultTypeInternal;
 extern Parkspace_search_response_msgDefaultTypeInternal _Parkspace_search_response_msg_default_instance_;
 }  // namespace message
 PROTOBUF_NAMESPACE_OPEN
+template<> ::message::Parkspace_allocation_data_msg* Arena::CreateMaybeMessage<::message::Parkspace_allocation_data_msg>(Arena*);
 template<> ::message::Parkspace_allocation_request_msg* Arena::CreateMaybeMessage<::message::Parkspace_allocation_request_msg>(Arena*);
 template<> ::message::Parkspace_allocation_response_msg* Arena::CreateMaybeMessage<::message::Parkspace_allocation_response_msg>(Arena*);
 template<> ::message::Parkspace_allocation_status_msg* Arena::CreateMaybeMessage<::message::Parkspace_allocation_status_msg>(Arena*);
 template<> ::message::Parkspace_confirm_alloc_request_msg* Arena::CreateMaybeMessage<::message::Parkspace_confirm_alloc_request_msg>(Arena*);
 template<> ::message::Parkspace_confirm_alloc_response_msg* Arena::CreateMaybeMessage<::message::Parkspace_confirm_alloc_response_msg>(Arena*);
+template<> ::message::Parkspace_refresh_request_msg* Arena::CreateMaybeMessage<::message::Parkspace_refresh_request_msg>(Arena*);
 template<> ::message::Parkspace_release_request_msg* Arena::CreateMaybeMessage<::message::Parkspace_release_request_msg>(Arena*);
 template<> ::message::Parkspace_release_response_msg* Arena::CreateMaybeMessage<::message::Parkspace_release_response_msg>(Arena*);
 template<> ::message::Parkspace_search_request_msg* Arena::CreateMaybeMessage<::message::Parkspace_search_request_msg>(Arena*);
@@ -1906,28 +1914,9 @@ class Parkspace_allocation_status_msg PROTOBUF_FINAL :
   // accessors -------------------------------------------------------
 
   enum : int {
-    kParkspaceInfoFieldNumber = 3,
     kBaseInfoFieldNumber = 1,
     kErrorManagerFieldNumber = 2,
   };
-  // repeated .message.Parkspace_info parkspace_info = 3;
-  int parkspace_info_size() const;
-  private:
-  int _internal_parkspace_info_size() const;
-  public:
-  void clear_parkspace_info();
-  ::message::Parkspace_info* mutable_parkspace_info(int index);
-  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::message::Parkspace_info >*
-      mutable_parkspace_info();
-  private:
-  const ::message::Parkspace_info& _internal_parkspace_info(int index) const;
-  ::message::Parkspace_info* _internal_add_parkspace_info();
-  public:
-  const ::message::Parkspace_info& parkspace_info(int index) const;
-  ::message::Parkspace_info* add_parkspace_info();
-  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::message::Parkspace_info >&
-      parkspace_info() const;
-
   // required .message.Base_info base_info = 1;
   bool has_base_info() const;
   private:
@@ -1976,11 +1965,338 @@ class Parkspace_allocation_status_msg PROTOBUF_FINAL :
   typedef void DestructorSkippable_;
   ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
   mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::message::Parkspace_info > parkspace_info_;
   ::message::Base_info* base_info_;
   ::message::Error_manager* error_manager_;
   friend struct ::TableStruct_parkspace_5fallocation_5fmessage_2eproto;
 };
+// -------------------------------------------------------------------
+
+class Parkspace_refresh_request_msg PROTOBUF_FINAL :
+    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:message.Parkspace_refresh_request_msg) */ {
+ public:
+  inline Parkspace_refresh_request_msg() : Parkspace_refresh_request_msg(nullptr) {}
+  virtual ~Parkspace_refresh_request_msg();
+
+  Parkspace_refresh_request_msg(const Parkspace_refresh_request_msg& from);
+  Parkspace_refresh_request_msg(Parkspace_refresh_request_msg&& from) noexcept
+    : Parkspace_refresh_request_msg() {
+    *this = ::std::move(from);
+  }
+
+  inline Parkspace_refresh_request_msg& operator=(const Parkspace_refresh_request_msg& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  inline Parkspace_refresh_request_msg& operator=(Parkspace_refresh_request_msg&& from) noexcept {
+    if (GetArena() == from.GetArena()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+
+  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
+    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
+  }
+  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
+    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+  }
+
+  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
+    return GetDescriptor();
+  }
+  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
+    return GetMetadataStatic().descriptor;
+  }
+  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
+    return GetMetadataStatic().reflection;
+  }
+  static const Parkspace_refresh_request_msg& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const Parkspace_refresh_request_msg* internal_default_instance() {
+    return reinterpret_cast<const Parkspace_refresh_request_msg*>(
+               &_Parkspace_refresh_request_msg_default_instance_);
+  }
+  static constexpr int kIndexInFileMessages =
+    9;
+
+  friend void swap(Parkspace_refresh_request_msg& a, Parkspace_refresh_request_msg& b) {
+    a.Swap(&b);
+  }
+  inline void Swap(Parkspace_refresh_request_msg* other) {
+    if (other == this) return;
+    if (GetArena() == other->GetArena()) {
+      InternalSwap(other);
+    } else {
+      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
+    }
+  }
+  void UnsafeArenaSwap(Parkspace_refresh_request_msg* other) {
+    if (other == this) return;
+    GOOGLE_DCHECK(GetArena() == other->GetArena());
+    InternalSwap(other);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline Parkspace_refresh_request_msg* New() const final {
+    return CreateMaybeMessage<Parkspace_refresh_request_msg>(nullptr);
+  }
+
+  Parkspace_refresh_request_msg* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
+    return CreateMaybeMessage<Parkspace_refresh_request_msg>(arena);
+  }
+  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
+  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
+  void CopyFrom(const Parkspace_refresh_request_msg& from);
+  void MergeFrom(const Parkspace_refresh_request_msg& from);
+  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
+  bool IsInitialized() const final;
+
+  size_t ByteSizeLong() const final;
+  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
+  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
+      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
+  private:
+  inline void SharedCtor();
+  inline void SharedDtor();
+  void SetCachedSize(int size) const final;
+  void InternalSwap(Parkspace_refresh_request_msg* other);
+  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
+  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
+    return "message.Parkspace_refresh_request_msg";
+  }
+  protected:
+  explicit Parkspace_refresh_request_msg(::PROTOBUF_NAMESPACE_ID::Arena* arena);
+  private:
+  static void ArenaDtor(void* object);
+  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
+  public:
+
+  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
+  private:
+  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
+    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_parkspace_5fallocation_5fmessage_2eproto);
+    return ::descriptor_table_parkspace_5fallocation_5fmessage_2eproto.file_level_metadata[kIndexInFileMessages];
+  }
+
+  public:
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  enum : int {
+    kBaseInfoFieldNumber = 1,
+  };
+  // required .message.Base_info base_info = 1;
+  bool has_base_info() const;
+  private:
+  bool _internal_has_base_info() const;
+  public:
+  void clear_base_info();
+  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);
+  private:
+  const ::message::Base_info& _internal_base_info() const;
+  ::message::Base_info* _internal_mutable_base_info();
+  public:
+  void unsafe_arena_set_allocated_base_info(
+      ::message::Base_info* base_info);
+  ::message::Base_info* unsafe_arena_release_base_info();
+
+  // @@protoc_insertion_point(class_scope:message.Parkspace_refresh_request_msg)
+ private:
+  class _Internal;
+
+  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
+  typedef void InternalArenaConstructable_;
+  typedef void DestructorSkippable_;
+  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
+  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
+  ::message::Base_info* base_info_;
+  friend struct ::TableStruct_parkspace_5fallocation_5fmessage_2eproto;
+};
+// -------------------------------------------------------------------
+
+class Parkspace_allocation_data_msg PROTOBUF_FINAL :
+    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:message.Parkspace_allocation_data_msg) */ {
+ public:
+  inline Parkspace_allocation_data_msg() : Parkspace_allocation_data_msg(nullptr) {}
+  virtual ~Parkspace_allocation_data_msg();
+
+  Parkspace_allocation_data_msg(const Parkspace_allocation_data_msg& from);
+  Parkspace_allocation_data_msg(Parkspace_allocation_data_msg&& from) noexcept
+    : Parkspace_allocation_data_msg() {
+    *this = ::std::move(from);
+  }
+
+  inline Parkspace_allocation_data_msg& operator=(const Parkspace_allocation_data_msg& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  inline Parkspace_allocation_data_msg& operator=(Parkspace_allocation_data_msg&& from) noexcept {
+    if (GetArena() == from.GetArena()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+
+  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
+    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
+  }
+  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
+    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+  }
+
+  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
+    return GetDescriptor();
+  }
+  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
+    return GetMetadataStatic().descriptor;
+  }
+  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
+    return GetMetadataStatic().reflection;
+  }
+  static const Parkspace_allocation_data_msg& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const Parkspace_allocation_data_msg* internal_default_instance() {
+    return reinterpret_cast<const Parkspace_allocation_data_msg*>(
+               &_Parkspace_allocation_data_msg_default_instance_);
+  }
+  static constexpr int kIndexInFileMessages =
+    10;
+
+  friend void swap(Parkspace_allocation_data_msg& a, Parkspace_allocation_data_msg& b) {
+    a.Swap(&b);
+  }
+  inline void Swap(Parkspace_allocation_data_msg* other) {
+    if (other == this) return;
+    if (GetArena() == other->GetArena()) {
+      InternalSwap(other);
+    } else {
+      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
+    }
+  }
+  void UnsafeArenaSwap(Parkspace_allocation_data_msg* other) {
+    if (other == this) return;
+    GOOGLE_DCHECK(GetArena() == other->GetArena());
+    InternalSwap(other);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline Parkspace_allocation_data_msg* New() const final {
+    return CreateMaybeMessage<Parkspace_allocation_data_msg>(nullptr);
+  }
+
+  Parkspace_allocation_data_msg* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
+    return CreateMaybeMessage<Parkspace_allocation_data_msg>(arena);
+  }
+  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
+  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
+  void CopyFrom(const Parkspace_allocation_data_msg& from);
+  void MergeFrom(const Parkspace_allocation_data_msg& from);
+  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
+  bool IsInitialized() const final;
+
+  size_t ByteSizeLong() const final;
+  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
+  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
+      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
+  private:
+  inline void SharedCtor();
+  inline void SharedDtor();
+  void SetCachedSize(int size) const final;
+  void InternalSwap(Parkspace_allocation_data_msg* other);
+  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
+  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
+    return "message.Parkspace_allocation_data_msg";
+  }
+  protected:
+  explicit Parkspace_allocation_data_msg(::PROTOBUF_NAMESPACE_ID::Arena* arena);
+  private:
+  static void ArenaDtor(void* object);
+  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
+  public:
+
+  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
+  private:
+  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
+    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_parkspace_5fallocation_5fmessage_2eproto);
+    return ::descriptor_table_parkspace_5fallocation_5fmessage_2eproto.file_level_metadata[kIndexInFileMessages];
+  }
+
+  public:
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  enum : int {
+    kParkspaceInfoFieldNumber = 2,
+    kBaseInfoFieldNumber = 1,
+  };
+  // repeated .message.Parkspace_info parkspace_info = 2;
+  int parkspace_info_size() const;
+  private:
+  int _internal_parkspace_info_size() const;
+  public:
+  void clear_parkspace_info();
+  ::message::Parkspace_info* mutable_parkspace_info(int index);
+  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::message::Parkspace_info >*
+      mutable_parkspace_info();
+  private:
+  const ::message::Parkspace_info& _internal_parkspace_info(int index) const;
+  ::message::Parkspace_info* _internal_add_parkspace_info();
+  public:
+  const ::message::Parkspace_info& parkspace_info(int index) const;
+  ::message::Parkspace_info* add_parkspace_info();
+  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::message::Parkspace_info >&
+      parkspace_info() const;
+
+  // required .message.Base_info base_info = 1;
+  bool has_base_info() const;
+  private:
+  bool _internal_has_base_info() const;
+  public:
+  void clear_base_info();
+  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);
+  private:
+  const ::message::Base_info& _internal_base_info() const;
+  ::message::Base_info* _internal_mutable_base_info();
+  public:
+  void unsafe_arena_set_allocated_base_info(
+      ::message::Base_info* base_info);
+  ::message::Base_info* unsafe_arena_release_base_info();
+
+  // @@protoc_insertion_point(class_scope:message.Parkspace_allocation_data_msg)
+ private:
+  class _Internal;
+
+  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
+  typedef void InternalArenaConstructable_;
+  typedef void DestructorSkippable_;
+  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
+  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
+  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::message::Parkspace_info > parkspace_info_;
+  ::message::Base_info* base_info_;
+  friend struct ::TableStruct_parkspace_5fallocation_5fmessage_2eproto;
+};
 // ===================================================================
 
 
@@ -4382,39 +4698,205 @@ inline void Parkspace_allocation_status_msg::set_allocated_error_manager(::messa
   // @@protoc_insertion_point(field_set_allocated:message.Parkspace_allocation_status_msg.error_manager)
 }
 
-// repeated .message.Parkspace_info parkspace_info = 3;
-inline int Parkspace_allocation_status_msg::_internal_parkspace_info_size() const {
+// -------------------------------------------------------------------
+
+// Parkspace_refresh_request_msg
+
+// required .message.Base_info base_info = 1;
+inline bool Parkspace_refresh_request_msg::_internal_has_base_info() const {
+  bool value = (_has_bits_[0] & 0x00000001u) != 0;
+  PROTOBUF_ASSUME(!value || base_info_ != nullptr);
+  return value;
+}
+inline bool Parkspace_refresh_request_msg::has_base_info() const {
+  return _internal_has_base_info();
+}
+inline const ::message::Base_info& Parkspace_refresh_request_msg::_internal_base_info() const {
+  const ::message::Base_info* p = base_info_;
+  return p != nullptr ? *p : *reinterpret_cast<const ::message::Base_info*>(
+      &::message::_Base_info_default_instance_);
+}
+inline const ::message::Base_info& Parkspace_refresh_request_msg::base_info() const {
+  // @@protoc_insertion_point(field_get:message.Parkspace_refresh_request_msg.base_info)
+  return _internal_base_info();
+}
+inline void Parkspace_refresh_request_msg::unsafe_arena_set_allocated_base_info(
+    ::message::Base_info* base_info) {
+  if (GetArena() == nullptr) {
+    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info_);
+  }
+  base_info_ = base_info;
+  if (base_info) {
+    _has_bits_[0] |= 0x00000001u;
+  } else {
+    _has_bits_[0] &= ~0x00000001u;
+  }
+  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:message.Parkspace_refresh_request_msg.base_info)
+}
+inline ::message::Base_info* Parkspace_refresh_request_msg::release_base_info() {
+  _has_bits_[0] &= ~0x00000001u;
+  ::message::Base_info* temp = base_info_;
+  base_info_ = nullptr;
+  if (GetArena() != nullptr) {
+    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
+  }
+  return temp;
+}
+inline ::message::Base_info* Parkspace_refresh_request_msg::unsafe_arena_release_base_info() {
+  // @@protoc_insertion_point(field_release:message.Parkspace_refresh_request_msg.base_info)
+  _has_bits_[0] &= ~0x00000001u;
+  ::message::Base_info* temp = base_info_;
+  base_info_ = nullptr;
+  return temp;
+}
+inline ::message::Base_info* Parkspace_refresh_request_msg::_internal_mutable_base_info() {
+  _has_bits_[0] |= 0x00000001u;
+  if (base_info_ == nullptr) {
+    auto* p = CreateMaybeMessage<::message::Base_info>(GetArena());
+    base_info_ = p;
+  }
+  return base_info_;
+}
+inline ::message::Base_info* Parkspace_refresh_request_msg::mutable_base_info() {
+  // @@protoc_insertion_point(field_mutable:message.Parkspace_refresh_request_msg.base_info)
+  return _internal_mutable_base_info();
+}
+inline void Parkspace_refresh_request_msg::set_allocated_base_info(::message::Base_info* base_info) {
+  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
+  if (message_arena == nullptr) {
+    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info_);
+  }
+  if (base_info) {
+    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
+      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info)->GetArena();
+    if (message_arena != submessage_arena) {
+      base_info = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
+          message_arena, base_info, submessage_arena);
+    }
+    _has_bits_[0] |= 0x00000001u;
+  } else {
+    _has_bits_[0] &= ~0x00000001u;
+  }
+  base_info_ = base_info;
+  // @@protoc_insertion_point(field_set_allocated:message.Parkspace_refresh_request_msg.base_info)
+}
+
+// -------------------------------------------------------------------
+
+// Parkspace_allocation_data_msg
+
+// required .message.Base_info base_info = 1;
+inline bool Parkspace_allocation_data_msg::_internal_has_base_info() const {
+  bool value = (_has_bits_[0] & 0x00000001u) != 0;
+  PROTOBUF_ASSUME(!value || base_info_ != nullptr);
+  return value;
+}
+inline bool Parkspace_allocation_data_msg::has_base_info() const {
+  return _internal_has_base_info();
+}
+inline const ::message::Base_info& Parkspace_allocation_data_msg::_internal_base_info() const {
+  const ::message::Base_info* p = base_info_;
+  return p != nullptr ? *p : *reinterpret_cast<const ::message::Base_info*>(
+      &::message::_Base_info_default_instance_);
+}
+inline const ::message::Base_info& Parkspace_allocation_data_msg::base_info() const {
+  // @@protoc_insertion_point(field_get:message.Parkspace_allocation_data_msg.base_info)
+  return _internal_base_info();
+}
+inline void Parkspace_allocation_data_msg::unsafe_arena_set_allocated_base_info(
+    ::message::Base_info* base_info) {
+  if (GetArena() == nullptr) {
+    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info_);
+  }
+  base_info_ = base_info;
+  if (base_info) {
+    _has_bits_[0] |= 0x00000001u;
+  } else {
+    _has_bits_[0] &= ~0x00000001u;
+  }
+  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:message.Parkspace_allocation_data_msg.base_info)
+}
+inline ::message::Base_info* Parkspace_allocation_data_msg::release_base_info() {
+  _has_bits_[0] &= ~0x00000001u;
+  ::message::Base_info* temp = base_info_;
+  base_info_ = nullptr;
+  if (GetArena() != nullptr) {
+    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
+  }
+  return temp;
+}
+inline ::message::Base_info* Parkspace_allocation_data_msg::unsafe_arena_release_base_info() {
+  // @@protoc_insertion_point(field_release:message.Parkspace_allocation_data_msg.base_info)
+  _has_bits_[0] &= ~0x00000001u;
+  ::message::Base_info* temp = base_info_;
+  base_info_ = nullptr;
+  return temp;
+}
+inline ::message::Base_info* Parkspace_allocation_data_msg::_internal_mutable_base_info() {
+  _has_bits_[0] |= 0x00000001u;
+  if (base_info_ == nullptr) {
+    auto* p = CreateMaybeMessage<::message::Base_info>(GetArena());
+    base_info_ = p;
+  }
+  return base_info_;
+}
+inline ::message::Base_info* Parkspace_allocation_data_msg::mutable_base_info() {
+  // @@protoc_insertion_point(field_mutable:message.Parkspace_allocation_data_msg.base_info)
+  return _internal_mutable_base_info();
+}
+inline void Parkspace_allocation_data_msg::set_allocated_base_info(::message::Base_info* base_info) {
+  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
+  if (message_arena == nullptr) {
+    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info_);
+  }
+  if (base_info) {
+    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
+      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_info)->GetArena();
+    if (message_arena != submessage_arena) {
+      base_info = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
+          message_arena, base_info, submessage_arena);
+    }
+    _has_bits_[0] |= 0x00000001u;
+  } else {
+    _has_bits_[0] &= ~0x00000001u;
+  }
+  base_info_ = base_info;
+  // @@protoc_insertion_point(field_set_allocated:message.Parkspace_allocation_data_msg.base_info)
+}
+
+// repeated .message.Parkspace_info parkspace_info = 2;
+inline int Parkspace_allocation_data_msg::_internal_parkspace_info_size() const {
   return parkspace_info_.size();
 }
-inline int Parkspace_allocation_status_msg::parkspace_info_size() const {
+inline int Parkspace_allocation_data_msg::parkspace_info_size() const {
   return _internal_parkspace_info_size();
 }
-inline ::message::Parkspace_info* Parkspace_allocation_status_msg::mutable_parkspace_info(int index) {
-  // @@protoc_insertion_point(field_mutable:message.Parkspace_allocation_status_msg.parkspace_info)
+inline ::message::Parkspace_info* Parkspace_allocation_data_msg::mutable_parkspace_info(int index) {
+  // @@protoc_insertion_point(field_mutable:message.Parkspace_allocation_data_msg.parkspace_info)
   return parkspace_info_.Mutable(index);
 }
 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::message::Parkspace_info >*
-Parkspace_allocation_status_msg::mutable_parkspace_info() {
-  // @@protoc_insertion_point(field_mutable_list:message.Parkspace_allocation_status_msg.parkspace_info)
+Parkspace_allocation_data_msg::mutable_parkspace_info() {
+  // @@protoc_insertion_point(field_mutable_list:message.Parkspace_allocation_data_msg.parkspace_info)
   return &parkspace_info_;
 }
-inline const ::message::Parkspace_info& Parkspace_allocation_status_msg::_internal_parkspace_info(int index) const {
+inline const ::message::Parkspace_info& Parkspace_allocation_data_msg::_internal_parkspace_info(int index) const {
   return parkspace_info_.Get(index);
 }
-inline const ::message::Parkspace_info& Parkspace_allocation_status_msg::parkspace_info(int index) const {
-  // @@protoc_insertion_point(field_get:message.Parkspace_allocation_status_msg.parkspace_info)
+inline const ::message::Parkspace_info& Parkspace_allocation_data_msg::parkspace_info(int index) const {
+  // @@protoc_insertion_point(field_get:message.Parkspace_allocation_data_msg.parkspace_info)
   return _internal_parkspace_info(index);
 }
-inline ::message::Parkspace_info* Parkspace_allocation_status_msg::_internal_add_parkspace_info() {
+inline ::message::Parkspace_info* Parkspace_allocation_data_msg::_internal_add_parkspace_info() {
   return parkspace_info_.Add();
 }
-inline ::message::Parkspace_info* Parkspace_allocation_status_msg::add_parkspace_info() {
-  // @@protoc_insertion_point(field_add:message.Parkspace_allocation_status_msg.parkspace_info)
+inline ::message::Parkspace_info* Parkspace_allocation_data_msg::add_parkspace_info() {
+  // @@protoc_insertion_point(field_add:message.Parkspace_allocation_data_msg.parkspace_info)
   return _internal_add_parkspace_info();
 }
 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::message::Parkspace_info >&
-Parkspace_allocation_status_msg::parkspace_info() const {
-  // @@protoc_insertion_point(field_list:message.Parkspace_allocation_status_msg.parkspace_info)
+Parkspace_allocation_data_msg::parkspace_info() const {
+  // @@protoc_insertion_point(field_list:message.Parkspace_allocation_data_msg.parkspace_info)
   return parkspace_info_;
 }
 
@@ -4437,6 +4919,10 @@ Parkspace_allocation_status_msg::parkspace_info() const {
 
 // -------------------------------------------------------------------
 
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
 
 // @@protoc_insertion_point(namespace_scope)
 

+ 11 - 1
message/parkspace_allocation_message.proto

@@ -75,7 +75,17 @@ message Parkspace_allocation_status_msg
 {
     required Base_info                  base_info=1;            //消息类型
     required Error_manager              error_manager=2;
-    repeated Parkspace_info             parkspace_info=3;       //车位状态
 }
 
+//更新车位数据请求
+message Parkspace_refresh_request_msg
+{
+    required Base_info                  base_info=1;            //消息类型
+}
+// 车位数据信息
+message Parkspace_allocation_data_msg
+{
+    required Base_info                  base_info=1;            //消息类型
+    repeated Parkspace_info             parkspace_info=2;
+}
 

+ 0 - 7
system/PickupProcessTask.cpp

@@ -17,17 +17,10 @@ PickupProcessTask::PickupProcessTask(unsigned int terminal_id,message::Car_info
 }
 PickupProcessTask::~PickupProcessTask()
 {
-    Exception_solver::get_instance_pointer()->delete_task_cancel_condition(m_car_info.license());
-
 }
 Error_manager PickupProcessTask::init_task()
 {
     reset_msg();
-    //添加当前流程的任务取消标志位到异常处理模块
-    m_cancel_condition.reset(false, false, false);
-    Error_manager code=Exception_solver::get_instance_pointer()->add_task_cancel_condition(m_car_info.license(),this);
-    if(code!=SUCCESS)
-        return code;
 
     //设置状态消息,基本信息
     message::Base_info base_info;

+ 0 - 8
system/StoreProcessTask.cpp

@@ -19,8 +19,6 @@ StoreProcessTask::StoreProcessTask(unsigned int terminor_id,message::Car_info ca
 
 StoreProcessTask::~StoreProcessTask()
 {
-    Exception_solver::get_instance_pointer()->delete_task_cancel_condition(m_car_info.license());
-
 }
 
 Error_manager StoreProcessTask::init_task(message::Locate_information locate_info)
@@ -28,12 +26,6 @@ Error_manager StoreProcessTask::init_task(message::Locate_information locate_inf
     reset_msg();
     m_locate_info=locate_info;
 
-    //添加当前流程的任务取消标志位到异常处理模块
-    m_cancel_condition.reset(false, false, false);
-    Error_manager code=Exception_solver::get_instance_pointer()->add_task_cancel_condition(m_car_info.license(),this);
-    if(code!=SUCCESS)
-        return code;
-
     //初始化进度状态消息基本信息
     message::Base_info base_info;
     base_info.set_msg_type(message::eStoring_process_statu_msg);