From a4c17218f7e1901fa25c9c90905a1749f5c57068 Mon Sep 17 00:00:00 2001 From: joylink_zhangsai <1021828630@qq.com> Date: Mon, 8 Jan 2024 17:45:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=94=E7=AD=94=E5=99=A8=E7=9A=84Link?= =?UTF-8?q?=E4=BD=8D=E7=BD=AE=E4=BD=9C=E4=B8=BA=E7=BB=84=E4=BB=B6=E5=AD=98?= =?UTF-8?q?=E5=9C=A8=EF=BC=9B=E5=A2=9E=E5=8A=A0=E5=BA=94=E7=AD=94=E5=99=A8?= =?UTF-8?q?=E7=A7=BB=E4=BD=8D=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- component/common.go | 2 + component/component_proto/common.pb.go | 81 +- entity/balise.go | 10 +- jl-ecs-go | 2 +- proto/src/component/common.proto | 8 + repository/message_proto/repo.pb.go | 3519 ++++++++++++++++++++++++ repository/repository.go | 20 +- repository/repository_manager.go | 10 +- repository/transponder.go | 9 +- 9 files changed, 3631 insertions(+), 30 deletions(-) create mode 100644 repository/message_proto/repo.pb.go diff --git a/component/common.go b/component/common.go index 33c7ca3..2d3c9fc 100644 --- a/component/common.go +++ b/component/common.go @@ -63,3 +63,5 @@ type Counter struct { } var CounterType = ecs.NewComponentType[Counter]() + +var LinkPositionType = ecs.NewComponentType[component_proto.LinkPosition]() diff --git a/component/component_proto/common.pb.go b/component/component_proto/common.pb.go index 8e42744..cb3d314 100644 --- a/component/component_proto/common.pb.go +++ b/component/component_proto/common.pb.go @@ -236,6 +236,64 @@ func (x *CounterDown) GetStep() int32 { return 0 } +// Link位置 +type LinkPosition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Link的ID + LinkId string `protobuf:"bytes,1,opt,name=linkId,proto3" json:"linkId,omitempty"` + // Link的偏移量 + Offset int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` +} + +func (x *LinkPosition) Reset() { + *x = LinkPosition{} + if protoimpl.UnsafeEnabled { + mi := &file_component_common_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LinkPosition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LinkPosition) ProtoMessage() {} + +func (x *LinkPosition) ProtoReflect() protoreflect.Message { + mi := &file_component_common_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 LinkPosition.ProtoReflect.Descriptor instead. +func (*LinkPosition) Descriptor() ([]byte, []int) { + return file_component_common_proto_rawDescGZIP(), []int{4} +} + +func (x *LinkPosition) GetLinkId() string { + if x != nil { + return x.LinkId + } + return "" +} + +func (x *LinkPosition) GetOffset() int64 { + if x != nil { + return x.Offset + } + return 0 +} + var File_component_common_proto protoreflect.FileDescriptor var file_component_common_proto_rawDesc = []byte{ @@ -253,7 +311,11 @@ var file_component_common_proto_rawDesc = []byte{ 0x65, 0x70, 0x22, 0x33, 0x0a, 0x0b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x42, 0x1d, 0x5a, 0x1b, 0x2e, 0x2f, 0x63, 0x6f, 0x6d, + 0x05, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x22, 0x3e, 0x0a, 0x0c, 0x4c, 0x69, 0x6e, 0x6b, 0x50, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x69, 0x6e, 0x6b, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x69, 0x6e, 0x6b, 0x49, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x42, 0x1d, 0x5a, 0x1b, 0x2e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } @@ -270,12 +332,13 @@ func file_component_common_proto_rawDescGZIP() []byte { return file_component_common_proto_rawDescData } -var file_component_common_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_component_common_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_component_common_proto_goTypes = []interface{}{ (*TwoPositionTransform)(nil), // 0: component.TwoPositionTransform (*BitState)(nil), // 1: component.BitState (*Counter)(nil), // 2: component.Counter (*CounterDown)(nil), // 3: component.CounterDown + (*LinkPosition)(nil), // 4: component.LinkPosition } var file_component_common_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type @@ -339,6 +402,18 @@ func file_component_common_proto_init() { return nil } } + file_component_common_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LinkPosition); 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{ @@ -346,7 +421,7 @@ func file_component_common_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_component_common_proto_rawDesc, NumEnums: 0, - NumMessages: 4, + NumMessages: 5, NumExtensions: 0, NumServices: 0, }, diff --git a/entity/balise.go b/entity/balise.go index 96d8627..6cc61dc 100644 --- a/entity/balise.go +++ b/entity/balise.go @@ -3,6 +3,7 @@ package entity import ( "joylink.club/ecs" "joylink.club/rtsssimulation/component" + "joylink.club/rtsssimulation/component/component_proto" "joylink.club/rtsssimulation/repository" "joylink.club/rtsssimulation/repository/model/proto" ) @@ -10,9 +11,16 @@ import ( // LoadBalises 加载应答器实体 func LoadBalises(w ecs.World) error { data := GetWorldData(w) - balises := data.Repo.ResponderList() + balises := data.Repo.TransponderList() for _, b := range balises { be := newBaliseEntity(w, b, data) + //应答器位置 + be.AddComponent(component.LinkPositionType) + component.LinkPositionType.SetValue(be, component_proto.LinkPosition{ + LinkId: b.LinkPosition().Link().Id(), + Offset: b.LinkPosition().Offset(), + }) + //应答器类型 switch b.TransponderType() { case proto.Transponder_FB: be.AddComponent(component.BaliseFB) diff --git a/jl-ecs-go b/jl-ecs-go index f25027e..2757e2c 160000 --- a/jl-ecs-go +++ b/jl-ecs-go @@ -1 +1 @@ -Subproject commit f25027e20535e0ae4940a34b80276c56597517fb +Subproject commit 2757e2c4e06b03afab94727cee9d948dae6d1754 diff --git a/proto/src/component/common.proto b/proto/src/component/common.proto index 7a8aa60..1dc3d21 100644 --- a/proto/src/component/common.proto +++ b/proto/src/component/common.proto @@ -51,6 +51,14 @@ message Counter { int32 step = 2; } +// Link位置 +message LinkPosition{ + //Link的ID + string linkId = 1; + //Link的偏移量 + int64 offset = 2; +} + // 倒数/倒计时组件 message CounterDown { int32 val = 1; diff --git a/repository/message_proto/repo.pb.go b/repository/message_proto/repo.pb.go new file mode 100644 index 0000000..4822de6 --- /dev/null +++ b/repository/message_proto/repo.pb.go @@ -0,0 +1,3519 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.23.1 +// source: repo.proto + +package message_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 Simulation_Type int32 + +const ( + // 城市轨道交通 + Simulation_CG Simulation_Type = 0 + // 国铁 + Simulation_GT Simulation_Type = 1 +) + +// Enum value maps for Simulation_Type. +var ( + Simulation_Type_name = map[int32]string{ + 0: "CG", + 1: "GT", + } + Simulation_Type_value = map[string]int32{ + "CG": 0, + "GT": 1, + } +) + +func (x Simulation_Type) Enum() *Simulation_Type { + p := new(Simulation_Type) + *p = x + return p +} + +func (x Simulation_Type) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Simulation_Type) Descriptor() protoreflect.EnumDescriptor { + return file_repo_proto_enumTypes[0].Descriptor() +} + +func (Simulation_Type) Type() protoreflect.EnumType { + return &file_repo_proto_enumTypes[0] +} + +func (x Simulation_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Simulation_Type.Descriptor instead. +func (Simulation_Type) EnumDescriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{0, 0} +} + +// 检测点类型 +type CheckPoint_Type int32 + +const ( + CheckPoint_Boundary CheckPoint_Type = 0 //区段边界 + CheckPoint_JZ CheckPoint_Type = 1 //计轴器 + CheckPoint_JYJ CheckPoint_Type = 2 //绝缘节 +) + +// Enum value maps for CheckPoint_Type. +var ( + CheckPoint_Type_name = map[int32]string{ + 0: "Boundary", + 1: "JZ", + 2: "JYJ", + } + CheckPoint_Type_value = map[string]int32{ + "Boundary": 0, + "JZ": 1, + "JYJ": 2, + } +) + +func (x CheckPoint_Type) Enum() *CheckPoint_Type { + p := new(CheckPoint_Type) + *p = x + return p +} + +func (x CheckPoint_Type) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CheckPoint_Type) Descriptor() protoreflect.EnumDescriptor { + return file_repo_proto_enumTypes[1].Descriptor() +} + +func (CheckPoint_Type) Type() protoreflect.EnumType { + return &file_repo_proto_enumTypes[1] +} + +func (x CheckPoint_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CheckPoint_Type.Descriptor instead. +func (CheckPoint_Type) EnumDescriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{15, 0} +} + +// 设备类型 +type Device_Type int32 + +const ( + // 区段 + Device_Section Device_Type = 0 + // 道岔 + Device_Turnout Device_Type = 1 + // 信号机 + Device_Signal Device_Type = 2 +) + +// Enum value maps for Device_Type. +var ( + Device_Type_name = map[int32]string{ + 0: "Section", + 1: "Turnout", + 2: "Signal", + } + Device_Type_value = map[string]int32{ + "Section": 0, + "Turnout": 1, + "Signal": 2, + } +) + +func (x Device_Type) Enum() *Device_Type { + p := new(Device_Type) + *p = x + return p +} + +func (x Device_Type) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Device_Type) Descriptor() protoreflect.EnumDescriptor { + return file_repo_proto_enumTypes[2].Descriptor() +} + +func (Device_Type) Type() protoreflect.EnumType { + return &file_repo_proto_enumTypes[2] +} + +func (x Device_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Device_Type.Descriptor instead. +func (Device_Type) EnumDescriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{16, 0} +} + +// 设备端点(区段、道岔) +type Device_Port int32 + +const ( + Device_A Device_Port = 0 + Device_B Device_Port = 1 + Device_C Device_Port = 2 +) + +// Enum value maps for Device_Port. +var ( + Device_Port_name = map[int32]string{ + 0: "A", + 1: "B", + 2: "C", + } + Device_Port_value = map[string]int32{ + "A": 0, + "B": 1, + "C": 2, + } +) + +func (x Device_Port) Enum() *Device_Port { + p := new(Device_Port) + *p = x + return p +} + +func (x Device_Port) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Device_Port) Descriptor() protoreflect.EnumDescriptor { + return file_repo_proto_enumTypes[3].Descriptor() +} + +func (Device_Port) Type() protoreflect.EnumType { + return &file_repo_proto_enumTypes[3] +} + +func (x Device_Port) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Device_Port.Descriptor instead. +func (Device_Port) EnumDescriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{16, 1} +} + +type Signal_Model int32 + +const ( + Signal_HLU Signal_Model = 0 +) + +// Enum value maps for Signal_Model. +var ( + Signal_Model_name = map[int32]string{ + 0: "HLU", + } + Signal_Model_value = map[string]int32{ + "HLU": 0, + } +) + +func (x Signal_Model) Enum() *Signal_Model { + p := new(Signal_Model) + *p = x + return p +} + +func (x Signal_Model) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Signal_Model) Descriptor() protoreflect.EnumDescriptor { + return file_repo_proto_enumTypes[4].Descriptor() +} + +func (Signal_Model) Type() protoreflect.EnumType { + return &file_repo_proto_enumTypes[4] +} + +func (x Signal_Model) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Signal_Model.Descriptor instead. +func (Signal_Model) EnumDescriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{18, 0} +} + +// 继电器型号 +type Relay_Model int32 + +const ( + Relay_JPXC_1000 Relay_Model = 0 + Relay_JPXC_1700 Relay_Model = 1 + Relay_JWJXC_480 Relay_Model = 2 + Relay_JWJXC_H125_80 Relay_Model = 3 + Relay_JWXC_1700 Relay_Model = 4 + Relay_JWXC_H340 Relay_Model = 5 + Relay_JYJXC_160_260 Relay_Model = 6 + Relay_JZXC_H18 Relay_Model = 7 +) + +// Enum value maps for Relay_Model. +var ( + Relay_Model_name = map[int32]string{ + 0: "JPXC_1000", + 1: "JPXC_1700", + 2: "JWJXC_480", + 3: "JWJXC_H125_80", + 4: "JWXC_1700", + 5: "JWXC_H340", + 6: "JYJXC_160_260", + 7: "JZXC_H18", + } + Relay_Model_value = map[string]int32{ + "JPXC_1000": 0, + "JPXC_1700": 1, + "JWJXC_480": 2, + "JWJXC_H125_80": 3, + "JWXC_1700": 4, + "JWXC_H340": 5, + "JYJXC_160_260": 6, + "JZXC_H18": 7, + } +) + +func (x Relay_Model) Enum() *Relay_Model { + p := new(Relay_Model) + *p = x + return p +} + +func (x Relay_Model) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Relay_Model) Descriptor() protoreflect.EnumDescriptor { + return file_repo_proto_enumTypes[5].Descriptor() +} + +func (Relay_Model) Type() protoreflect.EnumType { + return &file_repo_proto_enumTypes[5] +} + +func (x Relay_Model) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Relay_Model.Descriptor instead. +func (Relay_Model) EnumDescriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{31, 0} +} + +type JKP_Type int32 + +const ( + JKP_IBP JKP_Type = 0 + JKP_PSL JKP_Type = 1 + JKP_MKX JKP_Type = 2 +) + +// Enum value maps for JKP_Type. +var ( + JKP_Type_name = map[int32]string{ + 0: "IBP", + 1: "PSL", + 2: "MKX", + } + JKP_Type_value = map[string]int32{ + "IBP": 0, + "PSL": 1, + "MKX": 2, + } +) + +func (x JKP_Type) Enum() *JKP_Type { + p := new(JKP_Type) + *p = x + return p +} + +func (x JKP_Type) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (JKP_Type) Descriptor() protoreflect.EnumDescriptor { + return file_repo_proto_enumTypes[6].Descriptor() +} + +func (JKP_Type) Type() protoreflect.EnumType { + return &file_repo_proto_enumTypes[6] +} + +func (x JKP_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use JKP_Type.Descriptor instead. +func (JKP_Type) EnumDescriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{32, 0} +} + +type Simulation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *Simulation) Reset() { + *x = Simulation{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Simulation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Simulation) ProtoMessage() {} + +func (x *Simulation) ProtoReflect() protoreflect.Message { + mi := &file_repo_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 Simulation.ProtoReflect.Descriptor instead. +func (*Simulation) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{0} +} + +type Repo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 仿真类型 + SimType Simulation_Type `protobuf:"varint,1,opt,name=simType,proto3,enum=message.Simulation_Type" json:"simType,omitempty"` + // Types that are assignable to Data: + // + // *Repo_Cg + // *Repo_Gt + Data isRepo_Data `protobuf_oneof:"data"` +} + +func (x *Repo) Reset() { + *x = Repo{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Repo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Repo) ProtoMessage() {} + +func (x *Repo) ProtoReflect() protoreflect.Message { + mi := &file_repo_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 Repo.ProtoReflect.Descriptor instead. +func (*Repo) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{1} +} + +func (x *Repo) GetSimType() Simulation_Type { + if x != nil { + return x.SimType + } + return Simulation_CG +} + +func (m *Repo) GetData() isRepo_Data { + if m != nil { + return m.Data + } + return nil +} + +func (x *Repo) GetCg() *CG { + if x, ok := x.GetData().(*Repo_Cg); ok { + return x.Cg + } + return nil +} + +func (x *Repo) GetGt() *GT { + if x, ok := x.GetData().(*Repo_Gt); ok { + return x.Gt + } + return nil +} + +type isRepo_Data interface { + isRepo_Data() +} + +type Repo_Cg struct { + Cg *CG `protobuf:"bytes,2,opt,name=cg,proto3,oneof"` +} + +type Repo_Gt struct { + Gt *GT `protobuf:"bytes,3,opt,name=gt,proto3,oneof"` +} + +func (*Repo_Cg) isRepo_Data() {} + +func (*Repo_Gt) isRepo_Data() {} + +// 国铁数据 +type GT struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *GT) Reset() { + *x = GT{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GT) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GT) ProtoMessage() {} + +func (x *GT) ProtoReflect() protoreflect.Message { + mi := &file_repo_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 GT.ProtoReflect.Descriptor instead. +func (*GT) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{2} +} + +// 城轨数据 +type CG struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Lines []*Line `protobuf:"bytes,1,rep,name=lines,proto3" json:"lines,omitempty"` +} + +func (x *CG) Reset() { + *x = CG{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CG) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CG) ProtoMessage() {} + +func (x *CG) ProtoReflect() protoreflect.Message { + mi := &file_repo_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 CG.ProtoReflect.Descriptor instead. +func (*CG) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{3} +} + +func (x *CG) GetLines() []*Line { + if x != nil { + return x.Lines + } + return nil +} + +// 城轨线路数据 +type Line struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 所在城市 + City string `protobuf:"bytes,1,opt,name=city,proto3" json:"city,omitempty"` + // 线路编号 + LineId int32 `protobuf:"varint,2,opt,name=lineId,proto3" json:"lineId,omitempty"` +} + +func (x *Line) Reset() { + *x = Line{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Line) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Line) ProtoMessage() {} + +func (x *Line) ProtoReflect() protoreflect.Message { + mi := &file_repo_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 Line.ProtoReflect.Descriptor instead. +func (*Line) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{4} +} + +func (x *Line) GetCity() string { + if x != nil { + return x.City + } + return "" +} + +func (x *Line) GetLineId() int32 { + if x != nil { + return x.LineId + } + return 0 +} + +// 信号布置数据 +type XHBZ struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 数据id + Gid string `protobuf:"bytes,1,opt,name=gid,proto3" json:"gid,omitempty"` + // 车站 + Stations []*Station `protobuf:"bytes,2,rep,name=stations,proto3" json:"stations,omitempty"` + // 站台 + Platforms []*Platform `protobuf:"bytes,3,rep,name=platforms,proto3" json:"platforms,omitempty"` + // 屏蔽门 + Psds []*Psd `protobuf:"bytes,4,rep,name=psds,proto3" json:"psds,omitempty"` + // 物理区段 + PhysicalSections []*PhysicalSection `protobuf:"bytes,5,rep,name=physicalSections,proto3" json:"physicalSections,omitempty"` + // 道岔 + Turnouts []*Turnout `protobuf:"bytes,6,rep,name=turnouts,proto3" json:"turnouts,omitempty"` + // 信号机 + Signals []*Signal `protobuf:"bytes,7,rep,name=signals,proto3" json:"signals,omitempty"` + // 应答器 + Balises []*Balise `protobuf:"bytes,8,rep,name=balises,proto3" json:"balises,omitempty"` + // 停车点 + ParkingSpots []*ParkingSpot `protobuf:"bytes,9,rep,name=parkingSpots,proto3" json:"parkingSpots,omitempty"` + // 坡度 + Pds []*Pd `protobuf:"bytes,10,rep,name=pds,proto3" json:"pds,omitempty"` + // 曲度 + Qds []*Qd `protobuf:"bytes,11,rep,name=qds,proto3" json:"qds,omitempty"` + // 紧急关闭/停车按钮 + Emps []*EMP `protobuf:"bytes,12,rep,name=emps,proto3" json:"emps,omitempty"` + // 发车计时器 + Tdts []*TDT `protobuf:"bytes,13,rep,name=tdts,proto3" json:"tdts,omitempty"` + // 门控箱 + Mkxs []*Mkx `protobuf:"bytes,14,rep,name=mkxs,proto3" json:"mkxs,omitempty"` + // 就地控制盘 + Psls []*PSL `protobuf:"bytes,15,rep,name=psls,proto3" json:"psls,omitempty"` + // 人员防护开关 + Spks []*SPKS `protobuf:"bytes,16,rep,name=spks,proto3" json:"spks,omitempty"` +} + +func (x *XHBZ) Reset() { + *x = XHBZ{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *XHBZ) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*XHBZ) ProtoMessage() {} + +func (x *XHBZ) ProtoReflect() protoreflect.Message { + mi := &file_repo_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 XHBZ.ProtoReflect.Descriptor instead. +func (*XHBZ) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{5} +} + +func (x *XHBZ) GetGid() string { + if x != nil { + return x.Gid + } + return "" +} + +func (x *XHBZ) GetStations() []*Station { + if x != nil { + return x.Stations + } + return nil +} + +func (x *XHBZ) GetPlatforms() []*Platform { + if x != nil { + return x.Platforms + } + return nil +} + +func (x *XHBZ) GetPsds() []*Psd { + if x != nil { + return x.Psds + } + return nil +} + +func (x *XHBZ) GetPhysicalSections() []*PhysicalSection { + if x != nil { + return x.PhysicalSections + } + return nil +} + +func (x *XHBZ) GetTurnouts() []*Turnout { + if x != nil { + return x.Turnouts + } + return nil +} + +func (x *XHBZ) GetSignals() []*Signal { + if x != nil { + return x.Signals + } + return nil +} + +func (x *XHBZ) GetBalises() []*Balise { + if x != nil { + return x.Balises + } + return nil +} + +func (x *XHBZ) GetParkingSpots() []*ParkingSpot { + if x != nil { + return x.ParkingSpots + } + return nil +} + +func (x *XHBZ) GetPds() []*Pd { + if x != nil { + return x.Pds + } + return nil +} + +func (x *XHBZ) GetQds() []*Qd { + if x != nil { + return x.Qds + } + return nil +} + +func (x *XHBZ) GetEmps() []*EMP { + if x != nil { + return x.Emps + } + return nil +} + +func (x *XHBZ) GetTdts() []*TDT { + if x != nil { + return x.Tdts + } + return nil +} + +func (x *XHBZ) GetMkxs() []*Mkx { + if x != nil { + return x.Mkxs + } + return nil +} + +func (x *XHBZ) GetPsls() []*PSL { + if x != nil { + return x.Psls + } + return nil +} + +func (x *XHBZ) GetSpks() []*SPKS { + if x != nil { + return x.Spks + } + return nil +} + +// 人员防护开关 +type SPKS struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *SPKS) Reset() { + *x = SPKS{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SPKS) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SPKS) ProtoMessage() {} + +func (x *SPKS) ProtoReflect() protoreflect.Message { + mi := &file_repo_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 SPKS.ProtoReflect.Descriptor instead. +func (*SPKS) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{6} +} + +func (x *SPKS) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +// 就地控制盘 +type PSL struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *PSL) Reset() { + *x = PSL{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PSL) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PSL) ProtoMessage() {} + +func (x *PSL) ProtoReflect() protoreflect.Message { + mi := &file_repo_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 PSL.ProtoReflect.Descriptor instead. +func (*PSL) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{7} +} + +func (x *PSL) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +// 门控箱 +type Mkx struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *Mkx) Reset() { + *x = Mkx{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Mkx) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Mkx) ProtoMessage() {} + +func (x *Mkx) ProtoReflect() protoreflect.Message { + mi := &file_repo_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 Mkx.ProtoReflect.Descriptor instead. +func (*Mkx) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{8} +} + +func (x *Mkx) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +// 发车计时器 +type TDT struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *TDT) Reset() { + *x = TDT{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TDT) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TDT) ProtoMessage() {} + +func (x *TDT) ProtoReflect() protoreflect.Message { + mi := &file_repo_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 TDT.ProtoReflect.Descriptor instead. +func (*TDT) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{9} +} + +func (x *TDT) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +// 紧急关闭/停车按钮 +type EMP struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *EMP) Reset() { + *x = EMP{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EMP) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EMP) ProtoMessage() {} + +func (x *EMP) ProtoReflect() protoreflect.Message { + mi := &file_repo_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 EMP.ProtoReflect.Descriptor instead. +func (*EMP) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{10} +} + +func (x *EMP) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +// 曲度 +type Qd struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *Qd) Reset() { + *x = Qd{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Qd) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Qd) ProtoMessage() {} + +func (x *Qd) ProtoReflect() protoreflect.Message { + mi := &file_repo_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 Qd.ProtoReflect.Descriptor instead. +func (*Qd) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{11} +} + +func (x *Qd) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +// 坡度 +type Pd struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *Pd) Reset() { + *x = Pd{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Pd) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Pd) ProtoMessage() {} + +func (x *Pd) ProtoReflect() protoreflect.Message { + mi := &file_repo_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 Pd.ProtoReflect.Descriptor instead. +func (*Pd) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{12} +} + +func (x *Pd) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +// 停车点 +type ParkingSpot struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *ParkingSpot) Reset() { + *x = ParkingSpot{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ParkingSpot) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ParkingSpot) ProtoMessage() {} + +func (x *ParkingSpot) ProtoReflect() protoreflect.Message { + mi := &file_repo_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 ParkingSpot.ProtoReflect.Descriptor instead. +func (*ParkingSpot) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{13} +} + +func (x *ParkingSpot) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +// 应答器 +type Balise struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *Balise) Reset() { + *x = Balise{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Balise) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Balise) ProtoMessage() {} + +func (x *Balise) ProtoReflect() protoreflect.Message { + mi := &file_repo_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 Balise.ProtoReflect.Descriptor instead. +func (*Balise) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{14} +} + +func (x *Balise) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +// 区段检测点 +type CheckPoint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + // 检测点类型 + Type CheckPoint_Type `protobuf:"varint,2,opt,name=type,proto3,enum=message.CheckPoint_Type" json:"type,omitempty"` + // 公里标 + Glb *GLB `protobuf:"bytes,3,opt,name=glb,proto3" json:"glb,omitempty"` + // 关联的物理区段/道岔端口 + DevicePorts []*DevicePort `protobuf:"bytes,4,rep,name=devicePorts,proto3" json:"devicePorts,omitempty"` +} + +func (x *CheckPoint) Reset() { + *x = CheckPoint{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CheckPoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckPoint) ProtoMessage() {} + +func (x *CheckPoint) ProtoReflect() protoreflect.Message { + mi := &file_repo_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 CheckPoint.ProtoReflect.Descriptor instead. +func (*CheckPoint) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{15} +} + +func (x *CheckPoint) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *CheckPoint) GetType() CheckPoint_Type { + if x != nil { + return x.Type + } + return CheckPoint_Boundary +} + +func (x *CheckPoint) GetGlb() *GLB { + if x != nil { + return x.Glb + } + return nil +} + +func (x *CheckPoint) GetDevicePorts() []*DevicePort { + if x != nil { + return x.DevicePorts + } + return nil +} + +// 设备 +type Device struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 设备id + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + // 设备类型 + Type Device_Type `protobuf:"varint,2,opt,name=type,proto3,enum=message.Device_Type" json:"type,omitempty"` +} + +func (x *Device) Reset() { + *x = Device{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Device) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Device) ProtoMessage() {} + +func (x *Device) ProtoReflect() protoreflect.Message { + mi := &file_repo_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 Device.ProtoReflect.Descriptor instead. +func (*Device) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{16} +} + +func (x *Device) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *Device) GetType() Device_Type { + if x != nil { + return x.Type + } + return Device_Section +} + +// 设备端点 +type DevicePort struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 设备id + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + // 设备类型 + Type Device_Type `protobuf:"varint,2,opt,name=type,proto3,enum=message.Device_Type" json:"type,omitempty"` + // 设备端 + Port Device_Port `protobuf:"varint,3,opt,name=port,proto3,enum=message.Device_Port" json:"port,omitempty"` +} + +func (x *DevicePort) Reset() { + *x = DevicePort{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DevicePort) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DevicePort) ProtoMessage() {} + +func (x *DevicePort) ProtoReflect() protoreflect.Message { + mi := &file_repo_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 DevicePort.ProtoReflect.Descriptor instead. +func (*DevicePort) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{17} +} + +func (x *DevicePort) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *DevicePort) GetType() Device_Type { + if x != nil { + return x.Type + } + return Device_Section +} + +func (x *DevicePort) GetPort() Device_Port { + if x != nil { + return x.Port + } + return Device_A +} + +// 信号机 +type Signal struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + // 信号机编号 + Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` +} + +func (x *Signal) Reset() { + *x = Signal{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[18] + 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_repo_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 Signal.ProtoReflect.Descriptor instead. +func (*Signal) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{18} +} + +func (x *Signal) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *Signal) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +// 道岔 +type Turnout struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *Turnout) Reset() { + *x = Turnout{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Turnout) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Turnout) ProtoMessage() {} + +func (x *Turnout) ProtoReflect() protoreflect.Message { + mi := &file_repo_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 Turnout.ProtoReflect.Descriptor instead. +func (*Turnout) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{19} +} + +func (x *Turnout) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +// 物理区段 +type PhysicalSection struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *PhysicalSection) Reset() { + *x = PhysicalSection{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PhysicalSection) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PhysicalSection) ProtoMessage() {} + +func (x *PhysicalSection) ProtoReflect() protoreflect.Message { + mi := &file_repo_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 PhysicalSection.ProtoReflect.Descriptor instead. +func (*PhysicalSection) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{20} +} + +func (x *PhysicalSection) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +// 屏蔽门 +type Psd struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *Psd) Reset() { + *x = Psd{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[21] + 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_repo_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 Psd.ProtoReflect.Descriptor instead. +func (*Psd) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{21} +} + +func (x *Psd) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +// 站台 +type Platform struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + // 编号 + Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` + // 所属车站 + StationId uint32 `protobuf:"varint,3,opt,name=stationId,proto3" json:"stationId,omitempty"` + // 关联物理区段(站台轨) + PhysicalSectionId uint32 `protobuf:"varint,4,opt,name=physicalSectionId,proto3" json:"physicalSectionId,omitempty"` +} + +func (x *Platform) Reset() { + *x = Platform{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Platform) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Platform) ProtoMessage() {} + +func (x *Platform) ProtoReflect() protoreflect.Message { + mi := &file_repo_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 Platform.ProtoReflect.Descriptor instead. +func (*Platform) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{22} +} + +func (x *Platform) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *Platform) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +func (x *Platform) GetStationId() uint32 { + if x != nil { + return x.StationId + } + return 0 +} + +func (x *Platform) GetPhysicalSectionId() uint32 { + if x != nil { + return x.PhysicalSectionId + } + return 0 +} + +// 车站 +type Station struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + // 车站名 + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // 车站站名 + Zname string `protobuf:"bytes,3,opt,name=zname,proto3" json:"zname,omitempty"` + // 车站公里标(站台中心点) + Glb *GLB `protobuf:"bytes,4,opt,name=glb,proto3" json:"glb,omitempty"` +} + +func (x *Station) Reset() { + *x = Station{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Station) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Station) ProtoMessage() {} + +func (x *Station) ProtoReflect() protoreflect.Message { + mi := &file_repo_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 Station.ProtoReflect.Descriptor instead. +func (*Station) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{23} +} + +func (x *Station) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *Station) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Station) GetZname() string { + if x != nil { + return x.Zname + } + return "" +} + +func (x *Station) GetGlb() *GLB { + if x != nil { + return x.Glb + } + return nil +} + +// 公里标 +type GLB struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 坐标系编号 + Zbx string `protobuf:"bytes,1,opt,name=zbx,proto3" json:"zbx,omitempty"` + // 左右行 + Right bool `protobuf:"varint,2,opt,name=right,proto3" json:"right,omitempty"` + // 公里标值,单位mm + Value int64 `protobuf:"varint,3,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *GLB) Reset() { + *x = GLB{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GLB) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GLB) ProtoMessage() {} + +func (x *GLB) ProtoReflect() protoreflect.Message { + mi := &file_repo_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 GLB.ProtoReflect.Descriptor instead. +func (*GLB) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{24} +} + +func (x *GLB) GetZbx() string { + if x != nil { + return x.Zbx + } + return "" +} + +func (x *GLB) GetRight() bool { + if x != nil { + return x.Right + } + return false +} + +func (x *GLB) GetValue() int64 { + if x != nil { + return x.Value + } + return 0 +} + +// 联锁设备布置数据 +type CiSBBZ struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 设备集中站uid + EcsId string `protobuf:"bytes,1,opt,name=ecsId,proto3" json:"ecsId,omitempty"` + // 继电器 + Relays []*Relay `protobuf:"bytes,2,rep,name=relays,proto3" json:"relays,omitempty"` + // 断相保护器 + Pfps []*PFP `protobuf:"bytes,3,rep,name=pfps,proto3" json:"pfps,omitempty"` + // 设备电气组合组 + DeviceEcgs []*DeviceEcc `protobuf:"bytes,4,rep,name=deviceEcgs,proto3" json:"deviceEcgs,omitempty"` + // 联锁采集码表 + Cjt []*CiCjTable `protobuf:"bytes,5,rep,name=cjt,proto3" json:"cjt,omitempty"` + // 联锁驱动码表 + Qdt []*CiQdTable `protobuf:"bytes,6,rep,name=qdt,proto3" json:"qdt,omitempty"` + // 联锁区段码位表 + SectionIds []string `protobuf:"bytes,7,rep,name=sectionIds,proto3" json:"sectionIds,omitempty"` +} + +func (x *CiSBBZ) Reset() { + *x = CiSBBZ{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CiSBBZ) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CiSBBZ) ProtoMessage() {} + +func (x *CiSBBZ) ProtoReflect() protoreflect.Message { + mi := &file_repo_proto_msgTypes[25] + 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 CiSBBZ.ProtoReflect.Descriptor instead. +func (*CiSBBZ) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{25} +} + +func (x *CiSBBZ) GetEcsId() string { + if x != nil { + return x.EcsId + } + return "" +} + +func (x *CiSBBZ) GetRelays() []*Relay { + if x != nil { + return x.Relays + } + return nil +} + +func (x *CiSBBZ) GetPfps() []*PFP { + if x != nil { + return x.Pfps + } + return nil +} + +func (x *CiSBBZ) GetDeviceEcgs() []*DeviceEcc { + if x != nil { + return x.DeviceEcgs + } + return nil +} + +func (x *CiSBBZ) GetCjt() []*CiCjTable { + if x != nil { + return x.Cjt + } + return nil +} + +func (x *CiSBBZ) GetQdt() []*CiQdTable { + if x != nil { + return x.Qdt + } + return nil +} + +func (x *CiSBBZ) GetSectionIds() []string { + if x != nil { + return x.SectionIds + } + return nil +} + +// 联锁区段码位表 +type CiSectionTable struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 区段id + SectionIds []uint32 `protobuf:"varint,1,rep,packed,name=sectionIds,proto3" json:"sectionIds,omitempty"` +} + +func (x *CiSectionTable) Reset() { + *x = CiSectionTable{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CiSectionTable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CiSectionTable) ProtoMessage() {} + +func (x *CiSectionTable) ProtoReflect() protoreflect.Message { + mi := &file_repo_proto_msgTypes[26] + 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 CiSectionTable.ProtoReflect.Descriptor instead. +func (*CiSectionTable) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{26} +} + +func (x *CiSectionTable) GetSectionIds() []uint32 { + if x != nil { + return x.SectionIds + } + return nil +} + +// 联锁驱动码表 +type CiQdTable struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 继电器id + RelayIds []uint32 `protobuf:"varint,1,rep,packed,name=relayIds,proto3" json:"relayIds,omitempty"` +} + +func (x *CiQdTable) Reset() { + *x = CiQdTable{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CiQdTable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CiQdTable) ProtoMessage() {} + +func (x *CiQdTable) ProtoReflect() protoreflect.Message { + mi := &file_repo_proto_msgTypes[27] + 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 CiQdTable.ProtoReflect.Descriptor instead. +func (*CiQdTable) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{27} +} + +func (x *CiQdTable) GetRelayIds() []uint32 { + if x != nil { + return x.RelayIds + } + return nil +} + +// 联锁采集码表 +type CiCjTable struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Items []*CiCjItem `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` +} + +func (x *CiCjTable) Reset() { + *x = CiCjTable{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CiCjTable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CiCjTable) ProtoMessage() {} + +func (x *CiCjTable) ProtoReflect() protoreflect.Message { + mi := &file_repo_proto_msgTypes[28] + 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 CiCjTable.ProtoReflect.Descriptor instead. +func (*CiCjTable) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{28} +} + +func (x *CiCjTable) GetItems() []*CiCjItem { + if x != nil { + return x.Items + } + return nil +} + +// 联锁采集项 +type CiCjItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 继电器id + RelayId uint32 `protobuf:"varint,1,opt,name=relayId,proto3" json:"relayId,omitempty"` + // 采集继电器前后接点(前接点为吸起/定位),true-前接点,false-后接点 + Q bool `protobuf:"varint,2,opt,name=q,proto3" json:"q,omitempty"` +} + +func (x *CiCjItem) Reset() { + *x = CiCjItem{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CiCjItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CiCjItem) ProtoMessage() {} + +func (x *CiCjItem) ProtoReflect() protoreflect.Message { + mi := &file_repo_proto_msgTypes[29] + 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 CiCjItem.ProtoReflect.Descriptor instead. +func (*CiCjItem) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{29} +} + +func (x *CiCjItem) GetRelayId() uint32 { + if x != nil { + return x.RelayId + } + return 0 +} + +func (x *CiCjItem) GetQ() bool { + if x != nil { + return x.Q + } + return false +} + +// 断相保护器(Phase failure protector) +type PFP struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + // 编号 + Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` +} + +func (x *PFP) Reset() { + *x = PFP{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PFP) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PFP) ProtoMessage() {} + +func (x *PFP) ProtoReflect() protoreflect.Message { + mi := &file_repo_proto_msgTypes[30] + 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 PFP.ProtoReflect.Descriptor instead. +func (*PFP) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{30} +} + +func (x *PFP) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *PFP) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +// 继电器 +type Relay struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + // 继电器型号 + Model Relay_Model `protobuf:"varint,2,opt,name=model,proto3,enum=message.Relay_Model" json:"model,omitempty"` + // 编号 + Code string `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"` +} + +func (x *Relay) Reset() { + *x = Relay{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[31] + 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_repo_proto_msgTypes[31] + 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_repo_proto_rawDescGZIP(), []int{31} +} + +func (x *Relay) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *Relay) GetModel() Relay_Model { + if x != nil { + return x.Model + } + return Relay_JPXC_1000 +} + +func (x *Relay) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +// 按钮、灯等监控盘(IBP/门控箱/PSL等) +type JKP struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 数据id + Gid uint32 `protobuf:"varint,1,opt,name=gid,proto3" json:"gid,omitempty"` + // 开关 + Kgs []*KaiGuan `protobuf:"bytes,2,rep,name=kgs,proto3" json:"kgs,omitempty"` + // 灯 + Lamps []*Lamp `protobuf:"bytes,3,rep,name=lamps,proto3" json:"lamps,omitempty"` + // 警铃 + Alarms []*Alarm `protobuf:"bytes,4,rep,name=alarms,proto3" json:"alarms,omitempty"` + // 设备电子元件组合 + DeviceEccs []*DeviceEcc `protobuf:"bytes,5,rep,name=deviceEccs,proto3" json:"deviceEccs,omitempty"` +} + +func (x *JKP) Reset() { + *x = JKP{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JKP) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JKP) ProtoMessage() {} + +func (x *JKP) ProtoReflect() protoreflect.Message { + mi := &file_repo_proto_msgTypes[32] + 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 JKP.ProtoReflect.Descriptor instead. +func (*JKP) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{32} +} + +func (x *JKP) GetGid() uint32 { + if x != nil { + return x.Gid + } + return 0 +} + +func (x *JKP) GetKgs() []*KaiGuan { + if x != nil { + return x.Kgs + } + return nil +} + +func (x *JKP) GetLamps() []*Lamp { + if x != nil { + return x.Lamps + } + return nil +} + +func (x *JKP) GetAlarms() []*Alarm { + if x != nil { + return x.Alarms + } + return nil +} + +func (x *JKP) GetDeviceEccs() []*DeviceEcc { + if x != nil { + return x.DeviceEccs + } + return nil +} + +// 警铃/蜂鸣器 +type Alarm struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + // 编号 + Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` +} + +func (x *Alarm) Reset() { + *x = Alarm{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Alarm) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Alarm) ProtoMessage() {} + +func (x *Alarm) ProtoReflect() protoreflect.Message { + mi := &file_repo_proto_msgTypes[33] + 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 Alarm.ProtoReflect.Descriptor instead. +func (*Alarm) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{33} +} + +func (x *Alarm) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *Alarm) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +// 开关 +type KaiGuan struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + // 编号 + Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` + // 是否有背光灯 + Lamp bool `protobuf:"varint,3,opt,name=lamp,proto3" json:"lamp,omitempty"` +} + +func (x *KaiGuan) Reset() { + *x = KaiGuan{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KaiGuan) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KaiGuan) ProtoMessage() {} + +func (x *KaiGuan) ProtoReflect() protoreflect.Message { + mi := &file_repo_proto_msgTypes[34] + 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 KaiGuan.ProtoReflect.Descriptor instead. +func (*KaiGuan) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{34} +} + +func (x *KaiGuan) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *KaiGuan) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +func (x *KaiGuan) GetLamp() bool { + if x != nil { + return x.Lamp + } + return false +} + +// 灯 +type Lamp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + // 编号 + Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` +} + +func (x *Lamp) Reset() { + *x = Lamp{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Lamp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Lamp) ProtoMessage() {} + +func (x *Lamp) ProtoReflect() protoreflect.Message { + mi := &file_repo_proto_msgTypes[35] + 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 Lamp.ProtoReflect.Descriptor instead. +func (*Lamp) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{35} +} + +func (x *Lamp) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *Lamp) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +// 设备电子元件组合 +type DeviceEcc struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 设备编号 + DeviceCode string `protobuf:"bytes,1,opt,name=deviceCode,proto3" json:"deviceCode,omitempty"` + // 设备类型 + DeviceType Device_Type `protobuf:"varint,2,opt,name=deviceType,proto3,enum=message.Device_Type" json:"deviceType,omitempty"` + // 电子元件组合 + Ecc []*Ecc `protobuf:"bytes,3,rep,name=ecc,proto3" json:"ecc,omitempty"` +} + +func (x *DeviceEcc) Reset() { + *x = DeviceEcc{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeviceEcc) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeviceEcc) ProtoMessage() {} + +func (x *DeviceEcc) ProtoReflect() protoreflect.Message { + mi := &file_repo_proto_msgTypes[36] + 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 DeviceEcc.ProtoReflect.Descriptor instead. +func (*DeviceEcc) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{36} +} + +func (x *DeviceEcc) GetDeviceCode() string { + if x != nil { + return x.DeviceCode + } + return "" +} + +func (x *DeviceEcc) GetDeviceType() Device_Type { + if x != nil { + return x.DeviceType + } + return Device_Section +} + +func (x *DeviceEcc) GetEcc() []*Ecc { + if x != nil { + return x.Ecc + } + return nil +} + +// 电子元件组合 +type Ecc struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 组合名称 + Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` + // 关联的电子元件id + Ids []uint32 `protobuf:"varint,2,rep,packed,name=ids,proto3" json:"ids,omitempty"` +} + +func (x *Ecc) Reset() { + *x = Ecc{} + if protoimpl.UnsafeEnabled { + mi := &file_repo_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Ecc) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Ecc) ProtoMessage() {} + +func (x *Ecc) ProtoReflect() protoreflect.Message { + mi := &file_repo_proto_msgTypes[37] + 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 Ecc.ProtoReflect.Descriptor instead. +func (*Ecc) Descriptor() ([]byte, []int) { + return file_repo_proto_rawDescGZIP(), []int{37} +} + +func (x *Ecc) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +func (x *Ecc) GetIds() []uint32 { + if x != nil { + return x.Ids + } + return nil +} + +var File_repo_proto protoreflect.FileDescriptor + +var file_repo_proto_rawDesc = []byte{ + 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x24, 0x0a, 0x0a, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x16, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x06, 0x0a, 0x02, 0x43, + 0x47, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x54, 0x10, 0x01, 0x22, 0x80, 0x01, 0x0a, 0x04, + 0x52, 0x65, 0x70, 0x6f, 0x12, 0x32, 0x0a, 0x07, 0x73, 0x69, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, + 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x07, 0x73, 0x69, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x02, 0x63, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, + 0x47, 0x48, 0x00, 0x52, 0x02, 0x63, 0x67, 0x12, 0x1d, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x54, + 0x48, 0x00, 0x52, 0x02, 0x67, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x04, + 0x0a, 0x02, 0x47, 0x54, 0x22, 0x29, 0x0a, 0x02, 0x43, 0x47, 0x12, 0x23, 0x0a, 0x05, 0x6c, 0x69, + 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x22, + 0x32, 0x0a, 0x04, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6c, + 0x69, 0x6e, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x69, 0x6e, + 0x65, 0x49, 0x64, 0x22, 0x86, 0x05, 0x0a, 0x04, 0x58, 0x48, 0x42, 0x5a, 0x12, 0x10, 0x0a, 0x03, + 0x67, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x67, 0x69, 0x64, 0x12, 0x2c, + 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2f, 0x0a, 0x09, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x11, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x12, 0x20, 0x0a, + 0x04, 0x70, 0x73, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x73, 0x64, 0x52, 0x04, 0x70, 0x73, 0x64, 0x73, 0x12, + 0x44, 0x0a, 0x10, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x2e, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2c, 0x0a, 0x08, 0x74, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, + 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x2e, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x52, 0x08, 0x74, 0x75, 0x72, 0x6e, 0x6f, + 0x75, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x07, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x18, 0x07, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x53, + 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x52, 0x07, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x12, 0x29, + 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x69, 0x73, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0f, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x42, 0x61, 0x6c, 0x69, 0x73, 0x65, + 0x52, 0x07, 0x62, 0x61, 0x6c, 0x69, 0x73, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x0c, 0x70, 0x61, 0x72, + 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x6f, 0x74, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x6b, 0x69, 0x6e, + 0x67, 0x53, 0x70, 0x6f, 0x74, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x70, + 0x6f, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x03, 0x70, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0b, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x64, 0x52, 0x03, 0x70, + 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x03, 0x71, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0b, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x51, 0x64, 0x52, 0x03, 0x71, 0x64, + 0x73, 0x12, 0x20, 0x0a, 0x04, 0x65, 0x6d, 0x70, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0c, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x45, 0x4d, 0x50, 0x52, 0x04, 0x65, + 0x6d, 0x70, 0x73, 0x12, 0x20, 0x0a, 0x04, 0x74, 0x64, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0c, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x54, 0x44, 0x54, 0x52, + 0x04, 0x74, 0x64, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x04, 0x6d, 0x6b, 0x78, 0x73, 0x18, 0x0e, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x4d, 0x6b, + 0x78, 0x52, 0x04, 0x6d, 0x6b, 0x78, 0x73, 0x12, 0x20, 0x0a, 0x04, 0x70, 0x73, 0x6c, 0x73, 0x18, + 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, + 0x50, 0x53, 0x4c, 0x52, 0x04, 0x70, 0x73, 0x6c, 0x73, 0x12, 0x21, 0x0a, 0x04, 0x73, 0x70, 0x6b, + 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x2e, 0x53, 0x50, 0x4b, 0x53, 0x52, 0x04, 0x73, 0x70, 0x6b, 0x73, 0x22, 0x16, 0x0a, 0x04, + 0x53, 0x50, 0x4b, 0x53, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x02, 0x69, 0x64, 0x22, 0x15, 0x0a, 0x03, 0x50, 0x53, 0x4c, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x22, 0x15, 0x0a, 0x03, 0x4d, + 0x6b, 0x78, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, + 0x69, 0x64, 0x22, 0x15, 0x0a, 0x03, 0x54, 0x44, 0x54, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x22, 0x15, 0x0a, 0x03, 0x45, 0x4d, 0x50, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, + 0x22, 0x14, 0x0a, 0x02, 0x51, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x22, 0x14, 0x0a, 0x02, 0x50, 0x64, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x22, 0x1d, 0x0a, 0x0b, + 0x50, 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x6f, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x22, 0x18, 0x0a, 0x06, 0x42, + 0x61, 0x6c, 0x69, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x02, 0x69, 0x64, 0x22, 0xc8, 0x01, 0x0a, 0x0a, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, + 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x03, 0x67, 0x6c, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0c, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x4c, 0x42, 0x52, 0x03, 0x67, + 0x6c, 0x62, 0x12, 0x35, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x0b, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x22, 0x25, 0x0a, 0x04, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x10, 0x00, 0x12, + 0x06, 0x0a, 0x02, 0x4a, 0x5a, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x4a, 0x59, 0x4a, 0x10, 0x02, + 0x22, 0x8d, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x2c, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, + 0x07, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x75, + 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x69, 0x67, 0x6e, 0x61, + 0x6c, 0x10, 0x02, 0x22, 0x1b, 0x0a, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x05, 0x0a, 0x01, 0x41, + 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x42, 0x10, 0x01, 0x12, 0x05, 0x0a, 0x01, 0x43, 0x10, 0x02, + 0x22, 0x70, 0x0a, 0x0a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x28, + 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, + 0x72, 0x74, 0x22, 0x3e, 0x0a, 0x06, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x22, 0x10, 0x0a, 0x05, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x07, 0x0a, 0x03, 0x48, 0x4c, 0x55, + 0x10, 0x00, 0x22, 0x19, 0x0a, 0x07, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x22, 0x21, 0x0a, + 0x0f, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, + 0x22, 0x15, 0x0a, 0x03, 0x50, 0x73, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x22, 0x7a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, + 0x6c, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x11, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x22, 0x63, 0x0a, 0x07, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x7a, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x7a, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x03, 0x67, 0x6c, 0x62, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, + 0x47, 0x4c, 0x42, 0x52, 0x03, 0x67, 0x6c, 0x62, 0x22, 0x43, 0x0a, 0x03, 0x47, 0x4c, 0x42, 0x12, + 0x10, 0x0a, 0x03, 0x7a, 0x62, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x7a, 0x62, + 0x78, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x05, 0x72, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x88, 0x02, + 0x0a, 0x06, 0x43, 0x69, 0x53, 0x42, 0x42, 0x5a, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x63, 0x73, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x63, 0x73, 0x49, 0x64, 0x12, 0x26, + 0x0a, 0x06, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x06, + 0x72, 0x65, 0x6c, 0x61, 0x79, 0x73, 0x12, 0x20, 0x0a, 0x04, 0x70, 0x66, 0x70, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, + 0x46, 0x50, 0x52, 0x04, 0x70, 0x66, 0x70, 0x73, 0x12, 0x32, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x45, 0x63, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x45, 0x63, 0x63, + 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x45, 0x63, 0x67, 0x73, 0x12, 0x24, 0x0a, 0x03, + 0x63, 0x6a, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x2e, 0x43, 0x69, 0x43, 0x6a, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x03, 0x63, + 0x6a, 0x74, 0x12, 0x24, 0x0a, 0x03, 0x71, 0x64, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x12, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x69, 0x51, 0x64, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x52, 0x03, 0x71, 0x64, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x22, 0x30, 0x0a, 0x0e, 0x43, 0x69, 0x53, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, + 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x22, 0x27, 0x0a, 0x09, 0x43, 0x69, + 0x51, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x79, + 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x79, + 0x49, 0x64, 0x73, 0x22, 0x34, 0x0a, 0x09, 0x43, 0x69, 0x43, 0x6a, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x12, 0x27, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x11, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x69, 0x43, 0x6a, 0x49, 0x74, + 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x32, 0x0a, 0x08, 0x43, 0x69, 0x43, + 0x6a, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x12, + 0x0c, 0x0a, 0x01, 0x71, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x01, 0x71, 0x22, 0x29, 0x0a, + 0x03, 0x50, 0x46, 0x50, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0xe0, 0x01, 0x0a, 0x05, 0x52, 0x65, 0x6c, + 0x61, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x14, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x52, 0x65, 0x6c, 0x61, + 0x79, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x12, + 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x05, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x0d, 0x0a, 0x09, + 0x4a, 0x50, 0x58, 0x43, 0x5f, 0x31, 0x30, 0x30, 0x30, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4a, + 0x50, 0x58, 0x43, 0x5f, 0x31, 0x37, 0x30, 0x30, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x57, + 0x4a, 0x58, 0x43, 0x5f, 0x34, 0x38, 0x30, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x4a, 0x57, 0x4a, + 0x58, 0x43, 0x5f, 0x48, 0x31, 0x32, 0x35, 0x5f, 0x38, 0x30, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, + 0x4a, 0x57, 0x58, 0x43, 0x5f, 0x31, 0x37, 0x30, 0x30, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x4a, + 0x57, 0x58, 0x43, 0x5f, 0x48, 0x33, 0x34, 0x30, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x4a, 0x59, + 0x4a, 0x58, 0x43, 0x5f, 0x31, 0x36, 0x30, 0x5f, 0x32, 0x36, 0x30, 0x10, 0x06, 0x12, 0x0c, 0x0a, + 0x08, 0x4a, 0x5a, 0x58, 0x43, 0x5f, 0x48, 0x31, 0x38, 0x10, 0x07, 0x22, 0xdf, 0x01, 0x0a, 0x03, + 0x4a, 0x4b, 0x50, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x03, 0x67, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x03, 0x6b, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x4b, 0x61, 0x69, + 0x47, 0x75, 0x61, 0x6e, 0x52, 0x03, 0x6b, 0x67, 0x73, 0x12, 0x23, 0x0a, 0x05, 0x6c, 0x61, 0x6d, + 0x70, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x2e, 0x4c, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x6c, 0x61, 0x6d, 0x70, 0x73, 0x12, 0x26, + 0x0a, 0x06, 0x61, 0x6c, 0x61, 0x72, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x52, 0x06, + 0x61, 0x6c, 0x61, 0x72, 0x6d, 0x73, 0x12, 0x32, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x45, 0x63, 0x63, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x45, 0x63, 0x63, 0x52, 0x0a, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x45, 0x63, 0x63, 0x73, 0x22, 0x21, 0x0a, 0x04, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x49, 0x42, 0x50, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x50, + 0x53, 0x4c, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x4d, 0x4b, 0x58, 0x10, 0x02, 0x22, 0x2b, 0x0a, + 0x05, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x41, 0x0a, 0x07, 0x4b, 0x61, + 0x69, 0x47, 0x75, 0x61, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x6d, + 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6c, 0x61, 0x6d, 0x70, 0x22, 0x2a, 0x0a, + 0x04, 0x4c, 0x61, 0x6d, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x09, 0x44, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x45, 0x63, 0x63, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x34, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, + 0x03, 0x65, 0x63, 0x63, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x2e, 0x45, 0x63, 0x63, 0x52, 0x03, 0x65, 0x63, 0x63, 0x22, 0x2b, 0x0a, + 0x03, 0x45, 0x63, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x03, 0x69, 0x64, 0x73, 0x42, 0x1c, 0x5a, 0x1a, 0x2e, 0x2f, + 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_repo_proto_rawDescOnce sync.Once + file_repo_proto_rawDescData = file_repo_proto_rawDesc +) + +func file_repo_proto_rawDescGZIP() []byte { + file_repo_proto_rawDescOnce.Do(func() { + file_repo_proto_rawDescData = protoimpl.X.CompressGZIP(file_repo_proto_rawDescData) + }) + return file_repo_proto_rawDescData +} + +var file_repo_proto_enumTypes = make([]protoimpl.EnumInfo, 7) +var file_repo_proto_msgTypes = make([]protoimpl.MessageInfo, 38) +var file_repo_proto_goTypes = []interface{}{ + (Simulation_Type)(0), // 0: message.Simulation.Type + (CheckPoint_Type)(0), // 1: message.CheckPoint.Type + (Device_Type)(0), // 2: message.Device.Type + (Device_Port)(0), // 3: message.Device.Port + (Signal_Model)(0), // 4: message.Signal.Model + (Relay_Model)(0), // 5: message.Relay.Model + (JKP_Type)(0), // 6: message.JKP.Type + (*Simulation)(nil), // 7: message.Simulation + (*Repo)(nil), // 8: message.Repo + (*GT)(nil), // 9: message.GT + (*CG)(nil), // 10: message.CG + (*Line)(nil), // 11: message.Line + (*XHBZ)(nil), // 12: message.XHBZ + (*SPKS)(nil), // 13: message.SPKS + (*PSL)(nil), // 14: message.PSL + (*Mkx)(nil), // 15: message.Mkx + (*TDT)(nil), // 16: message.TDT + (*EMP)(nil), // 17: message.EMP + (*Qd)(nil), // 18: message.Qd + (*Pd)(nil), // 19: message.Pd + (*ParkingSpot)(nil), // 20: message.ParkingSpot + (*Balise)(nil), // 21: message.Balise + (*CheckPoint)(nil), // 22: message.CheckPoint + (*Device)(nil), // 23: message.Device + (*DevicePort)(nil), // 24: message.DevicePort + (*Signal)(nil), // 25: message.Signal + (*Turnout)(nil), // 26: message.Turnout + (*PhysicalSection)(nil), // 27: message.PhysicalSection + (*Psd)(nil), // 28: message.Psd + (*Platform)(nil), // 29: message.Platform + (*Station)(nil), // 30: message.Station + (*GLB)(nil), // 31: message.GLB + (*CiSBBZ)(nil), // 32: message.CiSBBZ + (*CiSectionTable)(nil), // 33: message.CiSectionTable + (*CiQdTable)(nil), // 34: message.CiQdTable + (*CiCjTable)(nil), // 35: message.CiCjTable + (*CiCjItem)(nil), // 36: message.CiCjItem + (*PFP)(nil), // 37: message.PFP + (*Relay)(nil), // 38: message.Relay + (*JKP)(nil), // 39: message.JKP + (*Alarm)(nil), // 40: message.Alarm + (*KaiGuan)(nil), // 41: message.KaiGuan + (*Lamp)(nil), // 42: message.Lamp + (*DeviceEcc)(nil), // 43: message.DeviceEcc + (*Ecc)(nil), // 44: message.Ecc +} +var file_repo_proto_depIdxs = []int32{ + 0, // 0: message.Repo.simType:type_name -> message.Simulation.Type + 10, // 1: message.Repo.cg:type_name -> message.CG + 9, // 2: message.Repo.gt:type_name -> message.GT + 11, // 3: message.CG.lines:type_name -> message.Line + 30, // 4: message.XHBZ.stations:type_name -> message.Station + 29, // 5: message.XHBZ.platforms:type_name -> message.Platform + 28, // 6: message.XHBZ.psds:type_name -> message.Psd + 27, // 7: message.XHBZ.physicalSections:type_name -> message.PhysicalSection + 26, // 8: message.XHBZ.turnouts:type_name -> message.Turnout + 25, // 9: message.XHBZ.signals:type_name -> message.Signal + 21, // 10: message.XHBZ.balises:type_name -> message.Balise + 20, // 11: message.XHBZ.parkingSpots:type_name -> message.ParkingSpot + 19, // 12: message.XHBZ.pds:type_name -> message.Pd + 18, // 13: message.XHBZ.qds:type_name -> message.Qd + 17, // 14: message.XHBZ.emps:type_name -> message.EMP + 16, // 15: message.XHBZ.tdts:type_name -> message.TDT + 15, // 16: message.XHBZ.mkxs:type_name -> message.Mkx + 14, // 17: message.XHBZ.psls:type_name -> message.PSL + 13, // 18: message.XHBZ.spks:type_name -> message.SPKS + 1, // 19: message.CheckPoint.type:type_name -> message.CheckPoint.Type + 31, // 20: message.CheckPoint.glb:type_name -> message.GLB + 24, // 21: message.CheckPoint.devicePorts:type_name -> message.DevicePort + 2, // 22: message.Device.type:type_name -> message.Device.Type + 2, // 23: message.DevicePort.type:type_name -> message.Device.Type + 3, // 24: message.DevicePort.port:type_name -> message.Device.Port + 31, // 25: message.Station.glb:type_name -> message.GLB + 38, // 26: message.CiSBBZ.relays:type_name -> message.Relay + 37, // 27: message.CiSBBZ.pfps:type_name -> message.PFP + 43, // 28: message.CiSBBZ.deviceEcgs:type_name -> message.DeviceEcc + 35, // 29: message.CiSBBZ.cjt:type_name -> message.CiCjTable + 34, // 30: message.CiSBBZ.qdt:type_name -> message.CiQdTable + 36, // 31: message.CiCjTable.items:type_name -> message.CiCjItem + 5, // 32: message.Relay.model:type_name -> message.Relay.Model + 41, // 33: message.JKP.kgs:type_name -> message.KaiGuan + 42, // 34: message.JKP.lamps:type_name -> message.Lamp + 40, // 35: message.JKP.alarms:type_name -> message.Alarm + 43, // 36: message.JKP.deviceEccs:type_name -> message.DeviceEcc + 2, // 37: message.DeviceEcc.deviceType:type_name -> message.Device.Type + 44, // 38: message.DeviceEcc.ecc:type_name -> message.Ecc + 39, // [39:39] is the sub-list for method output_type + 39, // [39:39] is the sub-list for method input_type + 39, // [39:39] is the sub-list for extension type_name + 39, // [39:39] is the sub-list for extension extendee + 0, // [0:39] is the sub-list for field type_name +} + +func init() { file_repo_proto_init() } +func file_repo_proto_init() { + if File_repo_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_repo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Simulation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Repo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GT); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CG); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Line); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*XHBZ); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SPKS); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PSL); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Mkx); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TDT); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EMP); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Qd); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Pd); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ParkingSpot); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Balise); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CheckPoint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Device); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DevicePort); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[18].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_repo_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Turnout); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PhysicalSection); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[21].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_repo_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Platform); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Station); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GLB); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CiSBBZ); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CiSectionTable); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CiQdTable); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CiCjTable); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CiCjItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PFP); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[31].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_repo_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JKP); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Alarm); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*KaiGuan); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Lamp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeviceEcc); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repo_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Ecc); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_repo_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*Repo_Cg)(nil), + (*Repo_Gt)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_repo_proto_rawDesc, + NumEnums: 7, + NumMessages: 38, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_repo_proto_goTypes, + DependencyIndexes: file_repo_proto_depIdxs, + EnumInfos: file_repo_proto_enumTypes, + MessageInfos: file_repo_proto_msgTypes, + }.Build() + File_repo_proto = out.File + file_repo_proto_rawDesc = nil + file_repo_proto_goTypes = nil + file_repo_proto_depIdxs = nil +} diff --git a/repository/repository.go b/repository/repository.go index eddf03a..e65cac0 100644 --- a/repository/repository.go +++ b/repository/repository.go @@ -15,7 +15,7 @@ type Repository struct { checkPointMap map[string]*CheckPoint turnoutMap map[string]*Turnout signalMap map[string]*Signal - responderMap map[string]*Transponder + transponderMap map[string]*Transponder slopeMap map[string]*Slope sectionalCurvatureMap map[string]*SectionalCurvature kilometerConvertMap map[string]*proto.KilometerConvert @@ -62,7 +62,7 @@ func newRepository(id string, version string) *Repository { checkPointMap: make(map[string]*CheckPoint), turnoutMap: make(map[string]*Turnout), signalMap: make(map[string]*Signal), - responderMap: make(map[string]*Transponder), + transponderMap: make(map[string]*Transponder), slopeMap: make(map[string]*Slope), sectionalCurvatureMap: make(map[string]*SectionalCurvature), kilometerConvertMap: make(map[string]*proto.KilometerConvert), @@ -119,7 +119,7 @@ func (repo *Repository) FindById(id string) Identity { if md, ok := repo.checkPointMap[id]; ok { return md } - if md, ok := repo.responderMap[id]; ok { + if md, ok := repo.transponderMap[id]; ok { return md } if md, ok := repo.stationMap[id]; ok { @@ -225,16 +225,16 @@ func (repo *Repository) SignalList() []*Signal { } return list } -func (repo *Repository) ResponderList() []*Transponder { +func (repo *Repository) TransponderList() []*Transponder { var list []*Transponder - for _, model := range repo.responderMap { + for _, model := range repo.transponderMap { list = append(list, model) } return list } func (repo *Repository) ResponderListByLink(linkId string) []*Transponder { var list []*Transponder - for _, model := range repo.responderMap { + for _, model := range repo.transponderMap { if model.linkPosition.link.Id() == linkId { list = append(list, model) } @@ -336,7 +336,7 @@ func (repo *Repository) FindModel(deviceId string, deviceType proto.DeviceType) case proto.DeviceType_DeviceType_Signal: return repo.signalMap[deviceId], nil case proto.DeviceType_DeviceType_Transponder: - return repo.responderMap[deviceId], nil + return repo.transponderMap[deviceId], nil case proto.DeviceType_DeviceType_Slope: return repo.slopeMap[deviceId], nil case proto.DeviceType_DeviceType_SectionalCurvature: @@ -396,7 +396,7 @@ func (repo *Repository) FindLink(id string) *Link { return repo.linkMap[id] } func (repo *Repository) FindTransponder(id string) *Transponder { - return repo.responderMap[id] + return repo.transponderMap[id] } func (repo *Repository) FindTurnout(id string) *Turnout { return repo.turnoutMap[id] @@ -419,7 +419,7 @@ func (repo *Repository) FindPsd(id string) *Psd { return repo.psdMap[id] } -func (repo *Repository) FindPlatfrom(id string) *Platform { +func (repo *Repository) FindPlatform(id string) *Platform { return repo.platformMap[id] } @@ -499,7 +499,7 @@ func (repo *Repository) generateCoordinateInfo(coordinateSystem string) error { return nil } -func (repo Repository) GetCoordinateInfo() *MapCoordinate { +func (repo *Repository) GetCoordinateInfo() *MapCoordinate { return repo.coordinate } diff --git a/repository/repository_manager.go b/repository/repository_manager.go index 8c102d8..dabd686 100644 --- a/repository/repository_manager.go +++ b/repository/repository_manager.go @@ -85,7 +85,7 @@ func buildModels(source *proto.Repository, repository *Repository) error { } for _, protoData := range source.Transponders { m := NewTransponder(protoData.Id, protoData.Km, protoData.FixedTelegram, protoData.Type) - repository.responderMap[m.Id()] = m + repository.transponderMap[m.Id()] = m } for _, protoData := range source.Slopes { m := NewSlope(protoData.Id, protoData.Kms, protoData.Degree) @@ -346,7 +346,7 @@ func buildCheckPointRelationShip(source *proto.Repository, repo *Repository) err func buildResponderRelationShip(source *proto.Repository, repository *Repository) error { for _, protoData := range source.Transponders { - responder := repository.responderMap[protoData.Id] + responder := repository.transponderMap[protoData.Id] //应答器和区段相互关联 if protoData.SectionId != "" { interrelateResponderAndPhysicalSection(responder, repository.physicalSectionMap[protoData.SectionId]) @@ -595,11 +595,7 @@ func buildLinks(repo *Repository) error { //以始端道岔的公里标作为Link零点的公里标 linkZeroKm := startTp.turnout.km //创建基础Link - link := &Link{ - Identity: identity{ - id: strconv.Itoa(linkIdGenerator), //由于发给动力学的link的id是数字,所以这里也用数字 - deviceType: proto.DeviceType_DeviceType_Link, - }} + link := NewLink(strconv.Itoa(linkIdGenerator)) //由于发给动力学的link的id是数字,所以这里也用数字 linkIdGenerator++ //以此道岔端口作为Link的A端节点 interrelateLinkAndTurnout(repo, linkZeroKm, startTp, &LinkPort{link, proto.Port_A}) diff --git a/repository/transponder.go b/repository/transponder.go index c0d9952..3c7941f 100644 --- a/repository/transponder.go +++ b/repository/transponder.go @@ -8,7 +8,7 @@ type Transponder struct { km *proto.Kilometer //section *PhysicalSection //turnoutPort TurnoutPort - linkPosition *LinkPosition + linkPosition *LinkPosition //此位置是应答器初始位置,当前位置需从应答器实体中获取 fixedTelegram []byte //无源应答器固定报文 baliseType proto.Transponder_Type //应答器类型 } @@ -31,13 +31,6 @@ func (t *Transponder) bindLinkPosition(position *LinkPosition) { t.linkPosition = position } -// func (r *Transponder) bindSection(section *PhysicalSection) { -// r.section = section -// } -// -// func (r *Transponder) bindTurnoutPort(turnoutPort TurnoutPort) { -// r.turnoutPort = turnoutPort -// } func (t *Transponder) LinkPosition() *LinkPosition { return t.linkPosition }