// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 // protoc v4.23.1 // source: request.proto package request_proto import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // 继电器操作 type Relay_Operation int32 const ( Relay_Undefined Relay_Operation = 0 // 未定义 Relay_ForceQw Relay_Operation = 1 // 强制前接点位(吸起) Relay_ForceHw Relay_Operation = 2 // 强制后接点位(落下) Relay_CancelForce Relay_Operation = 3 // 取消强制 ) // Enum value maps for Relay_Operation. var ( Relay_Operation_name = map[int32]string{ 0: "Undefined", 1: "ForceQw", 2: "ForceHw", 3: "CancelForce", } Relay_Operation_value = map[string]int32{ "Undefined": 0, "ForceQw": 1, "ForceHw": 2, "CancelForce": 3, } ) func (x Relay_Operation) Enum() *Relay_Operation { p := new(Relay_Operation) *p = x return p } func (x Relay_Operation) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Relay_Operation) Descriptor() protoreflect.EnumDescriptor { return file_request_proto_enumTypes[0].Descriptor() } func (Relay_Operation) Type() protoreflect.EnumType { return &file_request_proto_enumTypes[0] } func (x Relay_Operation) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Relay_Operation.Descriptor instead. func (Relay_Operation) EnumDescriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{0, 0} } // 道岔操作 type Points_Operation int32 const ( Points_Undefined Points_Operation = 0 // 未定义 Points_SetParams Points_Operation = 1 // 设置参数 ) // Enum value maps for Points_Operation. var ( Points_Operation_name = map[int32]string{ 0: "Undefined", 1: "SetParams", } Points_Operation_value = map[string]int32{ "Undefined": 0, "SetParams": 1, } ) func (x Points_Operation) Enum() *Points_Operation { p := new(Points_Operation) *p = x return p } func (x Points_Operation) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Points_Operation) Descriptor() protoreflect.EnumDescriptor { return file_request_proto_enumTypes[1].Descriptor() } func (Points_Operation) Type() protoreflect.EnumType { return &file_request_proto_enumTypes[1] } func (x Points_Operation) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Points_Operation.Descriptor instead. func (Points_Operation) EnumDescriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{2, 0} } // 道岔强制 type Points_Force int32 const ( Points_FP_NONE Points_Force = 0 // 无强制 Points_FP_DW Points_Force = 1 // 定位 Points_FP_FW Points_Force = 2 // 反位 Points_FP_SB Points_Force = 3 // 失表 ) // Enum value maps for Points_Force. var ( Points_Force_name = map[int32]string{ 0: "FP_NONE", 1: "FP_DW", 2: "FP_FW", 3: "FP_SB", } Points_Force_value = map[string]int32{ "FP_NONE": 0, "FP_DW": 1, "FP_FW": 2, "FP_SB": 3, } ) func (x Points_Force) Enum() *Points_Force { p := new(Points_Force) *p = x return p } func (x Points_Force) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Points_Force) Descriptor() protoreflect.EnumDescriptor { return file_request_proto_enumTypes[2].Descriptor() } func (Points_Force) Type() protoreflect.EnumType { return &file_request_proto_enumTypes[2] } func (x Points_Force) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Points_Force.Descriptor instead. func (Points_Force) EnumDescriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{2, 1} } // 信号机操作 type Signal_Operation int32 const ( Signal_Undefined Signal_Operation = 0 // 未定义 Signal_SetParams Signal_Operation = 1 // 设置参数 ) // Enum value maps for Signal_Operation. var ( Signal_Operation_name = map[int32]string{ 0: "Undefined", 1: "SetParams", } Signal_Operation_value = map[string]int32{ "Undefined": 0, "SetParams": 1, } ) func (x Signal_Operation) Enum() *Signal_Operation { p := new(Signal_Operation) *p = x return p } func (x Signal_Operation) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Signal_Operation) Descriptor() protoreflect.EnumDescriptor { return file_request_proto_enumTypes[3].Descriptor() } func (Signal_Operation) Type() protoreflect.EnumType { return &file_request_proto_enumTypes[3] } func (x Signal_Operation) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Signal_Operation.Descriptor instead. func (Signal_Operation) EnumDescriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{5, 0} } type Signal_DS int32 const ( Signal_DS_H Signal_DS = 0 // 红灯断丝 Signal_DS_U Signal_DS = 1 // 黄灯断丝 Signal_DS_L Signal_DS = 2 // 绿灯断丝 Signal_DS_A Signal_DS = 3 // 蓝灯断丝 Signal_DS_B Signal_DS = 4 // 白灯断丝 ) // Enum value maps for Signal_DS. var ( Signal_DS_name = map[int32]string{ 0: "DS_H", 1: "DS_U", 2: "DS_L", 3: "DS_A", 4: "DS_B", } Signal_DS_value = map[string]int32{ "DS_H": 0, "DS_U": 1, "DS_L": 2, "DS_A": 3, "DS_B": 4, } ) func (x Signal_DS) Enum() *Signal_DS { p := new(Signal_DS) *p = x return p } func (x Signal_DS) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Signal_DS) Descriptor() protoreflect.EnumDescriptor { return file_request_proto_enumTypes[4].Descriptor() } func (Signal_DS) Type() protoreflect.EnumType { return &file_request_proto_enumTypes[4] } func (x Signal_DS) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Signal_DS.Descriptor instead. func (Signal_DS) EnumDescriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{5, 1} } // 信号机强制 type Signal_Force int32 const ( Signal_SF_NONE Signal_Force = 0 // 无强制 Signal_SF_M Signal_Force = 1 // 灭灯 Signal_SF_H Signal_Force = 2 // 红灯 Signal_SF_U Signal_Force = 3 // 黄灯 Signal_SF_L Signal_Force = 4 // 绿灯 Signal_SF_HU Signal_Force = 5 // 红黄灯 Signal_SF_A Signal_Force = 6 // 蓝灯 Signal_SF_B Signal_Force = 7 // 白灯 ) // Enum value maps for Signal_Force. var ( Signal_Force_name = map[int32]string{ 0: "SF_NONE", 1: "SF_M", 2: "SF_H", 3: "SF_U", 4: "SF_L", 5: "SF_HU", 6: "SF_A", 7: "SF_B", } Signal_Force_value = map[string]int32{ "SF_NONE": 0, "SF_M": 1, "SF_H": 2, "SF_U": 3, "SF_L": 4, "SF_HU": 5, "SF_A": 6, "SF_B": 7, } ) func (x Signal_Force) Enum() *Signal_Force { p := new(Signal_Force) *p = x return p } func (x Signal_Force) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Signal_Force) Descriptor() protoreflect.EnumDescriptor { return file_request_proto_enumTypes[5].Descriptor() } func (Signal_Force) Type() protoreflect.EnumType { return &file_request_proto_enumTypes[5] } func (x Signal_Force) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Signal_Force.Descriptor instead. func (Signal_Force) EnumDescriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{5, 2} } // 区段操作 type Section_Operation int32 const ( Section_Undefined Section_Operation = 0 // 未定义 Section_SetParams Section_Operation = 1 // 设置参数 // SetDrst = 0;//设置计轴直接复位 // CancelDrst = 1;//取消计轴直接复位 // SetPdrst = 2;//设置计轴预复位 // CancelPdrst = 3;//取消计轴预复位 Section_SetFaultOcc Section_Operation = 4 //设置故障占用 ) // Enum value maps for Section_Operation. var ( Section_Operation_name = map[int32]string{ 0: "Undefined", 1: "SetParams", 4: "SetFaultOcc", } Section_Operation_value = map[string]int32{ "Undefined": 0, "SetParams": 1, "SetFaultOcc": 4, } ) func (x Section_Operation) Enum() *Section_Operation { p := new(Section_Operation) *p = x return p } func (x Section_Operation) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Section_Operation) Descriptor() protoreflect.EnumDescriptor { return file_request_proto_enumTypes[6].Descriptor() } func (Section_Operation) Type() protoreflect.EnumType { return &file_request_proto_enumTypes[6] } func (x Section_Operation) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Section_Operation.Descriptor instead. func (Section_Operation) EnumDescriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{8, 0} } type Psd_Operation int32 const ( Psd_Undefined Psd_Operation = 0 Psd_SetParams Psd_Operation = 1 // 设置参数 ) // Enum value maps for Psd_Operation. var ( Psd_Operation_name = map[int32]string{ 0: "Undefined", 1: "SetParams", } Psd_Operation_value = map[string]int32{ "Undefined": 0, "SetParams": 1, } ) func (x Psd_Operation) Enum() *Psd_Operation { p := new(Psd_Operation) *p = x return p } func (x Psd_Operation) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Psd_Operation) Descriptor() protoreflect.EnumDescriptor { return file_request_proto_enumTypes[7].Descriptor() } func (Psd_Operation) Type() protoreflect.EnumType { return &file_request_proto_enumTypes[7] } func (x Psd_Operation) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Psd_Operation.Descriptor instead. func (Psd_Operation) EnumDescriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{11, 0} } type Psd_Force int32 const ( Psd_F_NONE Psd_Force = 0 //无强制 Psd_F_ASD_KM Psd_Force = 1 //滑动门强制开门 Psd_F_ASD_GM Psd_Force = 2 //滑动门强制关门 ) // Enum value maps for Psd_Force. var ( Psd_Force_name = map[int32]string{ 0: "F_NONE", 1: "F_ASD_KM", 2: "F_ASD_GM", } Psd_Force_value = map[string]int32{ "F_NONE": 0, "F_ASD_KM": 1, "F_ASD_GM": 2, } ) func (x Psd_Force) Enum() *Psd_Force { p := new(Psd_Force) *p = x return p } func (x Psd_Force) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Psd_Force) Descriptor() protoreflect.EnumDescriptor { return file_request_proto_enumTypes[8].Descriptor() } func (Psd_Force) Type() protoreflect.EnumType { return &file_request_proto_enumTypes[8] } func (x Psd_Force) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Psd_Force.Descriptor instead. func (Psd_Force) EnumDescriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{11, 1} } type Psd_Fault int32 const ( Psd_FA_NONE Psd_Fault = 0 //无故障 Psd_FA_Obstacle Psd_Fault = 1 //设置故障物 ) // Enum value maps for Psd_Fault. var ( Psd_Fault_name = map[int32]string{ 0: "FA_NONE", 1: "FA_Obstacle", } Psd_Fault_value = map[string]int32{ "FA_NONE": 0, "FA_Obstacle": 1, } ) func (x Psd_Fault) Enum() *Psd_Fault { p := new(Psd_Fault) *p = x return p } func (x Psd_Fault) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Psd_Fault) Descriptor() protoreflect.EnumDescriptor { return file_request_proto_enumTypes[9].Descriptor() } func (Psd_Fault) Type() protoreflect.EnumType { return &file_request_proto_enumTypes[9] } func (x Psd_Fault) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Psd_Fault.Descriptor instead. func (Psd_Fault) EnumDescriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{11, 2} } type TrainControl_TrainControlType int32 const ( TrainControl_EMERGENT_BUTTON TrainControl_TrainControlType = 0 // 摁钮 TrainControl_DRIVER_KEY_SWITCH TrainControl_TrainControlType = 1 //驾驶端钥匙 TrainControl_DIRECTION_KEY_SWITCH TrainControl_TrainControlType = 2 //方向钥匙 TrainControl_HANDLER TrainControl_TrainControlType = 3 //手柄 ) // Enum value maps for TrainControl_TrainControlType. var ( TrainControl_TrainControlType_name = map[int32]string{ 0: "EMERGENT_BUTTON", 1: "DRIVER_KEY_SWITCH", 2: "DIRECTION_KEY_SWITCH", 3: "HANDLER", } TrainControl_TrainControlType_value = map[string]int32{ "EMERGENT_BUTTON": 0, "DRIVER_KEY_SWITCH": 1, "DIRECTION_KEY_SWITCH": 2, "HANDLER": 3, } ) func (x TrainControl_TrainControlType) Enum() *TrainControl_TrainControlType { p := new(TrainControl_TrainControlType) *p = x return p } func (x TrainControl_TrainControlType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (TrainControl_TrainControlType) Descriptor() protoreflect.EnumDescriptor { return file_request_proto_enumTypes[10].Descriptor() } func (TrainControl_TrainControlType) Type() protoreflect.EnumType { return &file_request_proto_enumTypes[10] } func (x TrainControl_TrainControlType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use TrainControl_TrainControlType.Descriptor instead. func (TrainControl_TrainControlType) EnumDescriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{14, 0} } type Ckm_Operation int32 const ( Ckm_Undefined Ckm_Operation = 0 Ckm_SetParams Ckm_Operation = 1 ) // Enum value maps for Ckm_Operation. var ( Ckm_Operation_name = map[int32]string{ 0: "Undefined", 1: "SetParams", } Ckm_Operation_value = map[string]int32{ "Undefined": 0, "SetParams": 1, } ) func (x Ckm_Operation) Enum() *Ckm_Operation { p := new(Ckm_Operation) *p = x return p } func (x Ckm_Operation) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Ckm_Operation) Descriptor() protoreflect.EnumDescriptor { return file_request_proto_enumTypes[11].Descriptor() } func (Ckm_Operation) Type() protoreflect.EnumType { return &file_request_proto_enumTypes[11] } func (x Ckm_Operation) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Ckm_Operation.Descriptor instead. func (Ckm_Operation) EnumDescriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{16, 0} } type Ckm_Force int32 const ( Ckm_F_NONE Ckm_Force = 0 //无强制 Ckm_F_KM Ckm_Force = 1 //强制开门 Ckm_F_GM Ckm_Force = 2 //强制关门 ) // Enum value maps for Ckm_Force. var ( Ckm_Force_name = map[int32]string{ 0: "F_NONE", 1: "F_KM", 2: "F_GM", } Ckm_Force_value = map[string]int32{ "F_NONE": 0, "F_KM": 1, "F_GM": 2, } ) func (x Ckm_Force) Enum() *Ckm_Force { p := new(Ckm_Force) *p = x return p } func (x Ckm_Force) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Ckm_Force) Descriptor() protoreflect.EnumDescriptor { return file_request_proto_enumTypes[12].Descriptor() } func (Ckm_Force) Type() protoreflect.EnumType { return &file_request_proto_enumTypes[12] } func (x Ckm_Force) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Ckm_Force.Descriptor instead. func (Ckm_Force) EnumDescriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{16, 1} } type Ckm_Fault int32 const ( Ckm_FA_NONE Ckm_Fault = 0 //无故障 Ckm_FA_State_Loss Ckm_Fault = 1 //状态丢失 ) // Enum value maps for Ckm_Fault. var ( Ckm_Fault_name = map[int32]string{ 0: "FA_NONE", 1: "FA_State_Loss", } Ckm_Fault_value = map[string]int32{ "FA_NONE": 0, "FA_State_Loss": 1, } ) func (x Ckm_Fault) Enum() *Ckm_Fault { p := new(Ckm_Fault) *p = x return p } func (x Ckm_Fault) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Ckm_Fault) Descriptor() protoreflect.EnumDescriptor { return file_request_proto_enumTypes[13].Descriptor() } func (Ckm_Fault) Type() protoreflect.EnumType { return &file_request_proto_enumTypes[13] } func (x Ckm_Fault) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Ckm_Fault.Descriptor instead. func (Ckm_Fault) EnumDescriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{16, 2} } type Xcj_Operation int32 const ( Xcj_Undefined Xcj_Operation = 0 Xcj_SetParams Xcj_Operation = 1 ) // Enum value maps for Xcj_Operation. var ( Xcj_Operation_name = map[int32]string{ 0: "Undefined", 1: "SetParams", } Xcj_Operation_value = map[string]int32{ "Undefined": 0, "SetParams": 1, } ) func (x Xcj_Operation) Enum() *Xcj_Operation { p := new(Xcj_Operation) *p = x return p } func (x Xcj_Operation) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Xcj_Operation) Descriptor() protoreflect.EnumDescriptor { return file_request_proto_enumTypes[14].Descriptor() } func (Xcj_Operation) Type() protoreflect.EnumType { return &file_request_proto_enumTypes[14] } func (x Xcj_Operation) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Xcj_Operation.Descriptor instead. func (Xcj_Operation) EnumDescriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{19, 0} } type Xcj_Fault int32 const ( Xcj_FA_NONE Xcj_Fault = 0 //无故障 Xcj_FA_Fault Xcj_Fault = 1 //故障 ) // Enum value maps for Xcj_Fault. var ( Xcj_Fault_name = map[int32]string{ 0: "FA_NONE", 1: "FA_Fault", } Xcj_Fault_value = map[string]int32{ "FA_NONE": 0, "FA_Fault": 1, } ) func (x Xcj_Fault) Enum() *Xcj_Fault { p := new(Xcj_Fault) *p = x return p } func (x Xcj_Fault) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Xcj_Fault) Descriptor() protoreflect.EnumDescriptor { return file_request_proto_enumTypes[15].Descriptor() } func (Xcj_Fault) Type() protoreflect.EnumType { return &file_request_proto_enumTypes[15] } func (x Xcj_Fault) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Xcj_Fault.Descriptor instead. func (Xcj_Fault) EnumDescriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{19, 1} } // 继电器 type Relay struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Relay) Reset() { *x = Relay{} if protoimpl.UnsafeEnabled { mi := &file_request_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Relay) String() string { return protoimpl.X.MessageStringOf(x) } func (*Relay) ProtoMessage() {} func (x *Relay) ProtoReflect() protoreflect.Message { mi := &file_request_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Relay.ProtoReflect.Descriptor instead. func (*Relay) Descriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{0} } // 继电器操作请求 type RelayOperationReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SimulationId string `protobuf:"bytes,1,opt,name=simulationId,proto3" json:"simulationId,omitempty"` // 仿真id MapId int32 `protobuf:"varint,2,opt,name=mapId,proto3" json:"mapId,omitempty"` // 图id DeviceId uint32 `protobuf:"varint,3,opt,name=deviceId,proto3" json:"deviceId,omitempty"` // 设备id Operation Relay_Operation `protobuf:"varint,4,opt,name=operation,proto3,enum=request.Relay_Operation" json:"operation,omitempty"` // 继电器操作 } func (x *RelayOperationReq) Reset() { *x = RelayOperationReq{} if protoimpl.UnsafeEnabled { mi := &file_request_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RelayOperationReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*RelayOperationReq) ProtoMessage() {} func (x *RelayOperationReq) ProtoReflect() protoreflect.Message { mi := &file_request_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RelayOperationReq.ProtoReflect.Descriptor instead. func (*RelayOperationReq) Descriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{1} } func (x *RelayOperationReq) GetSimulationId() string { if x != nil { return x.SimulationId } return "" } func (x *RelayOperationReq) GetMapId() int32 { if x != nil { return x.MapId } return 0 } func (x *RelayOperationReq) GetDeviceId() uint32 { if x != nil { return x.DeviceId } return 0 } func (x *RelayOperationReq) GetOperation() Relay_Operation { if x != nil { return x.Operation } return Relay_Undefined } // 道岔 type Points struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Points) Reset() { *x = Points{} if protoimpl.UnsafeEnabled { mi := &file_request_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Points) String() string { return protoimpl.X.MessageStringOf(x) } func (*Points) ProtoMessage() {} func (x *Points) ProtoReflect() protoreflect.Message { mi := &file_request_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Points.ProtoReflect.Descriptor instead. func (*Points) Descriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{2} } // 道岔操作请求 type PointsOperationReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SimulationId string `protobuf:"bytes,1,opt,name=simulationId,proto3" json:"simulationId,omitempty"` // 仿真id MapId int32 `protobuf:"varint,2,opt,name=mapId,proto3" json:"mapId,omitempty"` // 图id DeviceId uint32 `protobuf:"varint,3,opt,name=deviceId,proto3" json:"deviceId,omitempty"` // 设备id Operation Points_Operation `protobuf:"varint,4,opt,name=operation,proto3,enum=request.Points_Operation" json:"operation,omitempty"` // 道岔操作 Param *PointsParam `protobuf:"bytes,5,opt,name=param,proto3" json:"param,omitempty"` // 道岔参数,当operation为SetParams时有效 } func (x *PointsOperationReq) Reset() { *x = PointsOperationReq{} if protoimpl.UnsafeEnabled { mi := &file_request_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PointsOperationReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*PointsOperationReq) ProtoMessage() {} func (x *PointsOperationReq) ProtoReflect() protoreflect.Message { mi := &file_request_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PointsOperationReq.ProtoReflect.Descriptor instead. func (*PointsOperationReq) Descriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{3} } func (x *PointsOperationReq) GetSimulationId() string { if x != nil { return x.SimulationId } return "" } func (x *PointsOperationReq) GetMapId() int32 { if x != nil { return x.MapId } return 0 } func (x *PointsOperationReq) GetDeviceId() uint32 { if x != nil { return x.DeviceId } return 0 } func (x *PointsOperationReq) GetOperation() Points_Operation { if x != nil { return x.Operation } return Points_Undefined } func (x *PointsOperationReq) GetParam() *PointsParam { if x != nil { return x.Param } return nil } // 道岔参数 type PointsParam struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ForcePosition Points_Force `protobuf:"varint,1,opt,name=forcePosition,proto3,enum=request.Points_Force" json:"forcePosition,omitempty"` // 道岔强制 } func (x *PointsParam) Reset() { *x = PointsParam{} if protoimpl.UnsafeEnabled { mi := &file_request_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PointsParam) String() string { return protoimpl.X.MessageStringOf(x) } func (*PointsParam) ProtoMessage() {} func (x *PointsParam) ProtoReflect() protoreflect.Message { mi := &file_request_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PointsParam.ProtoReflect.Descriptor instead. func (*PointsParam) Descriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{4} } func (x *PointsParam) GetForcePosition() Points_Force { if x != nil { return x.ForcePosition } return Points_FP_NONE } // 信号机 type Signal struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Signal) Reset() { *x = Signal{} if protoimpl.UnsafeEnabled { mi := &file_request_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Signal) String() string { return protoimpl.X.MessageStringOf(x) } func (*Signal) ProtoMessage() {} func (x *Signal) ProtoReflect() protoreflect.Message { mi := &file_request_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Signal.ProtoReflect.Descriptor instead. func (*Signal) Descriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{5} } type SignalOperationReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SimulationId string `protobuf:"bytes,1,opt,name=simulationId,proto3" json:"simulationId,omitempty"` // 仿真id MapId int32 `protobuf:"varint,2,opt,name=mapId,proto3" json:"mapId,omitempty"` // 图id DeviceId uint32 `protobuf:"varint,3,opt,name=deviceId,proto3" json:"deviceId,omitempty"` // 设备id Operation Signal_Operation `protobuf:"varint,4,opt,name=operation,proto3,enum=request.Signal_Operation" json:"operation,omitempty"` // 信号机操作 Param *SignalParam `protobuf:"bytes,5,opt,name=param,proto3" json:"param,omitempty"` // 信号机参数,当operation为SetParams时有效 } func (x *SignalOperationReq) Reset() { *x = SignalOperationReq{} if protoimpl.UnsafeEnabled { mi := &file_request_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SignalOperationReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*SignalOperationReq) ProtoMessage() {} func (x *SignalOperationReq) ProtoReflect() protoreflect.Message { mi := &file_request_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SignalOperationReq.ProtoReflect.Descriptor instead. func (*SignalOperationReq) Descriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{6} } func (x *SignalOperationReq) GetSimulationId() string { if x != nil { return x.SimulationId } return "" } func (x *SignalOperationReq) GetMapId() int32 { if x != nil { return x.MapId } return 0 } func (x *SignalOperationReq) GetDeviceId() uint32 { if x != nil { return x.DeviceId } return 0 } func (x *SignalOperationReq) GetOperation() Signal_Operation { if x != nil { return x.Operation } return Signal_Undefined } func (x *SignalOperationReq) GetParam() *SignalParam { if x != nil { return x.Param } return nil } type SignalParam struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Force Signal_Force `protobuf:"varint,1,opt,name=force,proto3,enum=request.Signal_Force" json:"force,omitempty"` // 信号机强制 DsList []Signal_DS `protobuf:"varint,2,rep,packed,name=dsList,proto3,enum=request.Signal_DS" json:"dsList,omitempty"` // 信号机断丝 } func (x *SignalParam) Reset() { *x = SignalParam{} if protoimpl.UnsafeEnabled { mi := &file_request_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SignalParam) String() string { return protoimpl.X.MessageStringOf(x) } func (*SignalParam) ProtoMessage() {} func (x *SignalParam) ProtoReflect() protoreflect.Message { mi := &file_request_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SignalParam.ProtoReflect.Descriptor instead. func (*SignalParam) Descriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{7} } func (x *SignalParam) GetForce() Signal_Force { if x != nil { return x.Force } return Signal_SF_NONE } func (x *SignalParam) GetDsList() []Signal_DS { if x != nil { return x.DsList } return nil } // 区段 type Section struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Section) Reset() { *x = Section{} if protoimpl.UnsafeEnabled { mi := &file_request_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Section) String() string { return protoimpl.X.MessageStringOf(x) } func (*Section) ProtoMessage() {} func (x *Section) ProtoReflect() protoreflect.Message { mi := &file_request_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Section.ProtoReflect.Descriptor instead. func (*Section) Descriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{8} } type SectionOperationReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SimulationId string `protobuf:"bytes,1,opt,name=simulationId,proto3" json:"simulationId,omitempty"` // 仿真id MapId int32 `protobuf:"varint,2,opt,name=mapId,proto3" json:"mapId,omitempty"` // 图id DeviceId uint32 `protobuf:"varint,3,opt,name=deviceId,proto3" json:"deviceId,omitempty"` // 设备id Operation Section_Operation `protobuf:"varint,4,opt,name=operation,proto3,enum=request.Section_Operation" json:"operation,omitempty"` // 区段操作 Param *SectionParam `protobuf:"bytes,5,opt,name=param,proto3" json:"param,omitempty"` // 区段参数,当operation为SetParams时有效 } func (x *SectionOperationReq) Reset() { *x = SectionOperationReq{} if protoimpl.UnsafeEnabled { mi := &file_request_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SectionOperationReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*SectionOperationReq) ProtoMessage() {} func (x *SectionOperationReq) ProtoReflect() protoreflect.Message { mi := &file_request_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SectionOperationReq.ProtoReflect.Descriptor instead. func (*SectionOperationReq) Descriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{9} } func (x *SectionOperationReq) GetSimulationId() string { if x != nil { return x.SimulationId } return "" } func (x *SectionOperationReq) GetMapId() int32 { if x != nil { return x.MapId } return 0 } func (x *SectionOperationReq) GetDeviceId() uint32 { if x != nil { return x.DeviceId } return 0 } func (x *SectionOperationReq) GetOperation() Section_Operation { if x != nil { return x.Operation } return Section_Undefined } func (x *SectionOperationReq) GetParam() *SectionParam { if x != nil { return x.Param } return nil } type SectionParam struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // bool faultOcc = 1; // 故障占用 MockDrst bool `protobuf:"varint,2,opt,name=mockDrst,proto3" json:"mockDrst,omitempty"` // 模拟CI计轴复位(临时) MockPdrst bool `protobuf:"varint,3,opt,name=mockPdrst,proto3" json:"mockPdrst,omitempty"` // 模拟CI计轴预复位(临时) } func (x *SectionParam) Reset() { *x = SectionParam{} if protoimpl.UnsafeEnabled { mi := &file_request_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SectionParam) String() string { return protoimpl.X.MessageStringOf(x) } func (*SectionParam) ProtoMessage() {} func (x *SectionParam) ProtoReflect() protoreflect.Message { mi := &file_request_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SectionParam.ProtoReflect.Descriptor instead. func (*SectionParam) Descriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{10} } func (x *SectionParam) GetMockDrst() bool { if x != nil { return x.MockDrst } return false } func (x *SectionParam) GetMockPdrst() bool { if x != nil { return x.MockPdrst } return false } // 屏蔽门 type Psd struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Psd) Reset() { *x = Psd{} if protoimpl.UnsafeEnabled { mi := &file_request_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Psd) String() string { return protoimpl.X.MessageStringOf(x) } func (*Psd) ProtoMessage() {} func (x *Psd) ProtoReflect() protoreflect.Message { mi := &file_request_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Psd.ProtoReflect.Descriptor instead. func (*Psd) Descriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{11} } // 屏蔽门操作请求 type PsdOperationReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SimulationId string `protobuf:"bytes,1,opt,name=simulationId,proto3" json:"simulationId,omitempty"` // 仿真id MapId int32 `protobuf:"varint,2,opt,name=mapId,proto3" json:"mapId,omitempty"` // 图id DeviceId uint32 `protobuf:"varint,3,opt,name=deviceId,proto3" json:"deviceId,omitempty"` // 设备id Operation Psd_Operation `protobuf:"varint,4,opt,name=operation,proto3,enum=request.Psd_Operation" json:"operation,omitempty"` // 操作 Param *PsdParam `protobuf:"bytes,5,opt,name=param,proto3" json:"param,omitempty"` // 屏蔽门参数,当operation为SetParams时有效 } func (x *PsdOperationReq) Reset() { *x = PsdOperationReq{} if protoimpl.UnsafeEnabled { mi := &file_request_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PsdOperationReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*PsdOperationReq) ProtoMessage() {} func (x *PsdOperationReq) ProtoReflect() protoreflect.Message { mi := &file_request_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PsdOperationReq.ProtoReflect.Descriptor instead. func (*PsdOperationReq) Descriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{12} } func (x *PsdOperationReq) GetSimulationId() string { if x != nil { return x.SimulationId } return "" } func (x *PsdOperationReq) GetMapId() int32 { if x != nil { return x.MapId } return 0 } func (x *PsdOperationReq) GetDeviceId() uint32 { if x != nil { return x.DeviceId } return 0 } func (x *PsdOperationReq) GetOperation() Psd_Operation { if x != nil { return x.Operation } return Psd_Undefined } func (x *PsdOperationReq) GetParam() *PsdParam { if x != nil { return x.Param } return nil } type PsdParam struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AsdCodes []int32 `protobuf:"varint,1,rep,packed,name=asdCodes,proto3" json:"asdCodes,omitempty"` // 涉及的滑动门的编号 Force Psd_Force `protobuf:"varint,2,opt,name=force,proto3,enum=request.Psd_Force" json:"force,omitempty"` // 屏蔽门强制设置 Fault Psd_Fault `protobuf:"varint,3,opt,name=fault,proto3,enum=request.Psd_Fault" json:"fault,omitempty"` // 屏蔽门故障设置 } func (x *PsdParam) Reset() { *x = PsdParam{} if protoimpl.UnsafeEnabled { mi := &file_request_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PsdParam) String() string { return protoimpl.X.MessageStringOf(x) } func (*PsdParam) ProtoMessage() {} func (x *PsdParam) ProtoReflect() protoreflect.Message { mi := &file_request_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PsdParam.ProtoReflect.Descriptor instead. func (*PsdParam) Descriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{13} } func (x *PsdParam) GetAsdCodes() []int32 { if x != nil { return x.AsdCodes } return nil } func (x *PsdParam) GetForce() Psd_Force { if x != nil { return x.Force } return Psd_F_NONE } func (x *PsdParam) GetFault() Psd_Fault { if x != nil { return x.Fault } return Psd_FA_NONE } // 列车控制 type TrainControl struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SimulationId string `protobuf:"bytes,1,opt,name=simulationId,proto3" json:"simulationId,omitempty"` // 仿真id TrainId string `protobuf:"bytes,2,opt,name=trainId,proto3" json:"trainId,omitempty"` DeviceId uint32 `protobuf:"varint,3,opt,name=deviceId,proto3" json:"deviceId,omitempty"` //设备id ControlType TrainControl_TrainControlType `protobuf:"varint,4,opt,name=controlType,proto3,enum=request.TrainControl_TrainControlType" json:"controlType,omitempty"` Button *TrainControl_EmergentButton `protobuf:"bytes,5,opt,name=button,proto3" json:"button,omitempty"` // 紧急制动 DriverKey *TrainControl_DriverKeySwitch `protobuf:"bytes,6,opt,name=driverKey,proto3" json:"driverKey,omitempty"` DirKey *TrainControl_DirectionKeySwitch `protobuf:"bytes,7,opt,name=dirKey,proto3" json:"dirKey,omitempty"` //方向 Handler *TrainControl_PushHandler `protobuf:"bytes,8,opt,name=handler,proto3" json:"handler,omitempty"` //手柄 } func (x *TrainControl) Reset() { *x = TrainControl{} if protoimpl.UnsafeEnabled { mi := &file_request_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TrainControl) String() string { return protoimpl.X.MessageStringOf(x) } func (*TrainControl) ProtoMessage() {} func (x *TrainControl) ProtoReflect() protoreflect.Message { mi := &file_request_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TrainControl.ProtoReflect.Descriptor instead. func (*TrainControl) Descriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{14} } func (x *TrainControl) GetSimulationId() string { if x != nil { return x.SimulationId } return "" } func (x *TrainControl) GetTrainId() string { if x != nil { return x.TrainId } return "" } func (x *TrainControl) GetDeviceId() uint32 { if x != nil { return x.DeviceId } return 0 } func (x *TrainControl) GetControlType() TrainControl_TrainControlType { if x != nil { return x.ControlType } return TrainControl_EMERGENT_BUTTON } func (x *TrainControl) GetButton() *TrainControl_EmergentButton { if x != nil { return x.Button } return nil } func (x *TrainControl) GetDriverKey() *TrainControl_DriverKeySwitch { if x != nil { return x.DriverKey } return nil } func (x *TrainControl) GetDirKey() *TrainControl_DirectionKeySwitch { if x != nil { return x.DirKey } return nil } func (x *TrainControl) GetHandler() *TrainControl_PushHandler { if x != nil { return x.Handler } return nil } type CkmOperationReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SimulationId string `protobuf:"bytes,1,opt,name=simulationId,proto3" json:"simulationId,omitempty"` MapId int32 `protobuf:"varint,2,opt,name=mapId,proto3" json:"mapId,omitempty"` DeviceId uint32 `protobuf:"varint,3,opt,name=deviceId,proto3" json:"deviceId,omitempty"` //设备id(车库门id) Operation Ckm_Operation `protobuf:"varint,4,opt,name=operation,proto3,enum=request.Ckm_Operation" json:"operation,omitempty"` //车库门操作 Param *CkmParam `protobuf:"bytes,5,opt,name=param,proto3" json:"param,omitempty"` //车库门参数,在operation为SetParams时有效 } func (x *CkmOperationReq) Reset() { *x = CkmOperationReq{} if protoimpl.UnsafeEnabled { mi := &file_request_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CkmOperationReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*CkmOperationReq) ProtoMessage() {} func (x *CkmOperationReq) ProtoReflect() protoreflect.Message { mi := &file_request_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CkmOperationReq.ProtoReflect.Descriptor instead. func (*CkmOperationReq) Descriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{15} } func (x *CkmOperationReq) GetSimulationId() string { if x != nil { return x.SimulationId } return "" } func (x *CkmOperationReq) GetMapId() int32 { if x != nil { return x.MapId } return 0 } func (x *CkmOperationReq) GetDeviceId() uint32 { if x != nil { return x.DeviceId } return 0 } func (x *CkmOperationReq) GetOperation() Ckm_Operation { if x != nil { return x.Operation } return Ckm_Undefined } func (x *CkmOperationReq) GetParam() *CkmParam { if x != nil { return x.Param } return nil } type Ckm struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Ckm) Reset() { *x = Ckm{} if protoimpl.UnsafeEnabled { mi := &file_request_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Ckm) String() string { return protoimpl.X.MessageStringOf(x) } func (*Ckm) ProtoMessage() {} func (x *Ckm) ProtoReflect() protoreflect.Message { mi := &file_request_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Ckm.ProtoReflect.Descriptor instead. func (*Ckm) Descriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{16} } type CkmParam struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Force Ckm_Force `protobuf:"varint,1,opt,name=force,proto3,enum=request.Ckm_Force" json:"force,omitempty"` Fault Ckm_Fault `protobuf:"varint,2,opt,name=fault,proto3,enum=request.Ckm_Fault" json:"fault,omitempty"` } func (x *CkmParam) Reset() { *x = CkmParam{} if protoimpl.UnsafeEnabled { mi := &file_request_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CkmParam) String() string { return protoimpl.X.MessageStringOf(x) } func (*CkmParam) ProtoMessage() {} func (x *CkmParam) ProtoReflect() protoreflect.Message { mi := &file_request_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CkmParam.ProtoReflect.Descriptor instead. func (*CkmParam) Descriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{17} } func (x *CkmParam) GetForce() Ckm_Force { if x != nil { return x.Force } return Ckm_F_NONE } func (x *CkmParam) GetFault() Ckm_Fault { if x != nil { return x.Fault } return Ckm_FA_NONE } type XcjOperationReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SimulationId string `protobuf:"bytes,1,opt,name=simulationId,proto3" json:"simulationId,omitempty"` MapId int32 `protobuf:"varint,2,opt,name=mapId,proto3" json:"mapId,omitempty"` DeviceId uint32 `protobuf:"varint,3,opt,name=deviceId,proto3" json:"deviceId,omitempty"` //设备id(洗车机id) Operation Xcj_Operation `protobuf:"varint,4,opt,name=operation,proto3,enum=request.Xcj_Operation" json:"operation,omitempty"` Param *XcjParam `protobuf:"bytes,5,opt,name=param,proto3" json:"param,omitempty"` //洗车机参数,在operation为SetParams时有效 } func (x *XcjOperationReq) Reset() { *x = XcjOperationReq{} if protoimpl.UnsafeEnabled { mi := &file_request_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *XcjOperationReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*XcjOperationReq) ProtoMessage() {} func (x *XcjOperationReq) ProtoReflect() protoreflect.Message { mi := &file_request_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use XcjOperationReq.ProtoReflect.Descriptor instead. func (*XcjOperationReq) Descriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{18} } func (x *XcjOperationReq) GetSimulationId() string { if x != nil { return x.SimulationId } return "" } func (x *XcjOperationReq) GetMapId() int32 { if x != nil { return x.MapId } return 0 } func (x *XcjOperationReq) GetDeviceId() uint32 { if x != nil { return x.DeviceId } return 0 } func (x *XcjOperationReq) GetOperation() Xcj_Operation { if x != nil { return x.Operation } return Xcj_Undefined } func (x *XcjOperationReq) GetParam() *XcjParam { if x != nil { return x.Param } return nil } type Xcj struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Xcj) Reset() { *x = Xcj{} if protoimpl.UnsafeEnabled { mi := &file_request_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Xcj) String() string { return protoimpl.X.MessageStringOf(x) } func (*Xcj) ProtoMessage() {} func (x *Xcj) ProtoReflect() protoreflect.Message { mi := &file_request_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Xcj.ProtoReflect.Descriptor instead. func (*Xcj) Descriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{19} } type XcjParam struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Fault Xcj_Fault `protobuf:"varint,1,opt,name=fault,proto3,enum=request.Xcj_Fault" json:"fault,omitempty"` } func (x *XcjParam) Reset() { *x = XcjParam{} if protoimpl.UnsafeEnabled { mi := &file_request_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *XcjParam) String() string { return protoimpl.X.MessageStringOf(x) } func (*XcjParam) ProtoMessage() {} func (x *XcjParam) ProtoReflect() protoreflect.Message { mi := &file_request_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use XcjParam.ProtoReflect.Descriptor instead. func (*XcjParam) Descriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{20} } func (x *XcjParam) GetFault() Xcj_Fault { if x != nil { return x.Fault } return Xcj_FA_NONE } // 紧急制动 type TrainControl_EmergentButton struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Active bool `protobuf:"varint,1,opt,name=active,proto3" json:"active,omitempty"` } func (x *TrainControl_EmergentButton) Reset() { *x = TrainControl_EmergentButton{} if protoimpl.UnsafeEnabled { mi := &file_request_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TrainControl_EmergentButton) String() string { return protoimpl.X.MessageStringOf(x) } func (*TrainControl_EmergentButton) ProtoMessage() {} func (x *TrainControl_EmergentButton) ProtoReflect() protoreflect.Message { mi := &file_request_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TrainControl_EmergentButton.ProtoReflect.Descriptor instead. func (*TrainControl_EmergentButton) Descriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{14, 0} } func (x *TrainControl_EmergentButton) GetActive() bool { if x != nil { return x.Active } return false } // 驾驶 type TrainControl_DriverKeySwitch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Val bool `protobuf:"varint,1,opt,name=val,proto3" json:"val,omitempty"` //0=关,1=开 } func (x *TrainControl_DriverKeySwitch) Reset() { *x = TrainControl_DriverKeySwitch{} if protoimpl.UnsafeEnabled { mi := &file_request_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TrainControl_DriverKeySwitch) String() string { return protoimpl.X.MessageStringOf(x) } func (*TrainControl_DriverKeySwitch) ProtoMessage() {} func (x *TrainControl_DriverKeySwitch) ProtoReflect() protoreflect.Message { mi := &file_request_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TrainControl_DriverKeySwitch.ProtoReflect.Descriptor instead. func (*TrainControl_DriverKeySwitch) Descriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{14, 1} } func (x *TrainControl_DriverKeySwitch) GetVal() bool { if x != nil { return x.Val } return false } type TrainControl_DirectionKeySwitch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Val uint32 `protobuf:"varint,1,opt,name=val,proto3" json:"val,omitempty"` //0=后,1=前,2=中位 } func (x *TrainControl_DirectionKeySwitch) Reset() { *x = TrainControl_DirectionKeySwitch{} if protoimpl.UnsafeEnabled { mi := &file_request_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TrainControl_DirectionKeySwitch) String() string { return protoimpl.X.MessageStringOf(x) } func (*TrainControl_DirectionKeySwitch) ProtoMessage() {} func (x *TrainControl_DirectionKeySwitch) ProtoReflect() protoreflect.Message { mi := &file_request_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TrainControl_DirectionKeySwitch.ProtoReflect.Descriptor instead. func (*TrainControl_DirectionKeySwitch) Descriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{14, 2} } func (x *TrainControl_DirectionKeySwitch) GetVal() uint32 { if x != nil { return x.Val } return 0 } // 牵引或制动手柄 type TrainControl_PushHandler struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Val int32 `protobuf:"varint,1,opt,name=val,proto3" json:"val,omitempty"` // 牵引或制动 大于0是牵引,小于0是制动 整体按照整型传输(*100),使用时除以100 } func (x *TrainControl_PushHandler) Reset() { *x = TrainControl_PushHandler{} if protoimpl.UnsafeEnabled { mi := &file_request_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TrainControl_PushHandler) String() string { return protoimpl.X.MessageStringOf(x) } func (*TrainControl_PushHandler) ProtoMessage() {} func (x *TrainControl_PushHandler) ProtoReflect() protoreflect.Message { mi := &file_request_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TrainControl_PushHandler.ProtoReflect.Descriptor instead. func (*TrainControl_PushHandler) Descriptor() ([]byte, []int) { return file_request_proto_rawDescGZIP(), []int{14, 3} } func (x *TrainControl_PushHandler) GetVal() int32 { if x != nil { return x.Val } return 0 } var File_request_proto protoreflect.FileDescriptor var file_request_proto_rawDesc = []byte{ 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4e, 0x0a, 0x05, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x22, 0x45, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x6e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x51, 0x77, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x48, 0x77, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x10, 0x03, 0x22, 0xa1, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x61, 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6a, 0x0a, 0x06, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x29, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x6e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x10, 0x01, 0x22, 0x35, 0x0a, 0x05, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x50, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x50, 0x5f, 0x44, 0x57, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x50, 0x5f, 0x46, 0x57, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x50, 0x5f, 0x53, 0x42, 0x10, 0x03, 0x22, 0xcf, 0x01, 0x0a, 0x12, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x61, 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x4a, 0x0a, 0x0b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x3b, 0x0a, 0x0d, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2e, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x52, 0x0d, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc8, 0x01, 0x0a, 0x06, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x22, 0x29, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x6e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x10, 0x01, 0x22, 0x36, 0x0a, 0x02, 0x44, 0x53, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x53, 0x5f, 0x48, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x53, 0x5f, 0x55, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x53, 0x5f, 0x4c, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x53, 0x5f, 0x41, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x53, 0x5f, 0x42, 0x10, 0x04, 0x22, 0x5b, 0x0a, 0x05, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x46, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x46, 0x5f, 0x4d, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x46, 0x5f, 0x48, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x46, 0x5f, 0x55, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x46, 0x5f, 0x4c, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x46, 0x5f, 0x48, 0x55, 0x10, 0x05, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x46, 0x5f, 0x41, 0x10, 0x06, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x46, 0x5f, 0x42, 0x10, 0x07, 0x22, 0xcf, 0x01, 0x0a, 0x12, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x61, 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x66, 0x0a, 0x0b, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x2b, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x2e, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x2e, 0x44, 0x53, 0x52, 0x06, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x45, 0x0a, 0x07, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x6e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x63, 0x63, 0x10, 0x04, 0x22, 0xd2, 0x01, 0x0a, 0x13, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x61, 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x48, 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x6f, 0x63, 0x6b, 0x44, 0x72, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6d, 0x6f, 0x63, 0x6b, 0x44, 0x72, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x6f, 0x63, 0x6b, 0x50, 0x64, 0x72, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6d, 0x6f, 0x63, 0x6b, 0x50, 0x64, 0x72, 0x73, 0x74, 0x22, 0x88, 0x01, 0x0a, 0x03, 0x50, 0x73, 0x64, 0x22, 0x29, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x6e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x10, 0x01, 0x22, 0x2f, 0x0a, 0x05, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x5f, 0x41, 0x53, 0x44, 0x5f, 0x4b, 0x4d, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x5f, 0x41, 0x53, 0x44, 0x5f, 0x47, 0x4d, 0x10, 0x02, 0x22, 0x25, 0x0a, 0x05, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x41, 0x5f, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x10, 0x01, 0x22, 0xc6, 0x01, 0x0a, 0x0f, 0x50, 0x73, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x61, 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x73, 0x64, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x73, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x7a, 0x0a, 0x08, 0x50, 0x73, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x73, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x61, 0x73, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x73, 0x64, 0x2e, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x73, 0x64, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x22, 0xb3, 0x05, 0x0a, 0x0c, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x06, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x52, 0x06, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x09, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x52, 0x09, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x40, 0x0a, 0x06, 0x64, 0x69, 0x72, 0x4b, 0x65, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x52, 0x06, 0x64, 0x69, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x3b, 0x0a, 0x07, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x52, 0x07, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x1a, 0x28, 0x0a, 0x0e, 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x1a, 0x23, 0x0a, 0x0f, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x1a, 0x26, 0x0a, 0x12, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x1a, 0x1f, 0x0a, 0x0b, 0x50, 0x75, 0x73, 0x68, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x65, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x4e, 0x54, 0x5f, 0x42, 0x55, 0x54, 0x54, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x52, 0x49, 0x56, 0x45, 0x52, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x41, 0x4e, 0x44, 0x4c, 0x45, 0x52, 0x10, 0x03, 0x22, 0xc6, 0x01, 0x0a, 0x0f, 0x43, 0x6b, 0x6d, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x61, 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6b, 0x6d, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6b, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x82, 0x01, 0x0a, 0x03, 0x43, 0x6b, 0x6d, 0x22, 0x29, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x6e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x10, 0x01, 0x22, 0x27, 0x0a, 0x05, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x5f, 0x4b, 0x4d, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x5f, 0x47, 0x4d, 0x10, 0x02, 0x22, 0x27, 0x0a, 0x05, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x41, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x4c, 0x6f, 0x73, 0x73, 0x10, 0x01, 0x22, 0x5e, 0x0a, 0x08, 0x43, 0x6b, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x28, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6b, 0x6d, 0x2e, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6b, 0x6d, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x22, 0xc6, 0x01, 0x0a, 0x0f, 0x58, 0x63, 0x6a, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x61, 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x58, 0x63, 0x6a, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x58, 0x63, 0x6a, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x54, 0x0a, 0x03, 0x58, 0x63, 0x6a, 0x22, 0x29, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x6e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x10, 0x01, 0x22, 0x22, 0x0a, 0x05, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x41, 0x5f, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x10, 0x01, 0x22, 0x34, 0x0a, 0x08, 0x58, 0x63, 0x6a, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x28, 0x0a, 0x05, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x58, 0x63, 0x6a, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x30, 0x5a, 0x2e, 0x6a, 0x6f, 0x79, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x63, 0x6c, 0x75, 0x62, 0x2f, 0x62, 0x6a, 0x2d, 0x72, 0x74, 0x73, 0x74, 0x73, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x64, 0x74, 0x6f, 0x2f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_request_proto_rawDescOnce sync.Once file_request_proto_rawDescData = file_request_proto_rawDesc ) func file_request_proto_rawDescGZIP() []byte { file_request_proto_rawDescOnce.Do(func() { file_request_proto_rawDescData = protoimpl.X.CompressGZIP(file_request_proto_rawDescData) }) return file_request_proto_rawDescData } var file_request_proto_enumTypes = make([]protoimpl.EnumInfo, 16) var file_request_proto_msgTypes = make([]protoimpl.MessageInfo, 25) var file_request_proto_goTypes = []interface{}{ (Relay_Operation)(0), // 0: request.Relay.Operation (Points_Operation)(0), // 1: request.Points.Operation (Points_Force)(0), // 2: request.Points.Force (Signal_Operation)(0), // 3: request.Signal.Operation (Signal_DS)(0), // 4: request.Signal.DS (Signal_Force)(0), // 5: request.Signal.Force (Section_Operation)(0), // 6: request.Section.Operation (Psd_Operation)(0), // 7: request.Psd.Operation (Psd_Force)(0), // 8: request.Psd.Force (Psd_Fault)(0), // 9: request.Psd.Fault (TrainControl_TrainControlType)(0), // 10: request.TrainControl.TrainControlType (Ckm_Operation)(0), // 11: request.Ckm.Operation (Ckm_Force)(0), // 12: request.Ckm.Force (Ckm_Fault)(0), // 13: request.Ckm.Fault (Xcj_Operation)(0), // 14: request.Xcj.Operation (Xcj_Fault)(0), // 15: request.Xcj.Fault (*Relay)(nil), // 16: request.Relay (*RelayOperationReq)(nil), // 17: request.RelayOperationReq (*Points)(nil), // 18: request.Points (*PointsOperationReq)(nil), // 19: request.PointsOperationReq (*PointsParam)(nil), // 20: request.PointsParam (*Signal)(nil), // 21: request.Signal (*SignalOperationReq)(nil), // 22: request.SignalOperationReq (*SignalParam)(nil), // 23: request.SignalParam (*Section)(nil), // 24: request.Section (*SectionOperationReq)(nil), // 25: request.SectionOperationReq (*SectionParam)(nil), // 26: request.SectionParam (*Psd)(nil), // 27: request.Psd (*PsdOperationReq)(nil), // 28: request.PsdOperationReq (*PsdParam)(nil), // 29: request.PsdParam (*TrainControl)(nil), // 30: request.TrainControl (*CkmOperationReq)(nil), // 31: request.CkmOperationReq (*Ckm)(nil), // 32: request.Ckm (*CkmParam)(nil), // 33: request.CkmParam (*XcjOperationReq)(nil), // 34: request.XcjOperationReq (*Xcj)(nil), // 35: request.Xcj (*XcjParam)(nil), // 36: request.XcjParam (*TrainControl_EmergentButton)(nil), // 37: request.TrainControl.EmergentButton (*TrainControl_DriverKeySwitch)(nil), // 38: request.TrainControl.DriverKeySwitch (*TrainControl_DirectionKeySwitch)(nil), // 39: request.TrainControl.DirectionKeySwitch (*TrainControl_PushHandler)(nil), // 40: request.TrainControl.PushHandler } var file_request_proto_depIdxs = []int32{ 0, // 0: request.RelayOperationReq.operation:type_name -> request.Relay.Operation 1, // 1: request.PointsOperationReq.operation:type_name -> request.Points.Operation 20, // 2: request.PointsOperationReq.param:type_name -> request.PointsParam 2, // 3: request.PointsParam.forcePosition:type_name -> request.Points.Force 3, // 4: request.SignalOperationReq.operation:type_name -> request.Signal.Operation 23, // 5: request.SignalOperationReq.param:type_name -> request.SignalParam 5, // 6: request.SignalParam.force:type_name -> request.Signal.Force 4, // 7: request.SignalParam.dsList:type_name -> request.Signal.DS 6, // 8: request.SectionOperationReq.operation:type_name -> request.Section.Operation 26, // 9: request.SectionOperationReq.param:type_name -> request.SectionParam 7, // 10: request.PsdOperationReq.operation:type_name -> request.Psd.Operation 29, // 11: request.PsdOperationReq.param:type_name -> request.PsdParam 8, // 12: request.PsdParam.force:type_name -> request.Psd.Force 9, // 13: request.PsdParam.fault:type_name -> request.Psd.Fault 10, // 14: request.TrainControl.controlType:type_name -> request.TrainControl.TrainControlType 37, // 15: request.TrainControl.button:type_name -> request.TrainControl.EmergentButton 38, // 16: request.TrainControl.driverKey:type_name -> request.TrainControl.DriverKeySwitch 39, // 17: request.TrainControl.dirKey:type_name -> request.TrainControl.DirectionKeySwitch 40, // 18: request.TrainControl.handler:type_name -> request.TrainControl.PushHandler 11, // 19: request.CkmOperationReq.operation:type_name -> request.Ckm.Operation 33, // 20: request.CkmOperationReq.param:type_name -> request.CkmParam 12, // 21: request.CkmParam.force:type_name -> request.Ckm.Force 13, // 22: request.CkmParam.fault:type_name -> request.Ckm.Fault 14, // 23: request.XcjOperationReq.operation:type_name -> request.Xcj.Operation 36, // 24: request.XcjOperationReq.param:type_name -> request.XcjParam 15, // 25: request.XcjParam.fault:type_name -> request.Xcj.Fault 26, // [26:26] is the sub-list for method output_type 26, // [26:26] is the sub-list for method input_type 26, // [26:26] is the sub-list for extension type_name 26, // [26:26] is the sub-list for extension extendee 0, // [0:26] is the sub-list for field type_name } func init() { file_request_proto_init() } func file_request_proto_init() { if File_request_proto != nil { return } if !protoimpl.UnsafeEnabled { file_request_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Relay); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_request_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RelayOperationReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_request_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Points); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_request_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PointsOperationReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_request_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PointsParam); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_request_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Signal); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_request_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SignalOperationReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_request_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SignalParam); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_request_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Section); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_request_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SectionOperationReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_request_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SectionParam); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_request_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Psd); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_request_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PsdOperationReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_request_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PsdParam); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_request_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TrainControl); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_request_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CkmOperationReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_request_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ckm); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_request_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CkmParam); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_request_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*XcjOperationReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_request_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Xcj); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_request_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*XcjParam); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_request_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TrainControl_EmergentButton); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_request_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TrainControl_DriverKeySwitch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_request_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TrainControl_DirectionKeySwitch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_request_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TrainControl_PushHandler); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_request_proto_rawDesc, NumEnums: 16, NumMessages: 25, NumExtensions: 0, NumServices: 0, }, GoTypes: file_request_proto_goTypes, DependencyIndexes: file_request_proto_depIdxs, EnumInfos: file_request_proto_enumTypes, MessageInfos: file_request_proto_msgTypes, }.Build() File_request_proto = out.File file_request_proto_rawDesc = nil file_request_proto_goTypes = nil file_request_proto_depIdxs = nil }