rts-sim-module/repository/model/proto/model.pb.go
2023-10-10 16:15:56 +08:00

2024 lines
68 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.1
// protoc v4.23.1
// source: model.proto
package 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 DeviceType int32
const (
DeviceType_DeviceType_Unknown DeviceType = 0
DeviceType_DeviceType_PhysicalSection DeviceType = 1
DeviceType_DeviceType_CheckPoint DeviceType = 2
DeviceType_DeviceType_Turnout DeviceType = 3
DeviceType_DeviceType_Signal DeviceType = 4
DeviceType_DeviceType_Transponder DeviceType = 5
DeviceType_DeviceType_Slope DeviceType = 6
DeviceType_DeviceType_SectionalCurvature DeviceType = 7
DeviceType_DeviceType_Link DeviceType = 8
DeviceType_DeviceType_LinkNode DeviceType = 9
DeviceType_DeviceType_Relay DeviceType = 10
DeviceType_DeviceType_PhaseFailureProtector DeviceType = 11
DeviceType_DeviceType_Button DeviceType = 12
)
// Enum value maps for DeviceType.
var (
DeviceType_name = map[int32]string{
0: "DeviceType_Unknown",
1: "DeviceType_PhysicalSection",
2: "DeviceType_CheckPoint",
3: "DeviceType_Turnout",
4: "DeviceType_Signal",
5: "DeviceType_Transponder",
6: "DeviceType_Slope",
7: "DeviceType_SectionalCurvature",
8: "DeviceType_Link",
9: "DeviceType_LinkNode",
10: "DeviceType_Relay",
11: "DeviceType_PhaseFailureProtector",
12: "DeviceType_Button",
}
DeviceType_value = map[string]int32{
"DeviceType_Unknown": 0,
"DeviceType_PhysicalSection": 1,
"DeviceType_CheckPoint": 2,
"DeviceType_Turnout": 3,
"DeviceType_Signal": 4,
"DeviceType_Transponder": 5,
"DeviceType_Slope": 6,
"DeviceType_SectionalCurvature": 7,
"DeviceType_Link": 8,
"DeviceType_LinkNode": 9,
"DeviceType_Relay": 10,
"DeviceType_PhaseFailureProtector": 11,
"DeviceType_Button": 12,
}
)
func (x DeviceType) Enum() *DeviceType {
p := new(DeviceType)
*p = x
return p
}
func (x DeviceType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (DeviceType) Descriptor() protoreflect.EnumDescriptor {
return file_model_proto_enumTypes[0].Descriptor()
}
func (DeviceType) Type() protoreflect.EnumType {
return &file_model_proto_enumTypes[0]
}
func (x DeviceType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use DeviceType.Descriptor instead.
func (DeviceType) EnumDescriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{0}
}
type Port int32
const (
Port_None Port = 0 //没有端口/未指定端口
Port_A Port = 1
Port_B Port = 2
Port_C Port = 3
)
// Enum value maps for Port.
var (
Port_name = map[int32]string{
0: "None",
1: "A",
2: "B",
3: "C",
}
Port_value = map[string]int32{
"None": 0,
"A": 1,
"B": 2,
"C": 3,
}
)
func (x Port) Enum() *Port {
p := new(Port)
*p = x
return p
}
func (x Port) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Port) Descriptor() protoreflect.EnumDescriptor {
return file_model_proto_enumTypes[1].Descriptor()
}
func (Port) Type() protoreflect.EnumType {
return &file_model_proto_enumTypes[1]
}
func (x Port) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Port.Descriptor instead.
func (Port) EnumDescriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{1}
}
// 左右行
type Direction int32
const (
Direction_LEFT Direction = 0
Direction_RIGHT Direction = 1
)
// Enum value maps for Direction.
var (
Direction_name = map[int32]string{
0: "LEFT",
1: "RIGHT",
}
Direction_value = map[string]int32{
"LEFT": 0,
"RIGHT": 1,
}
)
func (x Direction) Enum() *Direction {
p := new(Direction)
*p = x
return p
}
func (x Direction) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Direction) Descriptor() protoreflect.EnumDescriptor {
return file_model_proto_enumTypes[2].Descriptor()
}
func (Direction) Type() protoreflect.EnumType {
return &file_model_proto_enumTypes[2]
}
func (x Direction) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Direction.Descriptor instead.
func (Direction) EnumDescriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{2}
}
// 检测点类型
type CheckPointType int32
const (
CheckPointType_Boundary CheckPointType = 0 //区段边界
CheckPointType_AxleCounter CheckPointType = 1 //计轴器
CheckPointType_InsulatedJoint CheckPointType = 2 //绝缘节
)
// Enum value maps for CheckPointType.
var (
CheckPointType_name = map[int32]string{
0: "Boundary",
1: "AxleCounter",
2: "InsulatedJoint",
}
CheckPointType_value = map[string]int32{
"Boundary": 0,
"AxleCounter": 1,
"InsulatedJoint": 2,
}
)
func (x CheckPointType) Enum() *CheckPointType {
p := new(CheckPointType)
*p = x
return p
}
func (x CheckPointType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (CheckPointType) Descriptor() protoreflect.EnumDescriptor {
return file_model_proto_enumTypes[3].Descriptor()
}
func (CheckPointType) Type() protoreflect.EnumType {
return &file_model_proto_enumTypes[3]
}
func (x CheckPointType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use CheckPointType.Descriptor instead.
func (CheckPointType) EnumDescriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{3}
}
type Turnout_SwitchMachineType int32
const (
Turnout_Unknown Turnout_SwitchMachineType = 0
Turnout_ZDJ9_Single Turnout_SwitchMachineType = 1
Turnout_ZDJ9_Double Turnout_SwitchMachineType = 2
)
// Enum value maps for Turnout_SwitchMachineType.
var (
Turnout_SwitchMachineType_name = map[int32]string{
0: "Unknown",
1: "ZDJ9_Single",
2: "ZDJ9_Double",
}
Turnout_SwitchMachineType_value = map[string]int32{
"Unknown": 0,
"ZDJ9_Single": 1,
"ZDJ9_Double": 2,
}
)
func (x Turnout_SwitchMachineType) Enum() *Turnout_SwitchMachineType {
p := new(Turnout_SwitchMachineType)
*p = x
return p
}
func (x Turnout_SwitchMachineType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Turnout_SwitchMachineType) Descriptor() protoreflect.EnumDescriptor {
return file_model_proto_enumTypes[4].Descriptor()
}
func (Turnout_SwitchMachineType) Type() protoreflect.EnumType {
return &file_model_proto_enumTypes[4]
}
func (x Turnout_SwitchMachineType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Turnout_SwitchMachineType.Descriptor instead.
func (Turnout_SwitchMachineType) EnumDescriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{3, 0}
}
type Relay_Model int32
const (
Relay_Unknown Relay_Model = 0
Relay_JPXC_1000 Relay_Model = 1
Relay_JPXC_1700 Relay_Model = 2
Relay_JWJXC_480 Relay_Model = 3
Relay_JWJXC_H125_80 Relay_Model = 4
Relay_JWXC_1700 Relay_Model = 5
Relay_JWXC_H340 Relay_Model = 6
Relay_JYJXC_160_260 Relay_Model = 7
Relay_JZXC_H18 Relay_Model = 8
)
// Enum value maps for Relay_Model.
var (
Relay_Model_name = map[int32]string{
0: "Unknown",
1: "JPXC_1000",
2: "JPXC_1700",
3: "JWJXC_480",
4: "JWJXC_H125_80",
5: "JWXC_1700",
6: "JWXC_H340",
7: "JYJXC_160_260",
8: "JZXC_H18",
}
Relay_Model_value = map[string]int32{
"Unknown": 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": 8,
}
)
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_model_proto_enumTypes[5].Descriptor()
}
func (Relay_Model) Type() protoreflect.EnumType {
return &file_model_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_model_proto_rawDescGZIP(), []int{11, 0}
}
type Button_ButtonType int32
const (
Button_Unknown Button_ButtonType = 0
Button_NO_Reset_Press Button_ButtonType = 1
Button_NO_Reset_Up Button_ButtonType = 2
Button_Reset_Press Button_ButtonType = 3
Button_Reset_Up Button_ButtonType = 4
)
// Enum value maps for Button_ButtonType.
var (
Button_ButtonType_name = map[int32]string{
0: "Unknown",
1: "NO_Reset_Press",
2: "NO_Reset_Up",
3: "Reset_Press",
4: "Reset_Up",
}
Button_ButtonType_value = map[string]int32{
"Unknown": 0,
"NO_Reset_Press": 1,
"NO_Reset_Up": 2,
"Reset_Press": 3,
"Reset_Up": 4,
}
)
func (x Button_ButtonType) Enum() *Button_ButtonType {
p := new(Button_ButtonType)
*p = x
return p
}
func (x Button_ButtonType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Button_ButtonType) Descriptor() protoreflect.EnumDescriptor {
return file_model_proto_enumTypes[6].Descriptor()
}
func (Button_ButtonType) Type() protoreflect.EnumType {
return &file_model_proto_enumTypes[6]
}
func (x Button_ButtonType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Button_ButtonType.Descriptor instead.
func (Button_ButtonType) EnumDescriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{14, 0}
}
type Repository struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
PhysicalSections []*PhysicalSection `protobuf:"bytes,3,rep,name=physicalSections,proto3" json:"physicalSections,omitempty"`
CheckPoints []*CheckPoint `protobuf:"bytes,4,rep,name=checkPoints,proto3" json:"checkPoints,omitempty"`
Turnouts []*Turnout `protobuf:"bytes,5,rep,name=turnouts,proto3" json:"turnouts,omitempty"`
Signals []*Signal `protobuf:"bytes,6,rep,name=signals,proto3" json:"signals,omitempty"`
Transponders []*Transponder `protobuf:"bytes,7,rep,name=transponders,proto3" json:"transponders,omitempty"`
Slopes []*Slope `protobuf:"bytes,8,rep,name=slopes,proto3" json:"slopes,omitempty"`
SectionalCurvatures []*SectionalCurvature `protobuf:"bytes,9,rep,name=sectionalCurvatures,proto3" json:"sectionalCurvatures,omitempty"`
KilometerConverts []*KilometerConvert `protobuf:"bytes,10,rep,name=kilometerConverts,proto3" json:"kilometerConverts,omitempty"`
Relays []*Relay `protobuf:"bytes,11,rep,name=relays,proto3" json:"relays,omitempty"`
PhaseFailureProtectors []*PhaseFailureProtector `protobuf:"bytes,12,rep,name=phaseFailureProtectors,proto3" json:"phaseFailureProtectors,omitempty"`
Buttons []*Button `protobuf:"bytes,13,rep,name=buttons,proto3" json:"buttons,omitempty"`
}
func (x *Repository) Reset() {
*x = Repository{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Repository) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Repository) ProtoMessage() {}
func (x *Repository) ProtoReflect() protoreflect.Message {
mi := &file_model_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 Repository.ProtoReflect.Descriptor instead.
func (*Repository) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{0}
}
func (x *Repository) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *Repository) GetVersion() string {
if x != nil {
return x.Version
}
return ""
}
func (x *Repository) GetPhysicalSections() []*PhysicalSection {
if x != nil {
return x.PhysicalSections
}
return nil
}
func (x *Repository) GetCheckPoints() []*CheckPoint {
if x != nil {
return x.CheckPoints
}
return nil
}
func (x *Repository) GetTurnouts() []*Turnout {
if x != nil {
return x.Turnouts
}
return nil
}
func (x *Repository) GetSignals() []*Signal {
if x != nil {
return x.Signals
}
return nil
}
func (x *Repository) GetTransponders() []*Transponder {
if x != nil {
return x.Transponders
}
return nil
}
func (x *Repository) GetSlopes() []*Slope {
if x != nil {
return x.Slopes
}
return nil
}
func (x *Repository) GetSectionalCurvatures() []*SectionalCurvature {
if x != nil {
return x.SectionalCurvatures
}
return nil
}
func (x *Repository) GetKilometerConverts() []*KilometerConvert {
if x != nil {
return x.KilometerConverts
}
return nil
}
func (x *Repository) GetRelays() []*Relay {
if x != nil {
return x.Relays
}
return nil
}
func (x *Repository) GetPhaseFailureProtectors() []*PhaseFailureProtector {
if x != nil {
return x.PhaseFailureProtectors
}
return nil
}
func (x *Repository) GetButtons() []*Button {
if x != nil {
return x.Buttons
}
return nil
}
// 物理区段
type PhysicalSection struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
TurnoutIds []string `protobuf:"bytes,2,rep,name=turnoutIds,proto3" json:"turnoutIds,omitempty"` //道岔物理区段关联的道岔
ADevicePort *DevicePort `protobuf:"bytes,3,opt,name=aDevicePort,proto3" json:"aDevicePort,omitempty"` //非道岔物理区段A端关联的设备端口
BDevicePort *DevicePort `protobuf:"bytes,4,opt,name=bDevicePort,proto3" json:"bDevicePort,omitempty"`
}
func (x *PhysicalSection) Reset() {
*x = PhysicalSection{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[1]
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_model_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 PhysicalSection.ProtoReflect.Descriptor instead.
func (*PhysicalSection) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{1}
}
func (x *PhysicalSection) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *PhysicalSection) GetTurnoutIds() []string {
if x != nil {
return x.TurnoutIds
}
return nil
}
func (x *PhysicalSection) GetADevicePort() *DevicePort {
if x != nil {
return x.ADevicePort
}
return nil
}
func (x *PhysicalSection) GetBDevicePort() *DevicePort {
if x != nil {
return x.BDevicePort
}
return nil
}
// 区段检测点
type CheckPoint struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Km *Kilometer `protobuf:"bytes,2,opt,name=km,proto3" json:"km,omitempty"`
Type CheckPointType `protobuf:"varint,3,opt,name=type,proto3,enum=model.CheckPointType" json:"type,omitempty"`
DevicePorts []*DevicePort `protobuf:"bytes,4,rep,name=devicePorts,proto3" json:"devicePorts,omitempty"`
}
func (x *CheckPoint) Reset() {
*x = CheckPoint{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[2]
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_model_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 CheckPoint.ProtoReflect.Descriptor instead.
func (*CheckPoint) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{2}
}
func (x *CheckPoint) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *CheckPoint) GetKm() *Kilometer {
if x != nil {
return x.Km
}
return nil
}
func (x *CheckPoint) GetType() CheckPointType {
if x != nil {
return x.Type
}
return CheckPointType_Boundary
}
func (x *CheckPoint) GetDevicePorts() []*DevicePort {
if x != nil {
return x.DevicePorts
}
return nil
}
// 道岔
type Turnout struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Km *Kilometer `protobuf:"bytes,2,opt,name=km,proto3" json:"km,omitempty"`
ADevicePort *DevicePort `protobuf:"bytes,3,opt,name=aDevicePort,proto3" json:"aDevicePort,omitempty"`
BDevicePort *DevicePort `protobuf:"bytes,4,opt,name=bDevicePort,proto3" json:"bDevicePort,omitempty"`
CDevicePort *DevicePort `protobuf:"bytes,5,opt,name=cDevicePort,proto3" json:"cDevicePort,omitempty"`
SwitchMachineType Turnout_SwitchMachineType `protobuf:"varint,6,opt,name=switchMachineType,proto3,enum=model.Turnout_SwitchMachineType" json:"switchMachineType,omitempty"`
ElectronicComponentGroups []*ElectronicComponentGroup `protobuf:"bytes,7,rep,name=electronicComponentGroups,proto3" json:"electronicComponentGroups,omitempty"` //关联的电子元件组合
}
func (x *Turnout) Reset() {
*x = Turnout{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[3]
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_model_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 Turnout.ProtoReflect.Descriptor instead.
func (*Turnout) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{3}
}
func (x *Turnout) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *Turnout) GetKm() *Kilometer {
if x != nil {
return x.Km
}
return nil
}
func (x *Turnout) GetADevicePort() *DevicePort {
if x != nil {
return x.ADevicePort
}
return nil
}
func (x *Turnout) GetBDevicePort() *DevicePort {
if x != nil {
return x.BDevicePort
}
return nil
}
func (x *Turnout) GetCDevicePort() *DevicePort {
if x != nil {
return x.CDevicePort
}
return nil
}
func (x *Turnout) GetSwitchMachineType() Turnout_SwitchMachineType {
if x != nil {
return x.SwitchMachineType
}
return Turnout_Unknown
}
func (x *Turnout) GetElectronicComponentGroups() []*ElectronicComponentGroup {
if x != nil {
return x.ElectronicComponentGroups
}
return nil
}
// 信号机
type Signal struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Km *Kilometer `protobuf:"bytes,2,opt,name=km,proto3" json:"km,omitempty"`
SectionId string `protobuf:"bytes,3,opt,name=sectionId,proto3" json:"sectionId,omitempty"` //关联的区段
TurnoutPort *DevicePort `protobuf:"bytes,4,opt,name=turnoutPort,proto3" json:"turnoutPort,omitempty"` //关联的区段端口
ElectronicComponentGroups []*ElectronicComponentGroup `protobuf:"bytes,7,rep,name=electronicComponentGroups,proto3" json:"electronicComponentGroups,omitempty"` //关联的继电器组
}
func (x *Signal) Reset() {
*x = Signal{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[4]
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_model_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 Signal.ProtoReflect.Descriptor instead.
func (*Signal) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{4}
}
func (x *Signal) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *Signal) GetKm() *Kilometer {
if x != nil {
return x.Km
}
return nil
}
func (x *Signal) GetSectionId() string {
if x != nil {
return x.SectionId
}
return ""
}
func (x *Signal) GetTurnoutPort() *DevicePort {
if x != nil {
return x.TurnoutPort
}
return nil
}
func (x *Signal) GetElectronicComponentGroups() []*ElectronicComponentGroup {
if x != nil {
return x.ElectronicComponentGroups
}
return nil
}
// 应答器
type Transponder struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Km *Kilometer `protobuf:"bytes,2,opt,name=km,proto3" json:"km,omitempty"`
SectionId string `protobuf:"bytes,3,opt,name=sectionId,proto3" json:"sectionId,omitempty"` //关联的区段
TurnoutPort *DevicePort `protobuf:"bytes,4,opt,name=turnoutPort,proto3" json:"turnoutPort,omitempty"` //关联的区段端口
}
func (x *Transponder) Reset() {
*x = Transponder{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Transponder) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Transponder) ProtoMessage() {}
func (x *Transponder) ProtoReflect() protoreflect.Message {
mi := &file_model_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 Transponder.ProtoReflect.Descriptor instead.
func (*Transponder) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{5}
}
func (x *Transponder) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *Transponder) GetKm() *Kilometer {
if x != nil {
return x.Km
}
return nil
}
func (x *Transponder) GetSectionId() string {
if x != nil {
return x.SectionId
}
return ""
}
func (x *Transponder) GetTurnoutPort() *DevicePort {
if x != nil {
return x.TurnoutPort
}
return nil
}
// 坡度
type Slope struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Kms []*Kilometer `protobuf:"bytes,2,rep,name=kms,proto3" json:"kms,omitempty"`
Degree int32 `protobuf:"varint,3,opt,name=degree,proto3" json:"degree,omitempty"` //坡度角的sin * 1000
}
func (x *Slope) Reset() {
*x = Slope{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Slope) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Slope) ProtoMessage() {}
func (x *Slope) ProtoReflect() protoreflect.Message {
mi := &file_model_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 Slope.ProtoReflect.Descriptor instead.
func (*Slope) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{6}
}
func (x *Slope) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *Slope) GetKms() []*Kilometer {
if x != nil {
return x.Kms
}
return nil
}
func (x *Slope) GetDegree() int32 {
if x != nil {
return x.Degree
}
return 0
}
// 分段曲率
type SectionalCurvature struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Kms []*Kilometer `protobuf:"bytes,2,rep,name=kms,proto3" json:"kms,omitempty"`
Radius int32 `protobuf:"varint,3,opt,name=radius,proto3" json:"radius,omitempty"` //半径 mm
}
func (x *SectionalCurvature) Reset() {
*x = SectionalCurvature{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SectionalCurvature) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SectionalCurvature) ProtoMessage() {}
func (x *SectionalCurvature) ProtoReflect() protoreflect.Message {
mi := &file_model_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 SectionalCurvature.ProtoReflect.Descriptor instead.
func (*SectionalCurvature) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{7}
}
func (x *SectionalCurvature) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *SectionalCurvature) GetKms() []*Kilometer {
if x != nil {
return x.Kms
}
return nil
}
func (x *SectionalCurvature) GetRadius() int32 {
if x != nil {
return x.Radius
}
return 0
}
// 设备及端口
type DevicePort struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
DeviceId string `protobuf:"bytes,1,opt,name=deviceId,proto3" json:"deviceId,omitempty"`
DeviceType DeviceType `protobuf:"varint,2,opt,name=deviceType,proto3,enum=model.DeviceType" json:"deviceType,omitempty"`
Port Port `protobuf:"varint,3,opt,name=port,proto3,enum=model.Port" json:"port,omitempty"`
}
func (x *DevicePort) Reset() {
*x = DevicePort{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[8]
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_model_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 DevicePort.ProtoReflect.Descriptor instead.
func (*DevicePort) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{8}
}
func (x *DevicePort) GetDeviceId() string {
if x != nil {
return x.DeviceId
}
return ""
}
func (x *DevicePort) GetDeviceType() DeviceType {
if x != nil {
return x.DeviceType
}
return DeviceType_DeviceType_Unknown
}
func (x *DevicePort) GetPort() Port {
if x != nil {
return x.Port
}
return Port_None
}
// 公里标
type Kilometer struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Value int64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` //公里标mm
CoordinateSystem string `protobuf:"bytes,2,opt,name=coordinateSystem,proto3" json:"coordinateSystem,omitempty"` //坐标系
Direction Direction `protobuf:"varint,3,opt,name=direction,proto3,enum=model.Direction" json:"direction,omitempty"` //左右行
}
func (x *Kilometer) Reset() {
*x = Kilometer{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Kilometer) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Kilometer) ProtoMessage() {}
func (x *Kilometer) ProtoReflect() protoreflect.Message {
mi := &file_model_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 Kilometer.ProtoReflect.Descriptor instead.
func (*Kilometer) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{9}
}
func (x *Kilometer) GetValue() int64 {
if x != nil {
return x.Value
}
return 0
}
func (x *Kilometer) GetCoordinateSystem() string {
if x != nil {
return x.CoordinateSystem
}
return ""
}
func (x *Kilometer) GetDirection() Direction {
if x != nil {
return x.Direction
}
return Direction_LEFT
}
// 公里标转换
type KilometerConvert struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
KmA *Kilometer `protobuf:"bytes,1,opt,name=kmA,proto3" json:"kmA,omitempty"`
KmB *Kilometer `protobuf:"bytes,2,opt,name=kmB,proto3" json:"kmB,omitempty"`
SameTrend bool `protobuf:"varint,3,opt,name=sameTrend,proto3" json:"sameTrend,omitempty"` //相同趋势(同增同减)?
}
func (x *KilometerConvert) Reset() {
*x = KilometerConvert{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *KilometerConvert) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*KilometerConvert) ProtoMessage() {}
func (x *KilometerConvert) ProtoReflect() protoreflect.Message {
mi := &file_model_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 KilometerConvert.ProtoReflect.Descriptor instead.
func (*KilometerConvert) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{10}
}
func (x *KilometerConvert) GetKmA() *Kilometer {
if x != nil {
return x.KmA
}
return nil
}
func (x *KilometerConvert) GetKmB() *Kilometer {
if x != nil {
return x.KmB
}
return nil
}
func (x *KilometerConvert) GetSameTrend() bool {
if x != nil {
return x.SameTrend
}
return false
}
// 继电器
type Relay struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
Model Relay_Model `protobuf:"varint,3,opt,name=model,proto3,enum=model.Relay_Model" json:"model,omitempty"`
}
func (x *Relay) Reset() {
*x = Relay{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[11]
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_model_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 Relay.ProtoReflect.Descriptor instead.
func (*Relay) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{11}
}
func (x *Relay) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *Relay) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *Relay) GetModel() Relay_Model {
if x != nil {
return x.Model
}
return Relay_Unknown
}
// 断相保护器
type PhaseFailureProtector struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
}
func (x *PhaseFailureProtector) Reset() {
*x = PhaseFailureProtector{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PhaseFailureProtector) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PhaseFailureProtector) ProtoMessage() {}
func (x *PhaseFailureProtector) ProtoReflect() protoreflect.Message {
mi := &file_model_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 PhaseFailureProtector.ProtoReflect.Descriptor instead.
func (*PhaseFailureProtector) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{12}
}
func (x *PhaseFailureProtector) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *PhaseFailureProtector) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
// 电子元件组合
type ElectronicComponentGroup struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` //组合的编号(名称)
ComponentIds []string `protobuf:"bytes,2,rep,name=componentIds,proto3" json:"componentIds,omitempty"` //组合内电子元件的id
}
func (x *ElectronicComponentGroup) Reset() {
*x = ElectronicComponentGroup{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ElectronicComponentGroup) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ElectronicComponentGroup) ProtoMessage() {}
func (x *ElectronicComponentGroup) ProtoReflect() protoreflect.Message {
mi := &file_model_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 ElectronicComponentGroup.ProtoReflect.Descriptor instead.
func (*ElectronicComponentGroup) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{13}
}
func (x *ElectronicComponentGroup) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *ElectronicComponentGroup) GetComponentIds() []string {
if x != nil {
return x.ComponentIds
}
return nil
}
// 按钮
type Button struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
ButtonType Button_ButtonType `protobuf:"varint,2,opt,name=buttonType,proto3,enum=model.Button_ButtonType" json:"buttonType,omitempty"`
}
func (x *Button) Reset() {
*x = Button{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Button) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Button) ProtoMessage() {}
func (x *Button) ProtoReflect() protoreflect.Message {
mi := &file_model_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 Button.ProtoReflect.Descriptor instead.
func (*Button) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{14}
}
func (x *Button) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *Button) GetButtonType() Button_ButtonType {
if x != nil {
return x.ButtonType
}
return Button_Unknown
}
var File_model_proto protoreflect.FileDescriptor
var file_model_proto_rawDesc = []byte{
0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x6d,
0x6f, 0x64, 0x65, 0x6c, 0x22, 0x9b, 0x05, 0x0a, 0x0a, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
0x6f, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a,
0x10, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 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, 0x33, 0x0a, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73,
0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x43,
0x68, 0x65, 0x63, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x74, 0x75, 0x72, 0x6e, 0x6f, 0x75,
0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
0x2e, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x52, 0x08, 0x74, 0x75, 0x72, 0x6e, 0x6f, 0x75,
0x74, 0x73, 0x12, 0x27, 0x0a, 0x07, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x18, 0x06, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x53, 0x69, 0x67, 0x6e,
0x61, 0x6c, 0x52, 0x07, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x12, 0x36, 0x0a, 0x0c, 0x74,
0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70,
0x6f, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x6e, 0x64,
0x65, 0x72, 0x73, 0x12, 0x24, 0x0a, 0x06, 0x73, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x08, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x53, 0x6c, 0x6f, 0x70,
0x65, 0x52, 0x06, 0x73, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x13, 0x73, 0x65, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x75, 0x72, 0x76, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x53,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x75, 0x72, 0x76, 0x61, 0x74, 0x75, 0x72,
0x65, 0x52, 0x13, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x75, 0x72, 0x76,
0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x11, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65,
0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65,
0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x52, 0x11, 0x6b, 0x69, 0x6c, 0x6f,
0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x73, 0x12, 0x24, 0x0a,
0x06, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e,
0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x06, 0x72, 0x65, 0x6c,
0x61, 0x79, 0x73, 0x12, 0x54, 0x0a, 0x16, 0x70, 0x68, 0x61, 0x73, 0x65, 0x46, 0x61, 0x69, 0x6c,
0x75, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x0c, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, 0x68, 0x61, 0x73,
0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x6f,
0x72, 0x52, 0x16, 0x70, 0x68, 0x61, 0x73, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50,
0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x27, 0x0a, 0x07, 0x62, 0x75, 0x74,
0x74, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6d, 0x6f, 0x64,
0x65, 0x6c, 0x2e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x52, 0x07, 0x62, 0x75, 0x74, 0x74, 0x6f,
0x6e, 0x73, 0x22, 0xab, 0x01, 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, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x75, 0x72, 0x6e, 0x6f, 0x75,
0x74, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x75, 0x72, 0x6e,
0x6f, 0x75, 0x74, 0x49, 0x64, 0x73, 0x12, 0x33, 0x0a, 0x0b, 0x61, 0x44, 0x65, 0x76, 0x69, 0x63,
0x65, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x6f,
0x64, 0x65, 0x6c, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x0b,
0x61, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x33, 0x0a, 0x0b, 0x62,
0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x11, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50,
0x6f, 0x72, 0x74, 0x52, 0x0b, 0x62, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74,
0x22, 0x9e, 0x01, 0x0a, 0x0a, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12,
0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12,
0x20, 0x0a, 0x02, 0x6b, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x6f,
0x64, 0x65, 0x6c, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x02, 0x6b,
0x6d, 0x12, 0x29, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x15, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x6f, 0x69,
0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x33, 0x0a, 0x0b,
0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 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, 0xcd, 0x03, 0x0a, 0x07, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x12, 0x0e, 0x0a,
0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a,
0x02, 0x6b, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x6f, 0x64, 0x65,
0x6c, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x02, 0x6b, 0x6d, 0x12,
0x33, 0x0a, 0x0b, 0x61, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, 0x65, 0x76,
0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x0b, 0x61, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
0x50, 0x6f, 0x72, 0x74, 0x12, 0x33, 0x0a, 0x0b, 0x62, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50,
0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x6f, 0x64, 0x65,
0x6c, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x0b, 0x62, 0x44,
0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x33, 0x0a, 0x0b, 0x63, 0x44, 0x65,
0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11,
0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72,
0x74, 0x52, 0x0b, 0x63, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x4e,
0x0a, 0x11, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54,
0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x6d, 0x6f, 0x64, 0x65,
0x6c, 0x2e, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x2e, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68,
0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x11, 0x73, 0x77, 0x69,
0x74, 0x63, 0x68, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5d,
0x0a, 0x19, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x6f, 0x6e, 0x69, 0x63, 0x43, 0x6f, 0x6d, 0x70,
0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x72,
0x6f, 0x6e, 0x69, 0x63, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x52, 0x19, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x6f, 0x6e, 0x69, 0x63, 0x43, 0x6f,
0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x22, 0x42, 0x0a,
0x11, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79,
0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12,
0x0f, 0x0a, 0x0b, 0x5a, 0x44, 0x4a, 0x39, 0x5f, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x10, 0x01,
0x12, 0x0f, 0x0a, 0x0b, 0x5a, 0x44, 0x4a, 0x39, 0x5f, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x10,
0x02, 0x22, 0xec, 0x01, 0x0a, 0x06, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x12, 0x0e, 0x0a, 0x02,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x02,
0x6b, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x02, 0x6b, 0x6d, 0x12, 0x1c,
0x0a, 0x09, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x09, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x0b,
0x74, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
0x50, 0x6f, 0x72, 0x74, 0x52, 0x0b, 0x74, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x72,
0x74, 0x12, 0x5d, 0x0a, 0x19, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x6f, 0x6e, 0x69, 0x63, 0x43,
0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x07,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x45, 0x6c, 0x65,
0x63, 0x74, 0x72, 0x6f, 0x6e, 0x69, 0x63, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74,
0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x19, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x6f, 0x6e, 0x69,
0x63, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73,
0x22, 0x92, 0x01, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72,
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
0x12, 0x20, 0x0a, 0x02, 0x6b, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d,
0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x02,
0x6b, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18,
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64,
0x12, 0x33, 0x0a, 0x0b, 0x74, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x18,
0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, 0x65,
0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x0b, 0x74, 0x75, 0x72, 0x6e, 0x6f, 0x75,
0x74, 0x50, 0x6f, 0x72, 0x74, 0x22, 0x53, 0x0a, 0x05, 0x53, 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x0e,
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x22,
0x0a, 0x03, 0x6b, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x6f,
0x64, 0x65, 0x6c, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x03, 0x6b,
0x6d, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01,
0x28, 0x05, 0x52, 0x06, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x22, 0x60, 0x0a, 0x12, 0x53, 0x65,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x75, 0x72, 0x76, 0x61, 0x74, 0x75, 0x72, 0x65,
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
0x12, 0x22, 0x0a, 0x03, 0x6b, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e,
0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52,
0x03, 0x6b, 0x6d, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x03,
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x22, 0x7c, 0x0a, 0x0a,
0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65,
0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65,
0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x6d, 0x6f, 0x64,
0x65, 0x6c, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x64,
0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x04, 0x70, 0x6f, 0x72,
0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e,
0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x7d, 0x0a, 0x09, 0x4b, 0x69,
0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2a, 0x0a,
0x10, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65,
0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e,
0x61, 0x74, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x2e, 0x0a, 0x09, 0x64, 0x69, 0x72,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6d,
0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09,
0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x78, 0x0a, 0x10, 0x4b, 0x69, 0x6c,
0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x12, 0x22, 0x0a,
0x03, 0x6b, 0x6d, 0x41, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x6f, 0x64,
0x65, 0x6c, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x03, 0x6b, 0x6d,
0x41, 0x12, 0x22, 0x0a, 0x03, 0x6b, 0x6d, 0x42, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10,
0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72,
0x52, 0x03, 0x6b, 0x6d, 0x42, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x61, 0x6d, 0x65, 0x54, 0x72, 0x65,
0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x61, 0x6d, 0x65, 0x54, 0x72,
0x65, 0x6e, 0x64, 0x22, 0xeb, 0x01, 0x0a, 0x05, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x0e, 0x0a,
0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 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, 0x28, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x12, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x4d,
0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x93, 0x01, 0x0a, 0x05,
0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e,
0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x50, 0x58, 0x43, 0x5f, 0x31, 0x30, 0x30, 0x30, 0x10,
0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x50, 0x58, 0x43, 0x5f, 0x31, 0x37, 0x30, 0x30, 0x10, 0x02,
0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x57, 0x4a, 0x58, 0x43, 0x5f, 0x34, 0x38, 0x30, 0x10, 0x03, 0x12,
0x11, 0x0a, 0x0d, 0x4a, 0x57, 0x4a, 0x58, 0x43, 0x5f, 0x48, 0x31, 0x32, 0x35, 0x5f, 0x38, 0x30,
0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x57, 0x58, 0x43, 0x5f, 0x31, 0x37, 0x30, 0x30, 0x10,
0x05, 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x57, 0x58, 0x43, 0x5f, 0x48, 0x33, 0x34, 0x30, 0x10, 0x06,
0x12, 0x11, 0x0a, 0x0d, 0x4a, 0x59, 0x4a, 0x58, 0x43, 0x5f, 0x31, 0x36, 0x30, 0x5f, 0x32, 0x36,
0x30, 0x10, 0x07, 0x12, 0x0c, 0x0a, 0x08, 0x4a, 0x5a, 0x58, 0x43, 0x5f, 0x48, 0x31, 0x38, 0x10,
0x08, 0x22, 0x3b, 0x0a, 0x15, 0x50, 0x68, 0x61, 0x73, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72,
0x65, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 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, 0x52,
0x0a, 0x18, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x6f, 0x6e, 0x69, 0x63, 0x43, 0x6f, 0x6d, 0x70,
0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f,
0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x22,
0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x18, 0x02,
0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49,
0x64, 0x73, 0x22, 0xb1, 0x01, 0x0a, 0x06, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x0e, 0x0a,
0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x38, 0x0a,
0x0a, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x18, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e,
0x2e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x62, 0x75, 0x74,
0x74, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x22, 0x5d, 0x0a, 0x0a, 0x42, 0x75, 0x74, 0x74, 0x6f,
0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e,
0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x4e, 0x4f, 0x5f, 0x52, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x50,
0x72, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x5f, 0x52, 0x65, 0x73,
0x65, 0x74, 0x5f, 0x55, 0x70, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x65, 0x74,
0x5f, 0x50, 0x72, 0x65, 0x73, 0x73, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x65,
0x74, 0x5f, 0x55, 0x70, 0x10, 0x04, 0x2a, 0xe4, 0x02, 0x0a, 0x0a, 0x44, 0x65, 0x76, 0x69, 0x63,
0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54,
0x79, 0x70, 0x65, 0x5f, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x1e, 0x0a,
0x1a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50, 0x68, 0x79, 0x73,
0x69, 0x63, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x01, 0x12, 0x19, 0x0a,
0x15, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x68, 0x65, 0x63,
0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x65, 0x76, 0x69,
0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x10, 0x03,
0x12, 0x15, 0x0a, 0x11, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53,
0x69, 0x67, 0x6e, 0x61, 0x6c, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x65, 0x76, 0x69, 0x63,
0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65,
0x72, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70,
0x65, 0x5f, 0x53, 0x6c, 0x6f, 0x70, 0x65, 0x10, 0x06, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x65, 0x76,
0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61,
0x6c, 0x43, 0x75, 0x72, 0x76, 0x61, 0x74, 0x75, 0x72, 0x65, 0x10, 0x07, 0x12, 0x13, 0x0a, 0x0f,
0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x69, 0x6e, 0x6b, 0x10,
0x08, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f,
0x4c, 0x69, 0x6e, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x10, 0x09, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x65,
0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x10, 0x0a,
0x12, 0x24, 0x0a, 0x20, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50,
0x68, 0x61, 0x73, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x65,
0x63, 0x74, 0x6f, 0x72, 0x10, 0x0b, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x10, 0x0c, 0x2a, 0x25, 0x0a,
0x04, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12,
0x05, 0x0a, 0x01, 0x41, 0x10, 0x01, 0x12, 0x05, 0x0a, 0x01, 0x42, 0x10, 0x02, 0x12, 0x05, 0x0a,
0x01, 0x43, 0x10, 0x03, 0x2a, 0x20, 0x0a, 0x09, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x45, 0x46, 0x54, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x52,
0x49, 0x47, 0x48, 0x54, 0x10, 0x01, 0x2a, 0x43, 0x0a, 0x0e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50,
0x6f, 0x69, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x42, 0x6f, 0x75, 0x6e,
0x64, 0x61, 0x72, 0x79, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x78, 0x6c, 0x65, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x65, 0x72, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x75, 0x6c,
0x61, 0x74, 0x65, 0x64, 0x4a, 0x6f, 0x69, 0x6e, 0x74, 0x10, 0x02, 0x42, 0x1a, 0x5a, 0x18, 0x2e,
0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x6d, 0x6f, 0x64, 0x65,
0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_model_proto_rawDescOnce sync.Once
file_model_proto_rawDescData = file_model_proto_rawDesc
)
func file_model_proto_rawDescGZIP() []byte {
file_model_proto_rawDescOnce.Do(func() {
file_model_proto_rawDescData = protoimpl.X.CompressGZIP(file_model_proto_rawDescData)
})
return file_model_proto_rawDescData
}
var file_model_proto_enumTypes = make([]protoimpl.EnumInfo, 7)
var file_model_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
var file_model_proto_goTypes = []interface{}{
(DeviceType)(0), // 0: model.DeviceType
(Port)(0), // 1: model.Port
(Direction)(0), // 2: model.Direction
(CheckPointType)(0), // 3: model.CheckPointType
(Turnout_SwitchMachineType)(0), // 4: model.Turnout.SwitchMachineType
(Relay_Model)(0), // 5: model.Relay.Model
(Button_ButtonType)(0), // 6: model.Button.ButtonType
(*Repository)(nil), // 7: model.Repository
(*PhysicalSection)(nil), // 8: model.PhysicalSection
(*CheckPoint)(nil), // 9: model.CheckPoint
(*Turnout)(nil), // 10: model.Turnout
(*Signal)(nil), // 11: model.Signal
(*Transponder)(nil), // 12: model.Transponder
(*Slope)(nil), // 13: model.Slope
(*SectionalCurvature)(nil), // 14: model.SectionalCurvature
(*DevicePort)(nil), // 15: model.DevicePort
(*Kilometer)(nil), // 16: model.Kilometer
(*KilometerConvert)(nil), // 17: model.KilometerConvert
(*Relay)(nil), // 18: model.Relay
(*PhaseFailureProtector)(nil), // 19: model.PhaseFailureProtector
(*ElectronicComponentGroup)(nil), // 20: model.ElectronicComponentGroup
(*Button)(nil), // 21: model.Button
}
var file_model_proto_depIdxs = []int32{
8, // 0: model.Repository.physicalSections:type_name -> model.PhysicalSection
9, // 1: model.Repository.checkPoints:type_name -> model.CheckPoint
10, // 2: model.Repository.turnouts:type_name -> model.Turnout
11, // 3: model.Repository.signals:type_name -> model.Signal
12, // 4: model.Repository.transponders:type_name -> model.Transponder
13, // 5: model.Repository.slopes:type_name -> model.Slope
14, // 6: model.Repository.sectionalCurvatures:type_name -> model.SectionalCurvature
17, // 7: model.Repository.kilometerConverts:type_name -> model.KilometerConvert
18, // 8: model.Repository.relays:type_name -> model.Relay
19, // 9: model.Repository.phaseFailureProtectors:type_name -> model.PhaseFailureProtector
21, // 10: model.Repository.buttons:type_name -> model.Button
15, // 11: model.PhysicalSection.aDevicePort:type_name -> model.DevicePort
15, // 12: model.PhysicalSection.bDevicePort:type_name -> model.DevicePort
16, // 13: model.CheckPoint.km:type_name -> model.Kilometer
3, // 14: model.CheckPoint.type:type_name -> model.CheckPointType
15, // 15: model.CheckPoint.devicePorts:type_name -> model.DevicePort
16, // 16: model.Turnout.km:type_name -> model.Kilometer
15, // 17: model.Turnout.aDevicePort:type_name -> model.DevicePort
15, // 18: model.Turnout.bDevicePort:type_name -> model.DevicePort
15, // 19: model.Turnout.cDevicePort:type_name -> model.DevicePort
4, // 20: model.Turnout.switchMachineType:type_name -> model.Turnout.SwitchMachineType
20, // 21: model.Turnout.electronicComponentGroups:type_name -> model.ElectronicComponentGroup
16, // 22: model.Signal.km:type_name -> model.Kilometer
15, // 23: model.Signal.turnoutPort:type_name -> model.DevicePort
20, // 24: model.Signal.electronicComponentGroups:type_name -> model.ElectronicComponentGroup
16, // 25: model.Transponder.km:type_name -> model.Kilometer
15, // 26: model.Transponder.turnoutPort:type_name -> model.DevicePort
16, // 27: model.Slope.kms:type_name -> model.Kilometer
16, // 28: model.SectionalCurvature.kms:type_name -> model.Kilometer
0, // 29: model.DevicePort.deviceType:type_name -> model.DeviceType
1, // 30: model.DevicePort.port:type_name -> model.Port
2, // 31: model.Kilometer.direction:type_name -> model.Direction
16, // 32: model.KilometerConvert.kmA:type_name -> model.Kilometer
16, // 33: model.KilometerConvert.kmB:type_name -> model.Kilometer
5, // 34: model.Relay.model:type_name -> model.Relay.Model
6, // 35: model.Button.buttonType:type_name -> model.Button.ButtonType
36, // [36:36] is the sub-list for method output_type
36, // [36:36] is the sub-list for method input_type
36, // [36:36] is the sub-list for extension type_name
36, // [36:36] is the sub-list for extension extendee
0, // [0:36] is the sub-list for field type_name
}
func init() { file_model_proto_init() }
func file_model_proto_init() {
if File_model_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_model_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Repository); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[1].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_model_proto_msgTypes[2].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_model_proto_msgTypes[3].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_model_proto_msgTypes[4].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_model_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Transponder); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Slope); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SectionalCurvature); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[8].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_model_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Kilometer); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*KilometerConvert); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[11].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_model_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PhaseFailureProtector); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ElectronicComponentGroup); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Button); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_model_proto_rawDesc,
NumEnums: 7,
NumMessages: 15,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_model_proto_goTypes,
DependencyIndexes: file_model_proto_depIdxs,
EnumInfos: file_model_proto_enumTypes,
MessageInfos: file_model_proto_msgTypes,
}.Build()
File_model_proto = out.File
file_model_proto_rawDesc = nil
file_model_proto_goTypes = nil
file_model_proto_depIdxs = nil
}