From 2971e68f406b30f65d4c1bb70f2a5754145a7703 Mon Sep 17 00:00:00 2001 From: joylink_zhangsai <1021828630@qq.com> Date: Tue, 1 Aug 2023 14:47:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=8A=A8=E5=8A=9B=E5=AD=A6?= =?UTF-8?q?=E5=BE=AA=E7=8E=AF=E5=8F=91=E9=80=81=E9=81=93=E5=B2=94=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E4=BB=BB=E5=8A=A1=EF=BC=9B=E4=BF=AE=E6=94=B9jsonTime?= =?UTF-8?q?=E5=8F=8D=E5=BA=8F=E5=88=97=E5=8C=96=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/publishedGi.go | 42 +- docs/docs.go | 153 +- docs/swagger.json | 153 +- docs/swagger.yaml | 101 +- dto/common.go | 11 +- dto/publishedGi.go | 25 - dto/publishedGi/publishedGi.go | 50 + dynamics/udp.go | 20 + go.mod | 4 + go.sum | 11 + main.go | 5 +- protobuf/device_state.pb.go | 1194 ---------- protobuf/stationLayoutGraphics.pb.go | 3187 -------------------------- service/publishedGi.go | 43 +- 14 files changed, 309 insertions(+), 4690 deletions(-) delete mode 100644 dto/publishedGi.go create mode 100644 dto/publishedGi/publishedGi.go delete mode 100644 protobuf/device_state.pb.go delete mode 100644 protobuf/stationLayoutGraphics.pb.go diff --git a/api/publishedGi.go b/api/publishedGi.go index fca5298..31464f4 100644 --- a/api/publishedGi.go +++ b/api/publishedGi.go @@ -6,6 +6,7 @@ import ( "go.uber.org/zap" "joylink.club/bj-rtsts-server/db/model" "joylink.club/bj-rtsts-server/dto" + "joylink.club/bj-rtsts-server/dto/publishedGi" "joylink.club/bj-rtsts-server/middleware" "joylink.club/bj-rtsts-server/service" "net/http" @@ -31,8 +32,7 @@ func InitPublishedGiRouter(api *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddl // @Tags 发布的图形数据Api // @Accept json // @Produce json -// @Param Authorization header string true "JWT Token" -// @Param pagePublishedGiReqDto query dto.PublishedGiReqDto true "分页查询参数" +// @Param pagePublishedGiReqDto query publishedGi.PublishedGiReqDto true "分页查询参数" // @Success 200 {object} dto.PageDto // @Failure 401 {object} dto.ErrorDto // @Failure 500 {object} dto.ErrorDto @@ -40,16 +40,12 @@ func InitPublishedGiRouter(api *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddl func pageQueryPublishedGi(c *gin.Context) { user, _ := c.Get(middleware.IdentityKey) zap.S().Debug("分页查询发布的图形数据", user) - req := dto.PublishedGiReqDto{} + req := publishedGi.PublishedGiReqDto{} if err := c.ShouldBind(&req); err != nil { - //zap.S().Warn("分页查询参数绑定错误,使用默认参数", err) - req.Default() + panic(dto.ErrorDto{Code: dto.ArgumentParseError, Message: err.Error()}) } zap.S().Debug("分页查询发布的图形数据", req) - page, err := service.PageQueryPublishedGi(&req) - if err != nil { - panic(err) - } + page := service.PageQueryPublishedGi(&req) c.JSON(http.StatusOK, page) } @@ -63,8 +59,7 @@ func pageQueryPublishedGi(c *gin.Context) { // @Tags 发布的图形数据Api // @Accept json // @Produce json -// @Param Authorization header string true "JWT Token" -// @Param pagePublishedGiReqDto query dto.PublishedGiReqDto true "查询参数" +// @Param pagePublishedGiReqDto query publishedGi.PublishedGiReqDto true "查询参数" // @Success 200 {object} []model.PublishedGi // @Failure 401 {object} dto.ErrorDto // @Failure 500 {object} dto.ErrorDto @@ -72,15 +67,12 @@ func pageQueryPublishedGi(c *gin.Context) { func listQueryPublishedGi(c *gin.Context) { user, _ := c.Get(middleware.IdentityKey) zap.S().Debug("列表查询发布的图形数据", user) - req := dto.PublishedGiReqDto{} - if err := c.ShouldBind(&req); err != nil { - zap.S().Warn("列表查询参数绑定错误", err) + req := publishedGi.PublishedGiReqDto{} + if err := c.ShouldBindQuery(&req); err != nil { + panic(dto.ErrorDto{Code: dto.ArgumentParseError, Message: err.Error()}) } zap.S().Debug("列表查询发布的图形数据", req) - list, err := service.ListQueryPublishedGi(&req) - if err != nil { - panic(err) - } + list := service.ListQueryPublishedGi(&req) c.JSON(http.StatusOK, list) } @@ -94,7 +86,6 @@ func listQueryPublishedGi(c *gin.Context) { // @Tags 发布的图形数据Api // @Accept json // @Produce json -// @Param Authorization header string true "JWT Token" // @Param id path int true "id" // @Success 200 {object} model.PublishedGi // @Failure 401 {object} dto.ErrorDto @@ -106,7 +97,7 @@ func getPublishedGiById(c *gin.Context) { idStr := c.Param("id") id, err := strconv.Atoi(idStr) if err != nil { - panic("id参数解析错误") + panic(dto.ErrorDto{Code: dto.ArgumentParseError, Message: err.Error()}) } zap.S().Debug("id查询发布的图形数据", id) entity, err := service.GetPublishedGiById(id) @@ -126,8 +117,7 @@ func getPublishedGiById(c *gin.Context) { // @Tags 发布的图形数据Api // @Accept json // @Produce json -// @Param Authorization header string true "JWT Token" -// @Param PublishReqDto query dto.PublishReqDto true "查询参数" +// @Param PublishReqDto query publishedGi.PublishReqDto true "查询参数" // @Success 200 // @Failure 401 {object} dto.ErrorDto // @Failure 500 {object} dto.ErrorDto @@ -135,10 +125,11 @@ func getPublishedGiById(c *gin.Context) { func publishFromDraft(c *gin.Context) { user, _ := c.Get(middleware.IdentityKey) zap.S().Debug("发布图形数据", user) - req := dto.PublishReqDto{} + req := publishedGi.PublishReqDto{} if err := c.ShouldBind(&req); err != nil { - zap.S().Warn("发布图形数据参数绑定错误", err) + panic(dto.ErrorDto{Code: dto.ArgumentParseError, Message: err.Error()}) } + //todo zap.S().Debug("发布图形数据请求参数", req) service.PublishFormDraft(&req, user.(*model.User)) } @@ -153,7 +144,6 @@ func publishFromDraft(c *gin.Context) { // @Tags 发布的图形数据Api // @Accept json // @Produce json -// @Param Authorization header string true "JWT Token" // @Param id path int true "id" // @Success 200 {object} nil // @Failure 401 {object} dto.ErrorDto @@ -165,7 +155,7 @@ func deletePublishedGiById(c *gin.Context) { idStr := c.Param("id") id, err := strconv.Atoi(idStr) if err != nil { - panic("id参数解析错误") + panic(dto.ErrorDto{Code: dto.ArgumentParseError, Message: err.Error()}) } zap.S().Debug("id查询发布的图形数据", id) service.DeletePublishedGiById(id) diff --git a/docs/docs.go b/docs/docs.go index ff0ea2b..9ebb75d 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -413,13 +413,6 @@ const docTemplate = `{ ], "summary": "列表查询发布的图形数据", "parameters": [ - { - "type": "string", - "description": "JWT Token", - "name": "Authorization", - "in": "header", - "required": true - }, { "type": "string", "name": "name", @@ -440,6 +433,11 @@ const docTemplate = `{ "name": "size", "in": "query", "required": true + }, + { + "type": "string", + "name": "time", + "in": "query" } ], "responses": { @@ -486,13 +484,6 @@ const docTemplate = `{ ], "summary": "分页查询发布的图形数据", "parameters": [ - { - "type": "string", - "description": "JWT Token", - "name": "Authorization", - "in": "header", - "required": true - }, { "type": "string", "name": "name", @@ -513,6 +504,11 @@ const docTemplate = `{ "name": "size", "in": "query", "required": true + }, + { + "type": "string", + "name": "time", + "in": "query" } ], "responses": { @@ -555,17 +551,10 @@ const docTemplate = `{ ], "summary": "从草稿发布数据", "parameters": [ - { - "type": "string", - "description": "JWT Token", - "name": "Authorization", - "in": "header", - "required": true - }, { "type": "integer", "description": "草稿数据的id", - "name": "draftId", + "name": "draftingId", "in": "query" }, { @@ -613,13 +602,6 @@ const docTemplate = `{ ], "summary": "id查询发布的图形数据", "parameters": [ - { - "type": "string", - "description": "JWT Token", - "name": "Authorization", - "in": "header", - "required": true - }, { "type": "integer", "description": "id", @@ -667,13 +649,6 @@ const docTemplate = `{ ], "summary": "id删除发布的图形数据", "parameters": [ - { - "type": "string", - "description": "JWT Token", - "name": "Authorization", - "in": "header", - "required": true - }, { "type": "integer", "description": "id", @@ -805,56 +780,6 @@ const docTemplate = `{ } } }, - "/api/v1/simulation/destroy/{id}": { - "post": { - "security": [ - { - "JwtAuth": [] - } - ], - "description": "ATS测试仿真-添加列车", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "ATS测试仿真Api" - ], - "summary": "ATS仿真销毁", - "parameters": [ - { - "type": "string", - "description": "JWT Token", - "name": "Authorization", - "in": "header", - "required": true - }, - { - "type": "integer", - "description": "仿真id", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/dto.ErrorDto" - } - } - } - } - }, "/api/v1/simulation/list": { "get": { "security": [ @@ -1005,6 +930,56 @@ const docTemplate = `{ } } }, + "/api/v1/simulation/train/destroy/{id}": { + "get": { + "security": [ + { + "JwtAuth": [] + } + ], + "description": "ATS测试仿真-添加列车", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "ATS测试仿真Api" + ], + "summary": "ATS仿真销毁", + "parameters": [ + { + "type": "string", + "description": "JWT Token", + "name": "Authorization", + "in": "header", + "required": true + }, + { + "type": "integer", + "description": "仿真id", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/dto.ErrorDto" + } + } + } + } + }, "/api/v1/simulation/train/remove": { "post": { "security": [ @@ -1460,7 +1435,9 @@ const docTemplate = `{ "type": "object", "required": [ "simulationId", - "switchIndex" + "switchIndex", + "turnNormal", + "turnReverse" ], "properties": { "simulationId": { @@ -1564,7 +1541,7 @@ const docTemplate = `{ // SwaggerInfo holds exported Swagger Info so clients can modify it var SwaggerInfo = &swag.Spec{ Version: "1.0", - Host: "localhost:8080", + Host: "localhost:9091", BasePath: "/", Schemes: []string{}, Title: "CBTC测试系统API", diff --git a/docs/swagger.json b/docs/swagger.json index 104c068..b87c289 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -6,7 +6,7 @@ "contact": {}, "version": "1.0" }, - "host": "localhost:8080", + "host": "localhost:9091", "basePath": "/", "paths": { "/api/v1/drafting": { @@ -406,13 +406,6 @@ ], "summary": "列表查询发布的图形数据", "parameters": [ - { - "type": "string", - "description": "JWT Token", - "name": "Authorization", - "in": "header", - "required": true - }, { "type": "string", "name": "name", @@ -433,6 +426,11 @@ "name": "size", "in": "query", "required": true + }, + { + "type": "string", + "name": "time", + "in": "query" } ], "responses": { @@ -479,13 +477,6 @@ ], "summary": "分页查询发布的图形数据", "parameters": [ - { - "type": "string", - "description": "JWT Token", - "name": "Authorization", - "in": "header", - "required": true - }, { "type": "string", "name": "name", @@ -506,6 +497,11 @@ "name": "size", "in": "query", "required": true + }, + { + "type": "string", + "name": "time", + "in": "query" } ], "responses": { @@ -548,17 +544,10 @@ ], "summary": "从草稿发布数据", "parameters": [ - { - "type": "string", - "description": "JWT Token", - "name": "Authorization", - "in": "header", - "required": true - }, { "type": "integer", "description": "草稿数据的id", - "name": "draftId", + "name": "draftingId", "in": "query" }, { @@ -606,13 +595,6 @@ ], "summary": "id查询发布的图形数据", "parameters": [ - { - "type": "string", - "description": "JWT Token", - "name": "Authorization", - "in": "header", - "required": true - }, { "type": "integer", "description": "id", @@ -660,13 +642,6 @@ ], "summary": "id删除发布的图形数据", "parameters": [ - { - "type": "string", - "description": "JWT Token", - "name": "Authorization", - "in": "header", - "required": true - }, { "type": "integer", "description": "id", @@ -798,56 +773,6 @@ } } }, - "/api/v1/simulation/destroy/{id}": { - "post": { - "security": [ - { - "JwtAuth": [] - } - ], - "description": "ATS测试仿真-添加列车", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "ATS测试仿真Api" - ], - "summary": "ATS仿真销毁", - "parameters": [ - { - "type": "string", - "description": "JWT Token", - "name": "Authorization", - "in": "header", - "required": true - }, - { - "type": "integer", - "description": "仿真id", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/dto.ErrorDto" - } - } - } - } - }, "/api/v1/simulation/list": { "get": { "security": [ @@ -998,6 +923,56 @@ } } }, + "/api/v1/simulation/train/destroy/{id}": { + "get": { + "security": [ + { + "JwtAuth": [] + } + ], + "description": "ATS测试仿真-添加列车", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "ATS测试仿真Api" + ], + "summary": "ATS仿真销毁", + "parameters": [ + { + "type": "string", + "description": "JWT Token", + "name": "Authorization", + "in": "header", + "required": true + }, + { + "type": "integer", + "description": "仿真id", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/dto.ErrorDto" + } + } + } + } + }, "/api/v1/simulation/train/remove": { "post": { "security": [ @@ -1453,7 +1428,9 @@ "type": "object", "required": [ "simulationId", - "switchIndex" + "switchIndex", + "turnNormal", + "turnReverse" ], "properties": { "simulationId": { diff --git a/docs/swagger.yaml b/docs/swagger.yaml index e8e893f..caa4980 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -153,6 +153,8 @@ definitions: required: - simulationId - switchIndex + - turnNormal + - turnReverse type: object dto.TokenRespDto: properties: @@ -206,7 +208,7 @@ definitions: description: 发布用户id type: integer type: object -host: localhost:8080 +host: localhost:9091 info: contact: {} description: CBTC测试服务. @@ -460,11 +462,6 @@ paths: - application/json description: 可以通过名称过滤 parameters: - - description: JWT Token - in: header - name: Authorization - required: true - type: string - description: id in: path name: id @@ -493,11 +490,6 @@ paths: - application/json description: 可以通过名称过滤 parameters: - - description: JWT Token - in: header - name: Authorization - required: true - type: string - description: id in: path name: id @@ -529,11 +521,6 @@ paths: - application/json description: 可以通过名称过滤 parameters: - - description: JWT Token - in: header - name: Authorization - required: true - type: string - in: query name: name type: string @@ -549,6 +536,9 @@ paths: name: size required: true type: integer + - in: query + name: time + type: string produces: - application/json responses: @@ -577,11 +567,6 @@ paths: - application/json description: 可以通过名称过滤 parameters: - - description: JWT Token - in: header - name: Authorization - required: true - type: string - in: query name: name type: string @@ -597,6 +582,9 @@ paths: name: size required: true type: integer + - in: query + name: time + type: string produces: - application/json responses: @@ -622,14 +610,9 @@ paths: consumes: - application/json parameters: - - description: JWT Token - in: header - name: Authorization - required: true - type: string - description: 草稿数据的id in: query - name: draftId + name: draftingId type: integer - description: 发布后的名称 in: query @@ -719,38 +702,6 @@ paths: summary: 创建ATS测试仿真 tags: - ATS测试仿真Api - /api/v1/simulation/destroy/{id}: - post: - consumes: - - application/json - description: ATS测试仿真-添加列车 - parameters: - - description: JWT Token - in: header - name: Authorization - required: true - type: string - - description: 仿真id - in: path - name: id - required: true - type: integer - produces: - - application/json - responses: - "200": - description: OK - schema: - type: string - "500": - description: Internal Server Error - schema: - $ref: '#/definitions/dto.ErrorDto' - security: - - JwtAuth: [] - summary: ATS仿真销毁 - tags: - - ATS测试仿真Api /api/v1/simulation/list: get: consumes: @@ -846,6 +797,38 @@ paths: summary: ATS测试仿真-添加列车 tags: - ATS测试仿真Api + /api/v1/simulation/train/destroy/{id}: + get: + consumes: + - application/json + description: ATS测试仿真-添加列车 + parameters: + - description: JWT Token + in: header + name: Authorization + required: true + type: string + - description: 仿真id + in: path + name: id + required: true + type: integer + produces: + - application/json + responses: + "200": + description: OK + schema: + type: string + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/dto.ErrorDto' + security: + - JwtAuth: [] + summary: ATS仿真销毁 + tags: + - ATS测试仿真Api /api/v1/simulation/train/remove: post: consumes: diff --git a/dto/common.go b/dto/common.go index 372ddcd..fedac35 100644 --- a/dto/common.go +++ b/dto/common.go @@ -45,11 +45,10 @@ func (jt *JsonTime) MarshalJSON() ([]byte, error) { } func (jt *JsonTime) UnmarshalJSON(data []byte) error { - var str string - err := json.Unmarshal(data, &str) - if err != nil { - panic(ErrorDto{ArgumentParseError, fmt.Sprintf("时间参数解析出错:\n%s", err.Error())}) + if data[0] == '"' { + data = data[1 : len(data)-1] } + str := string(data) parse, err := time.Parse(time.DateTime, str) if err != nil { panic(ErrorDto{ArgumentParseError, fmt.Sprintf("时间参数格式化出错:\n%s", err.Error())}) @@ -58,6 +57,10 @@ func (jt *JsonTime) UnmarshalJSON(data []byte) error { return nil } +func (jt *JsonTime) String() string { + return time.Time(*jt).Format(time.DateTime) +} + // 数据库分页偏移 func (p *PageQueryDto) Offset() int { if p.Page > 0 { diff --git a/dto/publishedGi.go b/dto/publishedGi.go deleted file mode 100644 index 0157354..0000000 --- a/dto/publishedGi.go +++ /dev/null @@ -1,25 +0,0 @@ -package dto - -import "time" - -type PublishedGiReqDto struct { - PageQueryDto - Name string `json:"name" form:"name"` -} - -type PublishReqDto struct { - //发布后的名称 - Name string `json:"name" form:"name"` - //草稿数据的id - DraftId int32 `json:"draftId" form:"draftId"` - ////是否覆盖同名数据 - //Overwrite bool `json:"overwrite" form:"overwrite"` -} - -type PublishedGi struct { - ID int32 - Name string - Proto []byte - UserID int32 - PublishAt time.Time -} diff --git a/dto/publishedGi/publishedGi.go b/dto/publishedGi/publishedGi.go new file mode 100644 index 0000000..b016708 --- /dev/null +++ b/dto/publishedGi/publishedGi.go @@ -0,0 +1,50 @@ +package publishedGi + +import ( + "joylink.club/bj-rtsts-server/db/model" + "joylink.club/bj-rtsts-server/dto" +) + +type PublishedGiReqDto struct { + dto.PageQueryDto + Name string `json:"name" form:"name"` + + Time dto.JsonTime `json:"time" form:"time" time_format:"2006-01-02 15:04:05"` +} + +type PublishReqDto struct { + //发布后的名称 + Name string `json:"name" form:"name"` + //草稿数据的id + DraftId int32 `json:"draftingId" form:"draftingId"` + + //Time dto.JsonTime `json:"time" form:"time"` + ////是否覆盖同名数据 + //Overwrite bool `json:"overwrite" form:"overwrite"` +} + +type PublishedGiDto struct { + ID int32 `json:"id"` + Name string `json:"name"` + Proto []byte `json:"proto"` + UserID int32 `json:"userID"` + PublishAt dto.JsonTime `json:"publishAt" time_format:"2006-01-02 15:04:05"` +} + +func ConvertFrom(gi *model.PublishedGi) *PublishedGiDto { + return &PublishedGiDto{ + ID: gi.ID, + Name: gi.Name, + Proto: gi.Proto, + UserID: gi.UserID, + PublishAt: dto.JsonTime(gi.PublishAt), + } +} + +func ConvertFromSlice(giSlice []*model.PublishedGi) []*PublishedGiDto { + var result []*PublishedGiDto + for _, gi := range giSlice { + result = append(result, ConvertFrom(gi)) + } + return result +} diff --git a/dynamics/udp.go b/dynamics/udp.go index bb11e1f..6bb92b8 100644 --- a/dynamics/udp.go +++ b/dynamics/udp.go @@ -7,8 +7,27 @@ import ( "go.uber.org/zap" "joylink.club/bj-rtsts-server/config" "net" + "time" ) +var ( + // TurnoutInfoChan 用来存放要发送的道岔信息 + TurnoutInfoChan = make(chan *TurnoutInfo, 1000) +) + +func RunSendTurnoutInfoTask() { + go func() { + tick := time.Tick(10 * time.Millisecond) + for range tick { + info := <-TurnoutInfoChan + err := SendTurnoutInfo(info) + if err != nil { + zap.S().Error(err) + } + } + }() +} + // SendTurnoutInfo 发送道岔信息 func SendTurnoutInfo(info *TurnoutInfo) error { defer func() { @@ -21,6 +40,7 @@ func SendTurnoutInfo(info *TurnoutInfo) error { conn, err := net.DialUDP("udp", nil, remoteAddr) if err != nil { zap.S().Error("UDP通信失败", err) + return err } defer func(conn *net.UDPConn) { err := conn.Close() diff --git a/go.mod b/go.mod index d2b1e01..d045485 100644 --- a/go.mod +++ b/go.mod @@ -27,10 +27,14 @@ require ( github.com/go-openapi/swag v0.22.4 // indirect github.com/go-sql-driver/mysql v1.7.0 // indirect github.com/golang-jwt/jwt/v4 v4.4.3 // indirect + github.com/howeyc/fsnotify v0.9.0 // indirect github.com/jinzhu/inflection v1.0.0 // indirect github.com/jinzhu/now v1.1.5 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/mailru/easyjson v0.7.7 // indirect + github.com/mattn/go-colorable v0.1.12 // indirect + github.com/pilu/config v0.0.0-20131214182432-3eb99e6c0b9a // indirect + github.com/pilu/fresh v0.0.0-20190826141211-0fa698148017 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect go.opentelemetry.io/otel v1.10.0 // indirect go.opentelemetry.io/otel/trace v1.10.0 // indirect diff --git a/go.sum b/go.sum index 3413569..bfa9f23 100644 --- a/go.sum +++ b/go.sum @@ -41,6 +41,8 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/KyleBanks/depth v1.2.1 h1:5h8fQADFrWtarTdtDudMmGsC7GPbOAu6RVB3ffsVFHc= github.com/KyleBanks/depth v1.2.1/go.mod h1:jzSb9d0L43HxTQfT+oSA1EEp2q+ne2uh6XgeJcm8brE= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/appleboy/gin-jwt/v2 v2.9.1 h1:l29et8iLW6omcHltsOP6LLk4s3v4g2FbFs0koxGWVZs= github.com/appleboy/gin-jwt/v2 v2.9.1/go.mod h1:jwcPZJ92uoC9nOUTOKWoN/f6JZOgMSKlFSHw5/FrRUk= github.com/appleboy/gofight/v2 v2.1.2 h1:VOy3jow4vIK8BRQJoC/I9muxyYlJ2yb9ht2hZoS3rf4= @@ -194,6 +196,8 @@ github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/howeyc/fsnotify v0.9.0 h1:0gtV5JmOKH4A8SsFxG2BczSeXWWPvcMT0euZt5gDAxY= +github.com/howeyc/fsnotify v0.9.0/go.mod h1:41HzSPxBGeFRQKEEwgh49TRw/nKBsYZ2cF1OzPjSJsA= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/jackc/chunkreader/v2 v2.0.1 h1:i+RDz65UE+mmpjTfyz0MoVTnzeYxroil2G82ki7MGG8= @@ -239,6 +243,8 @@ github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= @@ -263,6 +269,10 @@ github.com/pelletier/go-toml/v2 v2.0.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZO github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= +github.com/pilu/config v0.0.0-20131214182432-3eb99e6c0b9a h1:Tg4E4cXPZSZyd3H1tJlYo6ZreXV0ZJvE/lorNqyw1AU= +github.com/pilu/config v0.0.0-20131214182432-3eb99e6c0b9a/go.mod h1:9Or9aIl95Kp43zONcHd5tLZGKXb9iLx0pZjau0uJ5zg= +github.com/pilu/fresh v0.0.0-20190826141211-0fa698148017 h1:XXDLZIIt9NqdeIEva0DM+z1npM0Tsx6h5TYqwNvXfP0= +github.com/pilu/fresh v0.0.0-20190826141211-0fa698148017/go.mod h1:2LLTtftTZSdAPR/iVyennXZDLZOYzyDn+T0qEKJ8eSw= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= @@ -502,6 +512,7 @@ golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= diff --git a/main.go b/main.go index 434fece..fde8a86 100644 --- a/main.go +++ b/main.go @@ -2,6 +2,7 @@ package main import ( "fmt" + "joylink.club/bj-rtsts-server/dynamics" swaggerFiles "github.com/swaggo/files" // swagger embed files ginSwagger "github.com/swaggo/gin-swagger" // gin-swagger middleware @@ -15,7 +16,7 @@ import ( // @version 1.0 // @description CBTC测试服务. -// @host localhost:8080 +// @host localhost:9091 // @BasePath / // @securityDefinitions.apikey JwtAuth @@ -35,6 +36,8 @@ func main() { docs.SwaggerInfo.Title = "CBTC测试系统API" engine.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) + dynamics.RunSendTurnoutInfoTask() + serverConfig := config.Config.Server if serverConfig.Port == 0 { serverConfig.Port = 8080 diff --git a/protobuf/device_state.pb.go b/protobuf/device_state.pb.go deleted file mode 100644 index f2256f4..0000000 --- a/protobuf/device_state.pb.go +++ /dev/null @@ -1,1194 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.31.0 -// protoc v4.23.1 -// source: device_state.proto - -package protobuf - -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 SectionType int32 - -const ( - SectionType_Any SectionType = 0 - // 计轴区段 - SectionType_Axle SectionType = 1 - // 逻辑区段 - SectionType_Logic SectionType = 2 - // 物理区段 - SectionType_Physic SectionType = 3 -) - -// Enum value maps for SectionType. -var ( - SectionType_name = map[int32]string{ - 0: "Any", - 1: "Axle", - 2: "Logic", - 3: "Physic", - } - SectionType_value = map[string]int32{ - "Any": 0, - "Axle": 1, - "Logic": 2, - "Physic": 3, - } -) - -func (x SectionType) Enum() *SectionType { - p := new(SectionType) - *p = x - return p -} - -func (x SectionType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (SectionType) Descriptor() protoreflect.EnumDescriptor { - return file_device_state_proto_enumTypes[0].Descriptor() -} - -func (SectionType) Type() protoreflect.EnumType { - return &file_device_state_proto_enumTypes[0] -} - -func (x SectionType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use SectionType.Descriptor instead. -func (SectionType) EnumDescriptor() ([]byte, []int) { - return file_device_state_proto_rawDescGZIP(), []int{0} -} - -// 相邻端点定义的link的状态 -type LinkState struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // link索引 - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - // link上的列车id列表 - TrainId []string `protobuf:"bytes,2,rep,name=trainId,proto3" json:"trainId,omitempty"` -} - -func (x *LinkState) Reset() { - *x = LinkState{} - if protoimpl.UnsafeEnabled { - mi := &file_device_state_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LinkState) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LinkState) ProtoMessage() {} - -func (x *LinkState) ProtoReflect() protoreflect.Message { - mi := &file_device_state_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 LinkState.ProtoReflect.Descriptor instead. -func (*LinkState) Descriptor() ([]byte, []int) { - return file_device_state_proto_rawDescGZIP(), []int{0} -} - -func (x *LinkState) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *LinkState) GetTrainId() []string { - if x != nil { - return x.TrainId - } - return nil -} - -// 区段状态 -type SectionState struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // 区段索引 - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - // 区段类型 - Type SectionType `protobuf:"varint,2,opt,name=type,proto3,enum=state.SectionType" json:"type,omitempty"` - // 区段占用 - // true-占用;false-出清 - Occupied bool `protobuf:"varint,3,opt,name=occupied,proto3" json:"occupied,omitempty"` -} - -func (x *SectionState) Reset() { - *x = SectionState{} - if protoimpl.UnsafeEnabled { - mi := &file_device_state_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SectionState) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SectionState) ProtoMessage() {} - -func (x *SectionState) ProtoReflect() protoreflect.Message { - mi := &file_device_state_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 SectionState.ProtoReflect.Descriptor instead. -func (*SectionState) Descriptor() ([]byte, []int) { - return file_device_state_proto_rawDescGZIP(), []int{1} -} - -func (x *SectionState) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *SectionState) GetType() SectionType { - if x != nil { - return x.Type - } - return SectionType_Any -} - -func (x *SectionState) GetOccupied() bool { - if x != nil { - return x.Occupied - } - return false -} - -// 道岔状态 -type SwitchState struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // 道岔索引 - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - // 道岔处于定位 - Normal bool `protobuf:"varint,2,opt,name=normal,proto3" json:"normal,omitempty"` - // 道岔处于反位 - Reverse bool `protobuf:"varint,3,opt,name=reverse,proto3" json:"reverse,omitempty"` -} - -func (x *SwitchState) Reset() { - *x = SwitchState{} - if protoimpl.UnsafeEnabled { - mi := &file_device_state_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SwitchState) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SwitchState) ProtoMessage() {} - -func (x *SwitchState) ProtoReflect() protoreflect.Message { - mi := &file_device_state_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 SwitchState.ProtoReflect.Descriptor instead. -func (*SwitchState) Descriptor() ([]byte, []int) { - return file_device_state_proto_rawDescGZIP(), []int{2} -} - -func (x *SwitchState) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *SwitchState) GetNormal() bool { - if x != nil { - return x.Normal - } - return false -} - -func (x *SwitchState) GetReverse() bool { - if x != nil { - return x.Reverse - } - return false -} - -// 信号机状态 -type SignalState struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // 信号机索引 - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` -} - -func (x *SignalState) Reset() { - *x = SignalState{} - if protoimpl.UnsafeEnabled { - mi := &file_device_state_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SignalState) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SignalState) ProtoMessage() {} - -func (x *SignalState) ProtoReflect() protoreflect.Message { - mi := &file_device_state_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 SignalState.ProtoReflect.Descriptor instead. -func (*SignalState) Descriptor() ([]byte, []int) { - return file_device_state_proto_rawDescGZIP(), []int{3} -} - -func (x *SignalState) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -// 站台状态 -type PlatformState struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // 站台索引 - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` -} - -func (x *PlatformState) Reset() { - *x = PlatformState{} - if protoimpl.UnsafeEnabled { - mi := &file_device_state_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PlatformState) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PlatformState) ProtoMessage() {} - -func (x *PlatformState) ProtoReflect() protoreflect.Message { - mi := &file_device_state_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 PlatformState.ProtoReflect.Descriptor instead. -func (*PlatformState) Descriptor() ([]byte, []int) { - return file_device_state_proto_rawDescGZIP(), []int{4} -} - -func (x *PlatformState) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -// 车站状态 -type StationState struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // 车站索引 - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` -} - -func (x *StationState) Reset() { - *x = StationState{} - if protoimpl.UnsafeEnabled { - mi := &file_device_state_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StationState) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StationState) ProtoMessage() {} - -func (x *StationState) ProtoReflect() protoreflect.Message { - mi := &file_device_state_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 StationState.ProtoReflect.Descriptor instead. -func (*StationState) Descriptor() ([]byte, []int) { - return file_device_state_proto_rawDescGZIP(), []int{5} -} - -func (x *StationState) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -// 列车状态 -type TrainState struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // 列车索引 - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - // 列车初始运行方向,即添加列车时 - // true - 上行方向运行 - // false - 下行方向运行 - Up bool `protobuf:"varint,2,opt,name=up,proto3" json:"up,omitempty"` - // 车头所在link的索引 - HeadLinkId string `protobuf:"bytes,3,opt,name=headLinkId,proto3" json:"headLinkId,omitempty"` - // 车头所在link内的偏移量,单位为mm - HeadLinkOffset int64 `protobuf:"varint,4,opt,name=headLinkOffset,proto3" json:"headLinkOffset,omitempty"` - // 车尾所在link的索引 - TailLinkId string `protobuf:"bytes,5,opt,name=tailLinkId,proto3" json:"tailLinkId,omitempty"` - // 车尾所在link内的偏移量,单位为mm - TailLinkOffset int64 `protobuf:"varint,6,opt,name=tailLinkOffset,proto3" json:"tailLinkOffset,omitempty"` - // 列车所占用的link的索引的列表 - // 顺序为从车头到车尾 - OccupiedLinkIndex []string `protobuf:"bytes,7,rep,name=occupiedLinkIndex,proto3" json:"occupiedLinkIndex,omitempty"` - // 生命信号 - Heartbeat int32 `protobuf:"varint,8,opt,name=heartbeat,proto3" json:"heartbeat,omitempty"` - // 列车所在位置坡度值,1=1‰ - Slope int32 `protobuf:"varint,9,opt,name=slope,proto3" json:"slope,omitempty"` - // 列车所在位置坡度走势,1=上坡true,0=下坡false - Upslope bool `protobuf:"varint,10,opt,name=upslope,proto3" json:"upslope,omitempty"` - // 列车当前运行方向,1 =上行true 0 =下行false - RunningUp bool `protobuf:"varint,11,opt,name=runningUp,proto3" json:"runningUp,omitempty"` - // 实际运行阻力(总),1=1KN - RunningResistanceSum int32 `protobuf:"varint,12,opt,name=runningResistanceSum,proto3" json:"runningResistanceSum,omitempty"` - // 阻力1(空气阻力),1=1KN - AirResistance int32 `protobuf:"varint,13,opt,name=airResistance,proto3" json:"airResistance,omitempty"` - // 阻力2(坡道阻力),1=1KN - RampResistance int32 `protobuf:"varint,14,opt,name=rampResistance,proto3" json:"rampResistance,omitempty"` - // 阻力3(曲线阻力),1=1KN - CurveResistance int32 `protobuf:"varint,15,opt,name=curveResistance,proto3" json:"curveResistance,omitempty"` - // 列车运行速度,1=1km/h - Speed int32 `protobuf:"varint,16,opt,name=speed,proto3" json:"speed,omitempty"` - // 头车速传1速度值,1=1km/h - HeadSensorSpeed1 int32 `protobuf:"varint,17,opt,name=headSensorSpeed1,proto3" json:"headSensorSpeed1,omitempty"` - // 头车速传2速度值,1=1km/h - HeadSensorSpeed2 int32 `protobuf:"varint,18,opt,name=headSensorSpeed2,proto3" json:"headSensorSpeed2,omitempty"` - // 尾车速传1速度值,1=1km/h - TailSensorSpeed1 int32 `protobuf:"varint,19,opt,name=tailSensorSpeed1,proto3" json:"tailSensorSpeed1,omitempty"` - // 尾车速度2速度值,1=1km/h - TailSensorSpeed2 int32 `protobuf:"varint,20,opt,name=tailSensorSpeed2,proto3" json:"tailSensorSpeed2,omitempty"` - // 头车雷达速度值,1=1km/h - HeadRadarSpeed int32 `protobuf:"varint,21,opt,name=headRadarSpeed,proto3" json:"headRadarSpeed,omitempty"` - // 尾车雷达速度值,1=1km/h - TailRadarSpeed int32 `protobuf:"varint,22,opt,name=tailRadarSpeed,proto3" json:"tailRadarSpeed,omitempty"` - // 列车长度,1=1mm - TrainLength int64 `protobuf:"varint,23,opt,name=trainLength,proto3" json:"trainLength,omitempty"` -} - -func (x *TrainState) Reset() { - *x = TrainState{} - if protoimpl.UnsafeEnabled { - mi := &file_device_state_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TrainState) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TrainState) ProtoMessage() {} - -func (x *TrainState) ProtoReflect() protoreflect.Message { - mi := &file_device_state_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 TrainState.ProtoReflect.Descriptor instead. -func (*TrainState) Descriptor() ([]byte, []int) { - return file_device_state_proto_rawDescGZIP(), []int{6} -} - -func (x *TrainState) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *TrainState) GetUp() bool { - if x != nil { - return x.Up - } - return false -} - -func (x *TrainState) GetHeadLinkId() string { - if x != nil { - return x.HeadLinkId - } - return "" -} - -func (x *TrainState) GetHeadLinkOffset() int64 { - if x != nil { - return x.HeadLinkOffset - } - return 0 -} - -func (x *TrainState) GetTailLinkId() string { - if x != nil { - return x.TailLinkId - } - return "" -} - -func (x *TrainState) GetTailLinkOffset() int64 { - if x != nil { - return x.TailLinkOffset - } - return 0 -} - -func (x *TrainState) GetOccupiedLinkIndex() []string { - if x != nil { - return x.OccupiedLinkIndex - } - return nil -} - -func (x *TrainState) GetHeartbeat() int32 { - if x != nil { - return x.Heartbeat - } - return 0 -} - -func (x *TrainState) GetSlope() int32 { - if x != nil { - return x.Slope - } - return 0 -} - -func (x *TrainState) GetUpslope() bool { - if x != nil { - return x.Upslope - } - return false -} - -func (x *TrainState) GetRunningUp() bool { - if x != nil { - return x.RunningUp - } - return false -} - -func (x *TrainState) GetRunningResistanceSum() int32 { - if x != nil { - return x.RunningResistanceSum - } - return 0 -} - -func (x *TrainState) GetAirResistance() int32 { - if x != nil { - return x.AirResistance - } - return 0 -} - -func (x *TrainState) GetRampResistance() int32 { - if x != nil { - return x.RampResistance - } - return 0 -} - -func (x *TrainState) GetCurveResistance() int32 { - if x != nil { - return x.CurveResistance - } - return 0 -} - -func (x *TrainState) GetSpeed() int32 { - if x != nil { - return x.Speed - } - return 0 -} - -func (x *TrainState) GetHeadSensorSpeed1() int32 { - if x != nil { - return x.HeadSensorSpeed1 - } - return 0 -} - -func (x *TrainState) GetHeadSensorSpeed2() int32 { - if x != nil { - return x.HeadSensorSpeed2 - } - return 0 -} - -func (x *TrainState) GetTailSensorSpeed1() int32 { - if x != nil { - return x.TailSensorSpeed1 - } - return 0 -} - -func (x *TrainState) GetTailSensorSpeed2() int32 { - if x != nil { - return x.TailSensorSpeed2 - } - return 0 -} - -func (x *TrainState) GetHeadRadarSpeed() int32 { - if x != nil { - return x.HeadRadarSpeed - } - return 0 -} - -func (x *TrainState) GetTailRadarSpeed() int32 { - if x != nil { - return x.TailRadarSpeed - } - return 0 -} - -func (x *TrainState) GetTrainLength() int64 { - if x != nil { - return x.TrainLength - } - return 0 -} - -// 仿真运行时状态变化量,当前时刻与上一时刻比较得到 -type VariationStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // 新增或变化的列车的状态 - UpdatedTrain []*TrainState `protobuf:"bytes,1,rep,name=updatedTrain,proto3" json:"updatedTrain,omitempty"` - // 移除的列车的索引 - RemovedTrainId []string `protobuf:"bytes,2,rep,name=removedTrainId,proto3" json:"removedTrainId,omitempty"` - // 状态发生变化的道岔 - UpdatedSwitch []*SwitchState `protobuf:"bytes,3,rep,name=updatedSwitch,proto3" json:"updatedSwitch,omitempty"` - // 状态发生变化的区段 - UpdatedSection []*SectionState `protobuf:"bytes,4,rep,name=updatedSection,proto3" json:"updatedSection,omitempty"` -} - -func (x *VariationStatus) Reset() { - *x = VariationStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_device_state_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *VariationStatus) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VariationStatus) ProtoMessage() {} - -func (x *VariationStatus) ProtoReflect() protoreflect.Message { - mi := &file_device_state_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 VariationStatus.ProtoReflect.Descriptor instead. -func (*VariationStatus) Descriptor() ([]byte, []int) { - return file_device_state_proto_rawDescGZIP(), []int{7} -} - -func (x *VariationStatus) GetUpdatedTrain() []*TrainState { - if x != nil { - return x.UpdatedTrain - } - return nil -} - -func (x *VariationStatus) GetRemovedTrainId() []string { - if x != nil { - return x.RemovedTrainId - } - return nil -} - -func (x *VariationStatus) GetUpdatedSwitch() []*SwitchState { - if x != nil { - return x.UpdatedSwitch - } - return nil -} - -func (x *VariationStatus) GetUpdatedSection() []*SectionState { - if x != nil { - return x.UpdatedSection - } - return nil -} - -// 仿真运行时的所有设备的状态 -type AllDevicesStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // 所有列车状态 - TrainState []*TrainState `protobuf:"bytes,1,rep,name=trainState,proto3" json:"trainState,omitempty"` - // 所有道岔状态 - SwitchState []*SwitchState `protobuf:"bytes,2,rep,name=switchState,proto3" json:"switchState,omitempty"` - // 所有类型区段状态 - SectionState []*SectionState `protobuf:"bytes,3,rep,name=sectionState,proto3" json:"sectionState,omitempty"` -} - -func (x *AllDevicesStatus) Reset() { - *x = AllDevicesStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_device_state_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AllDevicesStatus) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AllDevicesStatus) ProtoMessage() {} - -func (x *AllDevicesStatus) ProtoReflect() protoreflect.Message { - mi := &file_device_state_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 AllDevicesStatus.ProtoReflect.Descriptor instead. -func (*AllDevicesStatus) Descriptor() ([]byte, []int) { - return file_device_state_proto_rawDescGZIP(), []int{8} -} - -func (x *AllDevicesStatus) GetTrainState() []*TrainState { - if x != nil { - return x.TrainState - } - return nil -} - -func (x *AllDevicesStatus) GetSwitchState() []*SwitchState { - if x != nil { - return x.SwitchState - } - return nil -} - -func (x *AllDevicesStatus) GetSectionState() []*SectionState { - if x != nil { - return x.SectionState - } - return nil -} - -// 服务器端向前端推送的设备状态信息 -type PushedDevicesStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // true-全量设备状态信息,此时allStatus有效; - // false - 增量设备状态消息,此时varStatus有效 - All bool `protobuf:"varint,1,opt,name=all,proto3" json:"all,omitempty"` - // 增量设备状态消息 - VarStatus *VariationStatus `protobuf:"bytes,2,opt,name=varStatus,proto3" json:"varStatus,omitempty"` - // 全量设备状态信息 - AllStatus *AllDevicesStatus `protobuf:"bytes,3,opt,name=allStatus,proto3" json:"allStatus,omitempty"` -} - -func (x *PushedDevicesStatus) Reset() { - *x = PushedDevicesStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_device_state_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PushedDevicesStatus) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PushedDevicesStatus) ProtoMessage() {} - -func (x *PushedDevicesStatus) ProtoReflect() protoreflect.Message { - mi := &file_device_state_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 PushedDevicesStatus.ProtoReflect.Descriptor instead. -func (*PushedDevicesStatus) Descriptor() ([]byte, []int) { - return file_device_state_proto_rawDescGZIP(), []int{9} -} - -func (x *PushedDevicesStatus) GetAll() bool { - if x != nil { - return x.All - } - return false -} - -func (x *PushedDevicesStatus) GetVarStatus() *VariationStatus { - if x != nil { - return x.VarStatus - } - return nil -} - -func (x *PushedDevicesStatus) GetAllStatus() *AllDevicesStatus { - if x != nil { - return x.AllStatus - } - return nil -} - -var File_device_state_proto protoreflect.FileDescriptor - -var file_device_state_proto_rawDesc = []byte{ - 0x0a, 0x12, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x35, 0x0a, 0x09, 0x4c, - 0x69, 0x6e, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x69, - 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x69, 0x6e, - 0x49, 0x64, 0x22, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x12, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x63, - 0x63, 0x75, 0x70, 0x69, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x63, - 0x63, 0x75, 0x70, 0x69, 0x65, 0x64, 0x22, 0x4f, 0x0a, 0x0b, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x12, 0x18, 0x0a, - 0x07, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x22, 0x1d, 0x0a, 0x0b, 0x53, 0x69, 0x67, 0x6e, 0x61, - 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x1f, 0x0a, 0x0d, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x1e, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xba, 0x06, 0x0a, 0x0a, 0x54, 0x72, 0x61, 0x69, - 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x02, 0x75, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x4c, 0x69, - 0x6e, 0x6b, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, - 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x64, 0x4c, 0x69, - 0x6e, 0x6b, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, - 0x68, 0x65, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1e, - 0x0a, 0x0a, 0x74, 0x61, 0x69, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x69, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x26, - 0x0a, 0x0e, 0x74, 0x61, 0x69, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x74, 0x61, 0x69, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, - 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x6f, 0x63, 0x63, 0x75, 0x70, 0x69, - 0x65, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x07, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x11, 0x6f, 0x63, 0x63, 0x75, 0x70, 0x69, 0x65, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, - 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, - 0x61, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x6c, 0x6f, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x73, 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x70, 0x73, 0x6c, - 0x6f, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x75, 0x70, 0x73, 0x6c, 0x6f, - 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x55, 0x70, - 0x12, 0x32, 0x0a, 0x14, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x69, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, - 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x53, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x69, 0x72, 0x52, 0x65, 0x73, 0x69, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x61, 0x69, 0x72, - 0x52, 0x65, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x61, - 0x6d, 0x70, 0x52, 0x65, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0e, 0x72, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x76, 0x65, 0x52, 0x65, 0x73, 0x69, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, 0x75, 0x72, - 0x76, 0x65, 0x52, 0x65, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x70, 0x65, - 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x68, 0x65, 0x61, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, - 0x53, 0x70, 0x65, 0x65, 0x64, 0x31, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x68, 0x65, - 0x61, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x53, 0x70, 0x65, 0x65, 0x64, 0x31, 0x12, 0x2a, - 0x0a, 0x10, 0x68, 0x65, 0x61, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x53, 0x70, 0x65, 0x65, - 0x64, 0x32, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x68, 0x65, 0x61, 0x64, 0x53, 0x65, - 0x6e, 0x73, 0x6f, 0x72, 0x53, 0x70, 0x65, 0x65, 0x64, 0x32, 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x61, - 0x69, 0x6c, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x53, 0x70, 0x65, 0x65, 0x64, 0x31, 0x18, 0x13, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x74, 0x61, 0x69, 0x6c, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, - 0x53, 0x70, 0x65, 0x65, 0x64, 0x31, 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x61, 0x69, 0x6c, 0x53, 0x65, - 0x6e, 0x73, 0x6f, 0x72, 0x53, 0x70, 0x65, 0x65, 0x64, 0x32, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x10, 0x74, 0x61, 0x69, 0x6c, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x53, 0x70, 0x65, 0x65, - 0x64, 0x32, 0x12, 0x26, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x64, 0x52, 0x61, 0x64, 0x61, 0x72, 0x53, - 0x70, 0x65, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x68, 0x65, 0x61, 0x64, - 0x52, 0x61, 0x64, 0x61, 0x72, 0x53, 0x70, 0x65, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x61, - 0x69, 0x6c, 0x52, 0x61, 0x64, 0x61, 0x72, 0x53, 0x70, 0x65, 0x65, 0x64, 0x18, 0x16, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x61, 0x64, 0x61, 0x72, 0x53, 0x70, 0x65, - 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x18, 0x17, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x4c, 0x65, - 0x6e, 0x67, 0x74, 0x68, 0x22, 0xe7, 0x01, 0x0a, 0x0f, 0x56, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x35, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, - 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x12, - 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x49, - 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, - 0x54, 0x72, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x52, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x53, 0x77, 0x69, 0x74, 0x63, - 0x68, 0x12, 0x3b, 0x0a, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x53, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x2e, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0e, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb4, - 0x01, 0x0a, 0x10, 0x41, 0x6c, 0x6c, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, - 0x54, 0x72, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x69, - 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x0b, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x2e, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, - 0x0b, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x0c, - 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x94, 0x01, 0x0a, 0x13, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, - 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, - 0x03, 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x12, - 0x34, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x76, 0x61, 0x72, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x35, 0x0a, 0x09, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x2e, 0x41, 0x6c, 0x6c, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2a, 0x37, 0x0a, 0x0b, - 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x41, - 0x6e, 0x79, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x78, 0x6c, 0x65, 0x10, 0x01, 0x12, 0x09, - 0x0a, 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x68, 0x79, - 0x73, 0x69, 0x63, 0x10, 0x03, 0x42, 0x45, 0x0a, 0x25, 0x63, 0x6c, 0x75, 0x62, 0x2e, 0x6a, 0x6f, - 0x79, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x62, 0x6a, 0x72, 0x74, 0x73, 0x73, 0x2e, 0x61, 0x74, 0x73, - 0x2e, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x42, 0x10, - 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x5a, 0x0a, 0x2e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_device_state_proto_rawDescOnce sync.Once - file_device_state_proto_rawDescData = file_device_state_proto_rawDesc -) - -func file_device_state_proto_rawDescGZIP() []byte { - file_device_state_proto_rawDescOnce.Do(func() { - file_device_state_proto_rawDescData = protoimpl.X.CompressGZIP(file_device_state_proto_rawDescData) - }) - return file_device_state_proto_rawDescData -} - -var file_device_state_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_device_state_proto_msgTypes = make([]protoimpl.MessageInfo, 10) -var file_device_state_proto_goTypes = []interface{}{ - (SectionType)(0), // 0: state.SectionType - (*LinkState)(nil), // 1: state.LinkState - (*SectionState)(nil), // 2: state.SectionState - (*SwitchState)(nil), // 3: state.SwitchState - (*SignalState)(nil), // 4: state.SignalState - (*PlatformState)(nil), // 5: state.PlatformState - (*StationState)(nil), // 6: state.StationState - (*TrainState)(nil), // 7: state.TrainState - (*VariationStatus)(nil), // 8: state.VariationStatus - (*AllDevicesStatus)(nil), // 9: state.AllDevicesStatus - (*PushedDevicesStatus)(nil), // 10: state.PushedDevicesStatus -} -var file_device_state_proto_depIdxs = []int32{ - 0, // 0: state.SectionState.type:type_name -> state.SectionType - 7, // 1: state.VariationStatus.updatedTrain:type_name -> state.TrainState - 3, // 2: state.VariationStatus.updatedSwitch:type_name -> state.SwitchState - 2, // 3: state.VariationStatus.updatedSection:type_name -> state.SectionState - 7, // 4: state.AllDevicesStatus.trainState:type_name -> state.TrainState - 3, // 5: state.AllDevicesStatus.switchState:type_name -> state.SwitchState - 2, // 6: state.AllDevicesStatus.sectionState:type_name -> state.SectionState - 8, // 7: state.PushedDevicesStatus.varStatus:type_name -> state.VariationStatus - 9, // 8: state.PushedDevicesStatus.allStatus:type_name -> state.AllDevicesStatus - 9, // [9:9] is the sub-list for method output_type - 9, // [9:9] is the sub-list for method input_type - 9, // [9:9] is the sub-list for extension type_name - 9, // [9:9] is the sub-list for extension extendee - 0, // [0:9] is the sub-list for field type_name -} - -func init() { file_device_state_proto_init() } -func file_device_state_proto_init() { - if File_device_state_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_device_state_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinkState); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_device_state_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SectionState); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_device_state_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SwitchState); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_device_state_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SignalState); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_device_state_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PlatformState); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_device_state_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StationState); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_device_state_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TrainState); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_device_state_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VariationStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_device_state_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AllDevicesStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_device_state_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PushedDevicesStatus); 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_device_state_proto_rawDesc, - NumEnums: 1, - NumMessages: 10, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_device_state_proto_goTypes, - DependencyIndexes: file_device_state_proto_depIdxs, - EnumInfos: file_device_state_proto_enumTypes, - MessageInfos: file_device_state_proto_msgTypes, - }.Build() - File_device_state_proto = out.File - file_device_state_proto_rawDesc = nil - file_device_state_proto_goTypes = nil - file_device_state_proto_depIdxs = nil -} diff --git a/protobuf/stationLayoutGraphics.pb.go b/protobuf/stationLayoutGraphics.pb.go deleted file mode 100644 index ab9cf82..0000000 --- a/protobuf/stationLayoutGraphics.pb.go +++ /dev/null @@ -1,3187 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.31.0 -// protoc v4.23.1 -// source: stationLayoutGraphics.proto - -package protobuf - -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 Section_SectionType int32 - -const ( - Section_Physical Section_SectionType = 0 - Section_TurnoutPhysical Section_SectionType = 2 -) - -// Enum value maps for Section_SectionType. -var ( - Section_SectionType_name = map[int32]string{ - 0: "Physical", - 2: "TurnoutPhysical", - } - Section_SectionType_value = map[string]int32{ - "Physical": 0, - "TurnoutPhysical": 2, - } -) - -func (x Section_SectionType) Enum() *Section_SectionType { - p := new(Section_SectionType) - *p = x - return p -} - -func (x Section_SectionType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (Section_SectionType) Descriptor() protoreflect.EnumDescriptor { - return file_stationLayoutGraphics_proto_enumTypes[0].Descriptor() -} - -func (Section_SectionType) Type() protoreflect.EnumType { - return &file_stationLayoutGraphics_proto_enumTypes[0] -} - -func (x Section_SectionType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use Section_SectionType.Descriptor instead. -func (Section_SectionType) EnumDescriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{13, 0} -} - -type RelatedRef_DeviceType int32 - -const ( - RelatedRef_Section RelatedRef_DeviceType = 0 - RelatedRef_Turnout RelatedRef_DeviceType = 1 - RelatedRef_TrainWindow RelatedRef_DeviceType = 2 - RelatedRef_AxleCounting RelatedRef_DeviceType = 3 - RelatedRef_SectionLink RelatedRef_DeviceType = 4 -) - -// Enum value maps for RelatedRef_DeviceType. -var ( - RelatedRef_DeviceType_name = map[int32]string{ - 0: "Section", - 1: "Turnout", - 2: "TrainWindow", - 3: "AxleCounting", - 4: "SectionLink", - } - RelatedRef_DeviceType_value = map[string]int32{ - "Section": 0, - "Turnout": 1, - "TrainWindow": 2, - "AxleCounting": 3, - "SectionLink": 4, - } -) - -func (x RelatedRef_DeviceType) Enum() *RelatedRef_DeviceType { - p := new(RelatedRef_DeviceType) - *p = x - return p -} - -func (x RelatedRef_DeviceType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (RelatedRef_DeviceType) Descriptor() protoreflect.EnumDescriptor { - return file_stationLayoutGraphics_proto_enumTypes[1].Descriptor() -} - -func (RelatedRef_DeviceType) Type() protoreflect.EnumType { - return &file_stationLayoutGraphics_proto_enumTypes[1] -} - -func (x RelatedRef_DeviceType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use RelatedRef_DeviceType.Descriptor instead. -func (RelatedRef_DeviceType) EnumDescriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{14, 0} -} - -type RelatedRef_DevicePort int32 - -const ( - RelatedRef_A RelatedRef_DevicePort = 0 - RelatedRef_B RelatedRef_DevicePort = 1 - RelatedRef_C RelatedRef_DevicePort = 2 -) - -// Enum value maps for RelatedRef_DevicePort. -var ( - RelatedRef_DevicePort_name = map[int32]string{ - 0: "A", - 1: "B", - 2: "C", - } - RelatedRef_DevicePort_value = map[string]int32{ - "A": 0, - "B": 1, - "C": 2, - } -) - -func (x RelatedRef_DevicePort) Enum() *RelatedRef_DevicePort { - p := new(RelatedRef_DevicePort) - *p = x - return p -} - -func (x RelatedRef_DevicePort) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (RelatedRef_DevicePort) Descriptor() protoreflect.EnumDescriptor { - return file_stationLayoutGraphics_proto_enumTypes[2].Descriptor() -} - -func (RelatedRef_DevicePort) Type() protoreflect.EnumType { - return &file_stationLayoutGraphics_proto_enumTypes[2] -} - -func (x RelatedRef_DevicePort) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use RelatedRef_DevicePort.Descriptor instead. -func (RelatedRef_DevicePort) EnumDescriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{14, 1} -} - -type SimpleRef_DeviceType int32 - -const ( - SimpleRef_Turnout SimpleRef_DeviceType = 0 - SimpleRef_AxleCounting SimpleRef_DeviceType = 1 -) - -// Enum value maps for SimpleRef_DeviceType. -var ( - SimpleRef_DeviceType_name = map[int32]string{ - 0: "Turnout", - 1: "AxleCounting", - } - SimpleRef_DeviceType_value = map[string]int32{ - "Turnout": 0, - "AxleCounting": 1, - } -) - -func (x SimpleRef_DeviceType) Enum() *SimpleRef_DeviceType { - p := new(SimpleRef_DeviceType) - *p = x - return p -} - -func (x SimpleRef_DeviceType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (SimpleRef_DeviceType) Descriptor() protoreflect.EnumDescriptor { - return file_stationLayoutGraphics_proto_enumTypes[3].Descriptor() -} - -func (SimpleRef_DeviceType) Type() protoreflect.EnumType { - return &file_stationLayoutGraphics_proto_enumTypes[3] -} - -func (x SimpleRef_DeviceType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use SimpleRef_DeviceType.Descriptor instead. -func (SimpleRef_DeviceType) EnumDescriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{18, 0} -} - -type StopPosition_CoachNum int32 - -const ( - StopPosition_Four StopPosition_CoachNum = 0 - StopPosition_Six StopPosition_CoachNum = 1 -) - -// Enum value maps for StopPosition_CoachNum. -var ( - StopPosition_CoachNum_name = map[int32]string{ - 0: "Four", - 1: "Six", - } - StopPosition_CoachNum_value = map[string]int32{ - "Four": 0, - "Six": 1, - } -) - -func (x StopPosition_CoachNum) Enum() *StopPosition_CoachNum { - p := new(StopPosition_CoachNum) - *p = x - return p -} - -func (x StopPosition_CoachNum) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (StopPosition_CoachNum) Descriptor() protoreflect.EnumDescriptor { - return file_stationLayoutGraphics_proto_enumTypes[4].Descriptor() -} - -func (StopPosition_CoachNum) Type() protoreflect.EnumType { - return &file_stationLayoutGraphics_proto_enumTypes[4] -} - -func (x StopPosition_CoachNum) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use StopPosition_CoachNum.Descriptor instead. -func (StopPosition_CoachNum) EnumDescriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{22, 0} -} - -type RtssGraphicStorage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Canvas *Canvas `protobuf:"bytes,1,opt,name=canvas,proto3" json:"canvas,omitempty"` - // repeated Link links = 2; - // repeated IscsFan iscsFans = 3; - Platforms []*Platform `protobuf:"bytes,4,rep,name=Platforms,proto3" json:"Platforms,omitempty"` - Stations []*Station `protobuf:"bytes,5,rep,name=stations,proto3" json:"stations,omitempty"` - // repeated Rect rects = 6; - // repeated Train train = 7; - Signals []*Signal `protobuf:"bytes,8,rep,name=signals,proto3" json:"signals,omitempty"` - Turnouts []*Turnout `protobuf:"bytes,9,rep,name=turnouts,proto3" json:"turnouts,omitempty"` - Section []*Section `protobuf:"bytes,10,rep,name=section,proto3" json:"section,omitempty"` - // repeated Polygon polygons = 11; - TrainWindows []*TrainWindow `protobuf:"bytes,12,rep,name=trainWindows,proto3" json:"trainWindows,omitempty"` - AxleCountings []*AxleCounting `protobuf:"bytes,13,rep,name=axleCountings,proto3" json:"axleCountings,omitempty"` - Separators []*Separator `protobuf:"bytes,14,rep,name=separators,proto3" json:"separators,omitempty"` - SectionLinks []*SectionLink `protobuf:"bytes,15,rep,name=sectionLinks,proto3" json:"sectionLinks,omitempty"` - AxleCountingSections []*AxleCountingSection `protobuf:"bytes,16,rep,name=axleCountingSections,proto3" json:"axleCountingSections,omitempty"` - LogicSections []*LogicSection `protobuf:"bytes,17,rep,name=logicSections,proto3" json:"logicSections,omitempty"` - StopPositions []*StopPosition `protobuf:"bytes,18,rep,name=stopPositions,proto3" json:"stopPositions,omitempty"` - SpksSwitchs []*SpksSwitch `protobuf:"bytes,19,rep,name=spksSwitchs,proto3" json:"spksSwitchs,omitempty"` - EsbButtons []*EsbButton `protobuf:"bytes,20,rep,name=esbButtons,proto3" json:"esbButtons,omitempty"` // 紧急关闭按钮 - GateBoxs []*GatedBox `protobuf:"bytes,21,rep,name=gateBoxs,proto3" json:"gateBoxs,omitempty"` // 站台开门/关门/发车按钮整合控制箱 - Transponders []*Transponder `protobuf:"bytes,22,rep,name=transponders,proto3" json:"transponders,omitempty"` // 应答器 -} - -func (x *RtssGraphicStorage) Reset() { - *x = RtssGraphicStorage{} - if protoimpl.UnsafeEnabled { - mi := &file_stationLayoutGraphics_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RtssGraphicStorage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RtssGraphicStorage) ProtoMessage() {} - -func (x *RtssGraphicStorage) ProtoReflect() protoreflect.Message { - mi := &file_stationLayoutGraphics_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 RtssGraphicStorage.ProtoReflect.Descriptor instead. -func (*RtssGraphicStorage) Descriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{0} -} - -func (x *RtssGraphicStorage) GetCanvas() *Canvas { - if x != nil { - return x.Canvas - } - return nil -} - -func (x *RtssGraphicStorage) GetPlatforms() []*Platform { - if x != nil { - return x.Platforms - } - return nil -} - -func (x *RtssGraphicStorage) GetStations() []*Station { - if x != nil { - return x.Stations - } - return nil -} - -func (x *RtssGraphicStorage) GetSignals() []*Signal { - if x != nil { - return x.Signals - } - return nil -} - -func (x *RtssGraphicStorage) GetTurnouts() []*Turnout { - if x != nil { - return x.Turnouts - } - return nil -} - -func (x *RtssGraphicStorage) GetSection() []*Section { - if x != nil { - return x.Section - } - return nil -} - -func (x *RtssGraphicStorage) GetTrainWindows() []*TrainWindow { - if x != nil { - return x.TrainWindows - } - return nil -} - -func (x *RtssGraphicStorage) GetAxleCountings() []*AxleCounting { - if x != nil { - return x.AxleCountings - } - return nil -} - -func (x *RtssGraphicStorage) GetSeparators() []*Separator { - if x != nil { - return x.Separators - } - return nil -} - -func (x *RtssGraphicStorage) GetSectionLinks() []*SectionLink { - if x != nil { - return x.SectionLinks - } - return nil -} - -func (x *RtssGraphicStorage) GetAxleCountingSections() []*AxleCountingSection { - if x != nil { - return x.AxleCountingSections - } - return nil -} - -func (x *RtssGraphicStorage) GetLogicSections() []*LogicSection { - if x != nil { - return x.LogicSections - } - return nil -} - -func (x *RtssGraphicStorage) GetStopPositions() []*StopPosition { - if x != nil { - return x.StopPositions - } - return nil -} - -func (x *RtssGraphicStorage) GetSpksSwitchs() []*SpksSwitch { - if x != nil { - return x.SpksSwitchs - } - return nil -} - -func (x *RtssGraphicStorage) GetEsbButtons() []*EsbButton { - if x != nil { - return x.EsbButtons - } - return nil -} - -func (x *RtssGraphicStorage) GetGateBoxs() []*GatedBox { - if x != nil { - return x.GateBoxs - } - return nil -} - -func (x *RtssGraphicStorage) GetTransponders() []*Transponder { - if x != nil { - return x.Transponders - } - return nil -} - -type Canvas struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // 画布宽 - Width int32 `protobuf:"varint,1,opt,name=width,proto3" json:"width,omitempty"` - // 画布高 - Height int32 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"` - // 背景色 - BackgroundColor string `protobuf:"bytes,3,opt,name=backgroundColor,proto3" json:"backgroundColor,omitempty"` - // 视口变换 - ViewportTransform *Transform `protobuf:"bytes,4,opt,name=viewportTransform,proto3" json:"viewportTransform,omitempty"` -} - -func (x *Canvas) Reset() { - *x = Canvas{} - if protoimpl.UnsafeEnabled { - mi := &file_stationLayoutGraphics_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Canvas) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Canvas) ProtoMessage() {} - -func (x *Canvas) ProtoReflect() protoreflect.Message { - mi := &file_stationLayoutGraphics_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 Canvas.ProtoReflect.Descriptor instead. -func (*Canvas) Descriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{1} -} - -func (x *Canvas) GetWidth() int32 { - if x != nil { - return x.Width - } - return 0 -} - -func (x *Canvas) GetHeight() int32 { - if x != nil { - return x.Height - } - return 0 -} - -func (x *Canvas) GetBackgroundColor() string { - if x != nil { - return x.BackgroundColor - } - return "" -} - -func (x *Canvas) GetViewportTransform() *Transform { - if x != nil { - return x.ViewportTransform - } - return nil -} - -type Point struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // x坐标 - X float32 `protobuf:"fixed32,1,opt,name=x,proto3" json:"x,omitempty"` - // y坐标 - Y float32 `protobuf:"fixed32,2,opt,name=y,proto3" json:"y,omitempty"` -} - -func (x *Point) Reset() { - *x = Point{} - if protoimpl.UnsafeEnabled { - mi := &file_stationLayoutGraphics_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Point) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Point) ProtoMessage() {} - -func (x *Point) ProtoReflect() protoreflect.Message { - mi := &file_stationLayoutGraphics_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 Point.ProtoReflect.Descriptor instead. -func (*Point) Descriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{2} -} - -func (x *Point) GetX() float32 { - if x != nil { - return x.X - } - return 0 -} - -func (x *Point) GetY() float32 { - if x != nil { - return x.Y - } - return 0 -} - -// 变换 -type Transform struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // 位移 - Position *Point `protobuf:"bytes,1,opt,name=position,proto3" json:"position,omitempty"` - // 缩放 - Scale *Point `protobuf:"bytes,2,opt,name=scale,proto3" json:"scale,omitempty"` - // 旋转弧度 - Rotation float32 `protobuf:"fixed32,3,opt,name=rotation,proto3" json:"rotation,omitempty"` - // 歪斜 - Skew *Point `protobuf:"bytes,4,opt,name=skew,proto3" json:"skew,omitempty"` -} - -func (x *Transform) Reset() { - *x = Transform{} - if protoimpl.UnsafeEnabled { - mi := &file_stationLayoutGraphics_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Transform) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Transform) ProtoMessage() {} - -func (x *Transform) ProtoReflect() protoreflect.Message { - mi := &file_stationLayoutGraphics_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 Transform.ProtoReflect.Descriptor instead. -func (*Transform) Descriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{3} -} - -func (x *Transform) GetPosition() *Point { - if x != nil { - return x.Position - } - return nil -} - -func (x *Transform) GetScale() *Point { - if x != nil { - return x.Scale - } - return nil -} - -func (x *Transform) GetRotation() float32 { - if x != nil { - return x.Rotation - } - return 0 -} - -func (x *Transform) GetSkew() *Point { - if x != nil { - return x.Skew - } - return nil -} - -// 子元素变换 -type ChildTransform struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // 子元素名称 - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // 子元素变换 - Transform *Transform `protobuf:"bytes,2,opt,name=transform,proto3" json:"transform,omitempty"` -} - -func (x *ChildTransform) Reset() { - *x = ChildTransform{} - if protoimpl.UnsafeEnabled { - mi := &file_stationLayoutGraphics_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChildTransform) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChildTransform) ProtoMessage() {} - -func (x *ChildTransform) ProtoReflect() protoreflect.Message { - mi := &file_stationLayoutGraphics_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 ChildTransform.ProtoReflect.Descriptor instead. -func (*ChildTransform) Descriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{4} -} - -func (x *ChildTransform) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *ChildTransform) GetTransform() *Transform { - if x != nil { - return x.Transform - } - return nil -} - -// 公共属性 -type CommonInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - GraphicType string `protobuf:"bytes,2,opt,name=graphicType,proto3" json:"graphicType,omitempty"` - Transform *Transform `protobuf:"bytes,3,opt,name=transform,proto3" json:"transform,omitempty"` - ChildTransforms []*ChildTransform `protobuf:"bytes,4,rep,name=childTransforms,proto3" json:"childTransforms,omitempty"` -} - -func (x *CommonInfo) Reset() { - *x = CommonInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_stationLayoutGraphics_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CommonInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CommonInfo) ProtoMessage() {} - -func (x *CommonInfo) ProtoReflect() protoreflect.Message { - mi := &file_stationLayoutGraphics_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 CommonInfo.ProtoReflect.Descriptor instead. -func (*CommonInfo) Descriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{5} -} - -func (x *CommonInfo) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *CommonInfo) GetGraphicType() string { - if x != nil { - return x.GraphicType - } - return "" -} - -func (x *CommonInfo) GetTransform() *Transform { - if x != nil { - return x.Transform - } - return nil -} - -func (x *CommonInfo) GetChildTransforms() []*ChildTransform { - if x != nil { - return x.ChildTransforms - } - return nil -} - -type Platform struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` - Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` - Hasdoor bool `protobuf:"varint,3,opt,name=hasdoor,proto3" json:"hasdoor,omitempty"` // 是否有屏蔽门 - Direction string `protobuf:"bytes,4,opt,name=direction,proto3" json:"direction,omitempty"` // 行驶方向--屏蔽门上下 - Index int32 `protobuf:"varint,5,opt,name=index,proto3" json:"index,omitempty"` //索引 - RefStationIndex int32 `protobuf:"varint,6,opt,name=refStationIndex,proto3" json:"refStationIndex,omitempty"` //关联车站索引 -} - -func (x *Platform) Reset() { - *x = Platform{} - if protoimpl.UnsafeEnabled { - mi := &file_stationLayoutGraphics_proto_msgTypes[6] - 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_stationLayoutGraphics_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 Platform.ProtoReflect.Descriptor instead. -func (*Platform) Descriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{6} -} - -func (x *Platform) GetCommon() *CommonInfo { - if x != nil { - return x.Common - } - return nil -} - -func (x *Platform) GetCode() string { - if x != nil { - return x.Code - } - return "" -} - -func (x *Platform) GetHasdoor() bool { - if x != nil { - return x.Hasdoor - } - return false -} - -func (x *Platform) GetDirection() string { - if x != nil { - return x.Direction - } - return "" -} - -func (x *Platform) GetIndex() int32 { - if x != nil { - return x.Index - } - return 0 -} - -func (x *Platform) GetRefStationIndex() int32 { - if x != nil { - return x.RefStationIndex - } - return 0 -} - -type Station struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` - Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` - // bool hasControl = 3; // 是否有控制 - ConcentrationStations bool `protobuf:"varint,4,opt,name=concentrationStations,proto3" json:"concentrationStations,omitempty"` //是否集中站 - // string kilometerCode = 5; //公里标 - KilometerSystem *KilometerSystem `protobuf:"bytes,6,opt,name=kilometerSystem,proto3" json:"kilometerSystem,omitempty"` //公里标 - Index int32 `protobuf:"varint,7,opt,name=index,proto3" json:"index,omitempty"` -} - -func (x *Station) Reset() { - *x = Station{} - if protoimpl.UnsafeEnabled { - mi := &file_stationLayoutGraphics_proto_msgTypes[7] - 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_stationLayoutGraphics_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 Station.ProtoReflect.Descriptor instead. -func (*Station) Descriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{7} -} - -func (x *Station) GetCommon() *CommonInfo { - if x != nil { - return x.Common - } - return nil -} - -func (x *Station) GetCode() string { - if x != nil { - return x.Code - } - return "" -} - -func (x *Station) GetConcentrationStations() bool { - if x != nil { - return x.ConcentrationStations - } - return false -} - -func (x *Station) GetKilometerSystem() *KilometerSystem { - if x != nil { - return x.KilometerSystem - } - return nil -} - -func (x *Station) GetIndex() int32 { - if x != nil { - return x.Index - } - return 0 -} - -type TrainWindow struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` - Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` - SectionId string `protobuf:"bytes,3,opt,name=sectionId,proto3" json:"sectionId,omitempty"` -} - -func (x *TrainWindow) Reset() { - *x = TrainWindow{} - if protoimpl.UnsafeEnabled { - mi := &file_stationLayoutGraphics_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TrainWindow) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TrainWindow) ProtoMessage() {} - -func (x *TrainWindow) ProtoReflect() protoreflect.Message { - mi := &file_stationLayoutGraphics_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 TrainWindow.ProtoReflect.Descriptor instead. -func (*TrainWindow) Descriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{8} -} - -func (x *TrainWindow) GetCommon() *CommonInfo { - if x != nil { - return x.Common - } - return nil -} - -func (x *TrainWindow) GetCode() string { - if x != nil { - return x.Code - } - return "" -} - -func (x *TrainWindow) GetSectionId() string { - if x != nil { - return x.SectionId - } - return "" -} - -type AxleCounting struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` - Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` // 名称 - KilometerSystem *KilometerSystem `protobuf:"bytes,3,opt,name=kilometerSystem,proto3" json:"kilometerSystem,omitempty"` //公里标 - AxleCountingRef []*RelatedRef `protobuf:"bytes,4,rep,name=axleCountingRef,proto3" json:"axleCountingRef,omitempty"` // 计轴关联的非岔区物理区段和道岔,设备id和端口 - Index int32 `protobuf:"varint,5,opt,name=index,proto3" json:"index,omitempty"` //计轴的索引编号 -} - -func (x *AxleCounting) Reset() { - *x = AxleCounting{} - if protoimpl.UnsafeEnabled { - mi := &file_stationLayoutGraphics_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AxleCounting) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AxleCounting) ProtoMessage() {} - -func (x *AxleCounting) ProtoReflect() protoreflect.Message { - mi := &file_stationLayoutGraphics_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 AxleCounting.ProtoReflect.Descriptor instead. -func (*AxleCounting) Descriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{9} -} - -func (x *AxleCounting) GetCommon() *CommonInfo { - if x != nil { - return x.Common - } - return nil -} - -func (x *AxleCounting) GetCode() string { - if x != nil { - return x.Code - } - return "" -} - -func (x *AxleCounting) GetKilometerSystem() *KilometerSystem { - if x != nil { - return x.KilometerSystem - } - return nil -} - -func (x *AxleCounting) GetAxleCountingRef() []*RelatedRef { - if x != nil { - return x.AxleCountingRef - } - return nil -} - -func (x *AxleCounting) GetIndex() int32 { - if x != nil { - return x.Index - } - return 0 -} - -type Turnout struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` - Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` - PointA []*Point `protobuf:"bytes,6,rep,name=pointA,proto3" json:"pointA,omitempty"` // A端坐标列表 - PointB []*Point `protobuf:"bytes,7,rep,name=pointB,proto3" json:"pointB,omitempty"` // B端坐标列表 - PointC []*Point `protobuf:"bytes,8,rep,name=pointC,proto3" json:"pointC,omitempty"` // C端坐标列表 - PaRef *RelatedRef `protobuf:"bytes,9,opt,name=paRef,proto3" json:"paRef,omitempty"` // 道岔A端关联的设备 - PbRef *RelatedRef `protobuf:"bytes,10,opt,name=pbRef,proto3" json:"pbRef,omitempty"` // 道岔B端关联的设备 - PcRef *RelatedRef `protobuf:"bytes,11,opt,name=pcRef,proto3" json:"pcRef,omitempty"` // 道岔C端关联的设备 - // KilometerSystem kilometerSystem = 12; // 道岔公里标 - KilometerSystem []*KilometerSystem `protobuf:"bytes,13,rep,name=kilometerSystem,proto3" json:"kilometerSystem,omitempty"` // 道岔公里标 - Index int32 `protobuf:"varint,14,opt,name=index,proto3" json:"index,omitempty"` //索引 -} - -func (x *Turnout) Reset() { - *x = Turnout{} - if protoimpl.UnsafeEnabled { - mi := &file_stationLayoutGraphics_proto_msgTypes[10] - 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_stationLayoutGraphics_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 Turnout.ProtoReflect.Descriptor instead. -func (*Turnout) Descriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{10} -} - -func (x *Turnout) GetCommon() *CommonInfo { - if x != nil { - return x.Common - } - return nil -} - -func (x *Turnout) GetCode() string { - if x != nil { - return x.Code - } - return "" -} - -func (x *Turnout) GetPointA() []*Point { - if x != nil { - return x.PointA - } - return nil -} - -func (x *Turnout) GetPointB() []*Point { - if x != nil { - return x.PointB - } - return nil -} - -func (x *Turnout) GetPointC() []*Point { - if x != nil { - return x.PointC - } - return nil -} - -func (x *Turnout) GetPaRef() *RelatedRef { - if x != nil { - return x.PaRef - } - return nil -} - -func (x *Turnout) GetPbRef() *RelatedRef { - if x != nil { - return x.PbRef - } - return nil -} - -func (x *Turnout) GetPcRef() *RelatedRef { - if x != nil { - return x.PcRef - } - return nil -} - -func (x *Turnout) GetKilometerSystem() []*KilometerSystem { - if x != nil { - return x.KilometerSystem - } - return nil -} - -func (x *Turnout) GetIndex() int32 { - if x != nil { - return x.Index - } - return 0 -} - -type KilometerSystem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Kilometer int64 `protobuf:"varint,1,opt,name=kilometer,proto3" json:"kilometer,omitempty"` //公里标mm - CoordinateSystem string `protobuf:"bytes,2,opt,name=coordinateSystem,proto3" json:"coordinateSystem,omitempty"` //坐标系 -} - -func (x *KilometerSystem) Reset() { - *x = KilometerSystem{} - if protoimpl.UnsafeEnabled { - mi := &file_stationLayoutGraphics_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *KilometerSystem) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*KilometerSystem) ProtoMessage() {} - -func (x *KilometerSystem) ProtoReflect() protoreflect.Message { - mi := &file_stationLayoutGraphics_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 KilometerSystem.ProtoReflect.Descriptor instead. -func (*KilometerSystem) Descriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{11} -} - -func (x *KilometerSystem) GetKilometer() int64 { - if x != nil { - return x.Kilometer - } - return 0 -} - -func (x *KilometerSystem) GetCoordinateSystem() string { - if x != nil { - return x.CoordinateSystem - } - return "" -} - -type Signal struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` - Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` - Mirror bool `protobuf:"varint,3,opt,name=mirror,proto3" json:"mirror,omitempty"` - // int64 kilometer = 4; - // string coordinateSystem = 5; - KilometerSystem *KilometerSystem `protobuf:"bytes,6,opt,name=kilometerSystem,proto3" json:"kilometerSystem,omitempty"` - Index int32 `protobuf:"varint,7,opt,name=index,proto3" json:"index,omitempty"` //索引 -} - -func (x *Signal) Reset() { - *x = Signal{} - if protoimpl.UnsafeEnabled { - mi := &file_stationLayoutGraphics_proto_msgTypes[12] - 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_stationLayoutGraphics_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 Signal.ProtoReflect.Descriptor instead. -func (*Signal) Descriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{12} -} - -func (x *Signal) GetCommon() *CommonInfo { - if x != nil { - return x.Common - } - return nil -} - -func (x *Signal) GetCode() string { - if x != nil { - return x.Code - } - return "" -} - -func (x *Signal) GetMirror() bool { - if x != nil { - return x.Mirror - } - return false -} - -func (x *Signal) GetKilometerSystem() *KilometerSystem { - if x != nil { - return x.KilometerSystem - } - return nil -} - -func (x *Signal) GetIndex() int32 { - if x != nil { - return x.Index - } - return 0 -} - -// * 物理区段(包含岔区和非岔区) -type Section struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` - Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` // 编号 - Points []*Point `protobuf:"bytes,3,rep,name=points,proto3" json:"points,omitempty"` // 点列表 - PaRef *RelatedRef `protobuf:"bytes,4,opt,name=paRef,proto3" json:"paRef,omitempty"` // 区段A端关联的设备(非岔区)(后端不关注) - PbRef *RelatedRef `protobuf:"bytes,5,opt,name=pbRef,proto3" json:"pbRef,omitempty"` // 区段B端关联的设备(非岔区)(后端不关注) - SectionType Section_SectionType `protobuf:"varint,6,opt,name=sectionType,proto3,enum=graphicData.Section_SectionType" json:"sectionType,omitempty"` // 区段类型 - AxleCountings []string `protobuf:"bytes,7,rep,name=axleCountings,proto3" json:"axleCountings,omitempty"` // 区段对应的计轴 - Index int32 `protobuf:"varint,8,opt,name=index,proto3" json:"index,omitempty"` // 索引 -} - -func (x *Section) Reset() { - *x = Section{} - if protoimpl.UnsafeEnabled { - mi := &file_stationLayoutGraphics_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Section) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Section) ProtoMessage() {} - -func (x *Section) ProtoReflect() protoreflect.Message { - mi := &file_stationLayoutGraphics_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 Section.ProtoReflect.Descriptor instead. -func (*Section) Descriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{13} -} - -func (x *Section) GetCommon() *CommonInfo { - if x != nil { - return x.Common - } - return nil -} - -func (x *Section) GetCode() string { - if x != nil { - return x.Code - } - return "" -} - -func (x *Section) GetPoints() []*Point { - if x != nil { - return x.Points - } - return nil -} - -func (x *Section) GetPaRef() *RelatedRef { - if x != nil { - return x.PaRef - } - return nil -} - -func (x *Section) GetPbRef() *RelatedRef { - if x != nil { - return x.PbRef - } - return nil -} - -func (x *Section) GetSectionType() Section_SectionType { - if x != nil { - return x.SectionType - } - return Section_Physical -} - -func (x *Section) GetAxleCountings() []string { - if x != nil { - return x.AxleCountings - } - return nil -} - -func (x *Section) GetIndex() int32 { - if x != nil { - return x.Index - } - return 0 -} - -// 关联设备 -type RelatedRef struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DeviceType RelatedRef_DeviceType `protobuf:"varint,1,opt,name=deviceType,proto3,enum=graphicData.RelatedRef_DeviceType" json:"deviceType,omitempty"` //关联的设备类型 - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` //关联的设备ID - DevicePort RelatedRef_DevicePort `protobuf:"varint,3,opt,name=devicePort,proto3,enum=graphicData.RelatedRef_DevicePort" json:"devicePort,omitempty"` //关联的设备端口 -} - -func (x *RelatedRef) Reset() { - *x = RelatedRef{} - if protoimpl.UnsafeEnabled { - mi := &file_stationLayoutGraphics_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RelatedRef) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RelatedRef) ProtoMessage() {} - -func (x *RelatedRef) ProtoReflect() protoreflect.Message { - mi := &file_stationLayoutGraphics_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 RelatedRef.ProtoReflect.Descriptor instead. -func (*RelatedRef) Descriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{14} -} - -func (x *RelatedRef) GetDeviceType() RelatedRef_DeviceType { - if x != nil { - return x.DeviceType - } - return RelatedRef_Section -} - -func (x *RelatedRef) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *RelatedRef) GetDevicePort() RelatedRef_DevicePort { - if x != nil { - return x.DevicePort - } - return RelatedRef_A -} - -// 计轴区段与道岔的位置关系 -type TurnoutPosRef struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` //道岔的ID - Position int32 `protobuf:"varint,2,opt,name=position,proto3" json:"position,omitempty"` //道岔的正反为,0是定位,1是反位 -} - -func (x *TurnoutPosRef) Reset() { - *x = TurnoutPosRef{} - if protoimpl.UnsafeEnabled { - mi := &file_stationLayoutGraphics_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TurnoutPosRef) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TurnoutPosRef) ProtoMessage() {} - -func (x *TurnoutPosRef) ProtoReflect() protoreflect.Message { - mi := &file_stationLayoutGraphics_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 TurnoutPosRef.ProtoReflect.Descriptor instead. -func (*TurnoutPosRef) Descriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{15} -} - -func (x *TurnoutPosRef) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *TurnoutPosRef) GetPosition() int32 { - if x != nil { - return x.Position - } - return 0 -} - -type Separator struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` - Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` - SeparatorType string `protobuf:"bytes,3,opt,name=separatorType,proto3" json:"separatorType,omitempty"` -} - -func (x *Separator) Reset() { - *x = Separator{} - if protoimpl.UnsafeEnabled { - mi := &file_stationLayoutGraphics_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Separator) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Separator) ProtoMessage() {} - -func (x *Separator) ProtoReflect() protoreflect.Message { - mi := &file_stationLayoutGraphics_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 Separator.ProtoReflect.Descriptor instead. -func (*Separator) Descriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{16} -} - -func (x *Separator) GetCommon() *CommonInfo { - if x != nil { - return x.Common - } - return nil -} - -func (x *Separator) GetCode() string { - if x != nil { - return x.Code - } - return "" -} - -func (x *Separator) GetSeparatorType() string { - if x != nil { - return x.SeparatorType - } - return "" -} - -type Transponder struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` - Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` - TransponderType int32 `protobuf:"varint,3,opt,name=transponderType,proto3" json:"transponderType,omitempty"` - Index int32 `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"` // 索引编号 -} - -func (x *Transponder) Reset() { - *x = Transponder{} - if protoimpl.UnsafeEnabled { - mi := &file_stationLayoutGraphics_proto_msgTypes[17] - 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_stationLayoutGraphics_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 Transponder.ProtoReflect.Descriptor instead. -func (*Transponder) Descriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{17} -} - -func (x *Transponder) GetCommon() *CommonInfo { - if x != nil { - return x.Common - } - return nil -} - -func (x *Transponder) GetCode() string { - if x != nil { - return x.Code - } - return "" -} - -func (x *Transponder) GetTransponderType() int32 { - if x != nil { - return x.TransponderType - } - return 0 -} - -func (x *Transponder) GetIndex() int32 { - if x != nil { - return x.Index - } - return 0 -} - -type SimpleRef struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DeviceType SimpleRef_DeviceType `protobuf:"varint,1,opt,name=deviceType,proto3,enum=graphicData.SimpleRef_DeviceType" json:"deviceType,omitempty"` - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` -} - -func (x *SimpleRef) Reset() { - *x = SimpleRef{} - if protoimpl.UnsafeEnabled { - mi := &file_stationLayoutGraphics_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SimpleRef) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SimpleRef) ProtoMessage() {} - -func (x *SimpleRef) ProtoReflect() protoreflect.Message { - mi := &file_stationLayoutGraphics_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 SimpleRef.ProtoReflect.Descriptor instead. -func (*SimpleRef) Descriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{18} -} - -func (x *SimpleRef) GetDeviceType() SimpleRef_DeviceType { - if x != nil { - return x.DeviceType - } - return SimpleRef_Turnout -} - -func (x *SimpleRef) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -type SectionLink struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` - Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` - Points []*Point `protobuf:"bytes,3,rep,name=points,proto3" json:"points,omitempty"` - Up bool `protobuf:"varint,4,opt,name=up,proto3" json:"up,omitempty"` // 是否上行 - ASimRef *SimpleRef `protobuf:"bytes,5,opt,name=aSimRef,proto3" json:"aSimRef,omitempty"` // SectionLink A端连接设备(构建关系 AxleCounting/Turnout) //端点 - BSimRef *SimpleRef `protobuf:"bytes,6,opt,name=bSimRef,proto3" json:"bSimRef,omitempty"` // SectionLink B端连接设备(构建关系 AxleCounting/Turnout) //端点 - ARef *RelatedRef `protobuf:"bytes,7,opt,name=aRef,proto3" json:"aRef,omitempty"` // SectionLink A端连接设备(端口关系 SectionLink/Turnout) - BRef *RelatedRef `protobuf:"bytes,8,opt,name=bRef,proto3" json:"bRef,omitempty"` //SectionLink B端连接设备(端口关系 SectionLink/Turnout) - Index int32 `protobuf:"varint,9,opt,name=index,proto3" json:"index,omitempty"` // 索引编号 -} - -func (x *SectionLink) Reset() { - *x = SectionLink{} - if protoimpl.UnsafeEnabled { - mi := &file_stationLayoutGraphics_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SectionLink) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SectionLink) ProtoMessage() {} - -func (x *SectionLink) ProtoReflect() protoreflect.Message { - mi := &file_stationLayoutGraphics_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 SectionLink.ProtoReflect.Descriptor instead. -func (*SectionLink) Descriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{19} -} - -func (x *SectionLink) GetCommon() *CommonInfo { - if x != nil { - return x.Common - } - return nil -} - -func (x *SectionLink) GetCode() string { - if x != nil { - return x.Code - } - return "" -} - -func (x *SectionLink) GetPoints() []*Point { - if x != nil { - return x.Points - } - return nil -} - -func (x *SectionLink) GetUp() bool { - if x != nil { - return x.Up - } - return false -} - -func (x *SectionLink) GetASimRef() *SimpleRef { - if x != nil { - return x.ASimRef - } - return nil -} - -func (x *SectionLink) GetBSimRef() *SimpleRef { - if x != nil { - return x.BSimRef - } - return nil -} - -func (x *SectionLink) GetARef() *RelatedRef { - if x != nil { - return x.ARef - } - return nil -} - -func (x *SectionLink) GetBRef() *RelatedRef { - if x != nil { - return x.BRef - } - return nil -} - -func (x *SectionLink) GetIndex() int32 { - if x != nil { - return x.Index - } - return 0 -} - -type AxleCountingSection struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` - Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` // 名称 - Points []*Point `protobuf:"bytes,3,rep,name=points,proto3" json:"points,omitempty"` - PaRef *RelatedRef `protobuf:"bytes,4,opt,name=paRef,proto3" json:"paRef,omitempty"` // 计轴区段A端关联的计轴 - PbRef *RelatedRef `protobuf:"bytes,5,opt,name=pbRef,proto3" json:"pbRef,omitempty"` // 计轴区段B端关联的计轴 - TurnoutPos []*TurnoutPosRef `protobuf:"bytes,6,rep,name=turnoutPos,proto3" json:"turnoutPos,omitempty"` //关联道岔的正反位--0是定位,1是反位 - Index int32 `protobuf:"varint,7,opt,name=index,proto3" json:"index,omitempty"` //计轴区段的索引编号 -} - -func (x *AxleCountingSection) Reset() { - *x = AxleCountingSection{} - if protoimpl.UnsafeEnabled { - mi := &file_stationLayoutGraphics_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AxleCountingSection) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AxleCountingSection) ProtoMessage() {} - -func (x *AxleCountingSection) ProtoReflect() protoreflect.Message { - mi := &file_stationLayoutGraphics_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 AxleCountingSection.ProtoReflect.Descriptor instead. -func (*AxleCountingSection) Descriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{20} -} - -func (x *AxleCountingSection) GetCommon() *CommonInfo { - if x != nil { - return x.Common - } - return nil -} - -func (x *AxleCountingSection) GetCode() string { - if x != nil { - return x.Code - } - return "" -} - -func (x *AxleCountingSection) GetPoints() []*Point { - if x != nil { - return x.Points - } - return nil -} - -func (x *AxleCountingSection) GetPaRef() *RelatedRef { - if x != nil { - return x.PaRef - } - return nil -} - -func (x *AxleCountingSection) GetPbRef() *RelatedRef { - if x != nil { - return x.PbRef - } - return nil -} - -func (x *AxleCountingSection) GetTurnoutPos() []*TurnoutPosRef { - if x != nil { - return x.TurnoutPos - } - return nil -} - -func (x *AxleCountingSection) GetIndex() int32 { - if x != nil { - return x.Index - } - return 0 -} - -type LogicSection struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` - Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` // 名称 - Points []*Point `protobuf:"bytes,3,rep,name=points,proto3" json:"points,omitempty"` - AxleSectionId string `protobuf:"bytes,4,opt,name=axleSectionId,proto3" json:"axleSectionId,omitempty"` // 关联的计轴区段Id - Index int32 `protobuf:"varint,5,opt,name=index,proto3" json:"index,omitempty"` // 索引编号 - TurnoutId string `protobuf:"bytes,6,opt,name=turnoutId,proto3" json:"turnoutId,omitempty"` // 关联的岔芯对应的道岔id,此时该逻辑区段为该道岔C端关联的轨道link -} - -func (x *LogicSection) Reset() { - *x = LogicSection{} - if protoimpl.UnsafeEnabled { - mi := &file_stationLayoutGraphics_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LogicSection) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LogicSection) ProtoMessage() {} - -func (x *LogicSection) ProtoReflect() protoreflect.Message { - mi := &file_stationLayoutGraphics_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 LogicSection.ProtoReflect.Descriptor instead. -func (*LogicSection) Descriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{21} -} - -func (x *LogicSection) GetCommon() *CommonInfo { - if x != nil { - return x.Common - } - return nil -} - -func (x *LogicSection) GetCode() string { - if x != nil { - return x.Code - } - return "" -} - -func (x *LogicSection) GetPoints() []*Point { - if x != nil { - return x.Points - } - return nil -} - -func (x *LogicSection) GetAxleSectionId() string { - if x != nil { - return x.AxleSectionId - } - return "" -} - -func (x *LogicSection) GetIndex() int32 { - if x != nil { - return x.Index - } - return 0 -} - -func (x *LogicSection) GetTurnoutId() string { - if x != nil { - return x.TurnoutId - } - return "" -} - -type StopPosition struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` - Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` - Flip bool `protobuf:"varint,3,opt,name=flip,proto3" json:"flip,omitempty"` // 是否翻转(前端显示) - CoachNum StopPosition_CoachNum `protobuf:"varint,4,opt,name=coachNum,proto3,enum=graphicData.StopPosition_CoachNum" json:"coachNum,omitempty"` //编组数量 - Index int32 `protobuf:"varint,5,opt,name=index,proto3" json:"index,omitempty"` //索引 -} - -func (x *StopPosition) Reset() { - *x = StopPosition{} - if protoimpl.UnsafeEnabled { - mi := &file_stationLayoutGraphics_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StopPosition) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StopPosition) ProtoMessage() {} - -func (x *StopPosition) ProtoReflect() protoreflect.Message { - mi := &file_stationLayoutGraphics_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 StopPosition.ProtoReflect.Descriptor instead. -func (*StopPosition) Descriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{22} -} - -func (x *StopPosition) GetCommon() *CommonInfo { - if x != nil { - return x.Common - } - return nil -} - -func (x *StopPosition) GetCode() string { - if x != nil { - return x.Code - } - return "" -} - -func (x *StopPosition) GetFlip() bool { - if x != nil { - return x.Flip - } - return false -} - -func (x *StopPosition) GetCoachNum() StopPosition_CoachNum { - if x != nil { - return x.CoachNum - } - return StopPosition_Four -} - -func (x *StopPosition) GetIndex() int32 { - if x != nil { - return x.Index - } - return 0 -} - -type SpksSwitch struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` - Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` - Flip bool `protobuf:"varint,3,opt,name=flip,proto3" json:"flip,omitempty"` // 是否翻转(前端显示) - Index int32 `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"` //索引 -} - -func (x *SpksSwitch) Reset() { - *x = SpksSwitch{} - if protoimpl.UnsafeEnabled { - mi := &file_stationLayoutGraphics_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SpksSwitch) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SpksSwitch) ProtoMessage() {} - -func (x *SpksSwitch) ProtoReflect() protoreflect.Message { - mi := &file_stationLayoutGraphics_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 SpksSwitch.ProtoReflect.Descriptor instead. -func (*SpksSwitch) Descriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{23} -} - -func (x *SpksSwitch) GetCommon() *CommonInfo { - if x != nil { - return x.Common - } - return nil -} - -func (x *SpksSwitch) GetCode() string { - if x != nil { - return x.Code - } - return "" -} - -func (x *SpksSwitch) GetFlip() bool { - if x != nil { - return x.Flip - } - return false -} - -func (x *SpksSwitch) GetIndex() int32 { - if x != nil { - return x.Index - } - return 0 -} - -type EsbButton struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` - Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` - Flip bool `protobuf:"varint,3,opt,name=flip,proto3" json:"flip,omitempty"` // 是否翻转(前端显示) - Index int32 `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"` //索引 -} - -func (x *EsbButton) Reset() { - *x = EsbButton{} - if protoimpl.UnsafeEnabled { - mi := &file_stationLayoutGraphics_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EsbButton) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EsbButton) ProtoMessage() {} - -func (x *EsbButton) ProtoReflect() protoreflect.Message { - mi := &file_stationLayoutGraphics_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 EsbButton.ProtoReflect.Descriptor instead. -func (*EsbButton) Descriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{24} -} - -func (x *EsbButton) GetCommon() *CommonInfo { - if x != nil { - return x.Common - } - return nil -} - -func (x *EsbButton) GetCode() string { - if x != nil { - return x.Code - } - return "" -} - -func (x *EsbButton) GetFlip() bool { - if x != nil { - return x.Flip - } - return false -} - -func (x *EsbButton) GetIndex() int32 { - if x != nil { - return x.Index - } - return 0 -} - -type GatedBox struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` - Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` - Flip bool `protobuf:"varint,3,opt,name=flip,proto3" json:"flip,omitempty"` // 是否翻转(前端显示) - Index int32 `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"` //索引 -} - -func (x *GatedBox) Reset() { - *x = GatedBox{} - if protoimpl.UnsafeEnabled { - mi := &file_stationLayoutGraphics_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GatedBox) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GatedBox) ProtoMessage() {} - -func (x *GatedBox) ProtoReflect() protoreflect.Message { - mi := &file_stationLayoutGraphics_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 GatedBox.ProtoReflect.Descriptor instead. -func (*GatedBox) Descriptor() ([]byte, []int) { - return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{25} -} - -func (x *GatedBox) GetCommon() *CommonInfo { - if x != nil { - return x.Common - } - return nil -} - -func (x *GatedBox) GetCode() string { - if x != nil { - return x.Code - } - return "" -} - -func (x *GatedBox) GetFlip() bool { - if x != nil { - return x.Flip - } - return false -} - -func (x *GatedBox) GetIndex() int32 { - if x != nil { - return x.Index - } - return 0 -} - -var File_stationLayoutGraphics_proto protoreflect.FileDescriptor - -var file_stationLayoutGraphics_proto_rawDesc = []byte{ - 0x0a, 0x1b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x47, - 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x22, 0xea, 0x07, 0x0a, 0x12, 0x52, - 0x74, 0x73, 0x73, 0x47, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x12, 0x2b, 0x0a, 0x06, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, - 0x43, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x52, 0x06, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x12, 0x33, - 0x0a, 0x09, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x09, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, - 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2d, 0x0a, 0x07, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, - 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, - 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x52, 0x07, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x6c, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x74, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x73, - 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, - 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x52, 0x08, 0x74, 0x75, - 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, - 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x57, - 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, - 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x57, 0x69, 0x6e, - 0x64, 0x6f, 0x77, 0x73, 0x12, 0x3f, 0x0a, 0x0d, 0x61, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, - 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x78, 0x6c, 0x65, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0d, 0x61, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x36, 0x0a, 0x0a, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, - 0x6f, 0x72, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x52, 0x0a, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x3c, 0x0a, - 0x0c, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x0f, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, - 0x61, 0x2e, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x0c, 0x73, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x54, 0x0a, 0x14, 0x61, - 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x61, 0x78, 0x6c, - 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x3f, 0x0a, 0x0d, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x53, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x3f, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x0a, 0x0b, 0x73, 0x70, 0x6b, 0x73, 0x53, 0x77, 0x69, 0x74, 0x63, - 0x68, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x70, 0x6b, 0x73, 0x53, 0x77, 0x69, 0x74, 0x63, - 0x68, 0x52, 0x0b, 0x73, 0x70, 0x6b, 0x73, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x73, 0x12, 0x36, - 0x0a, 0x0a, 0x65, 0x73, 0x62, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x18, 0x14, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, - 0x2e, 0x45, 0x73, 0x62, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x73, 0x62, 0x42, - 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x08, 0x67, 0x61, 0x74, 0x65, 0x42, 0x6f, - 0x78, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x64, 0x42, 0x6f, 0x78, 0x52, - 0x08, 0x67, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x78, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 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, 0x22, 0xa6, 0x01, 0x0a, 0x06, 0x43, 0x61, 0x6e, 0x76, - 0x61, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x12, 0x28, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, - 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x67, - 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x44, 0x0a, 0x11, 0x76, 0x69, - 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, - 0x61, 0x74, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x11, 0x76, - 0x69, 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, - 0x22, 0x23, 0x0a, 0x05, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x01, 0x79, 0x22, 0xa9, 0x01, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x6f, 0x72, 0x6d, 0x12, 0x2e, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, - 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, - 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x08, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x04, 0x73, 0x6b, 0x65, - 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, - 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x73, 0x6b, 0x65, - 0x77, 0x22, 0x5a, 0x0a, 0x0e, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x61, - 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, - 0x72, 0x6d, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xbb, 0x01, - 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, - 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, - 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x45, 0x0a, 0x0f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x69, 0x6c, - 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x0f, 0x63, 0x68, 0x69, 0x6c, - 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x22, 0xc7, 0x01, 0x0a, 0x08, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x68, 0x61, 0x73, 0x64, 0x6f, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x68, 0x61, 0x73, 0x64, 0x6f, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x28, 0x0a, 0x0f, 0x72, - 0x65, 0x66, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xe2, 0x01, 0x0a, 0x07, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, - 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x6e, - 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x0f, - 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, - 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x52, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x70, 0x0a, 0x0b, 0x54, 0x72, - 0x61, 0x69, 0x6e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 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, 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, 0x22, 0xf4, 0x01, 0x0a, - 0x0c, 0x41, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x2f, 0x0a, - 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, - 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, - 0x64, 0x65, 0x12, 0x46, 0x0a, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, - 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, - 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, - 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x41, 0x0a, 0x0f, 0x61, 0x78, - 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x66, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, - 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x0f, 0x61, 0x78, - 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x66, 0x12, 0x14, 0x0a, - 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x22, 0xbd, 0x03, 0x0a, 0x07, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x12, - 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x18, 0x06, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, - 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x41, - 0x12, 0x2a, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, - 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x12, 0x2a, 0x0a, 0x06, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, - 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x12, 0x2d, 0x0a, 0x05, 0x70, 0x61, 0x52, 0x65, - 0x66, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, - 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, - 0x52, 0x05, 0x70, 0x61, 0x52, 0x65, 0x66, 0x12, 0x2d, 0x0a, 0x05, 0x70, 0x62, 0x52, 0x65, 0x66, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, - 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, - 0x05, 0x70, 0x62, 0x52, 0x65, 0x66, 0x12, 0x2d, 0x0a, 0x05, 0x70, 0x63, 0x52, 0x65, 0x66, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, - 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x05, - 0x70, 0x63, 0x52, 0x65, 0x66, 0x12, 0x46, 0x0a, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x69, 0x6c, - 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x0f, 0x6b, 0x69, - 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x14, 0x0a, - 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x22, 0x5b, 0x0a, 0x0f, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, - 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, - 0x65, 0x74, 0x65, 0x72, 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, - 0x22, 0xc3, 0x01, 0x0a, 0x06, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x12, 0x2f, 0x0a, 0x06, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, - 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x06, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x46, 0x0a, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, - 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, - 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, - 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, - 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x8a, 0x03, 0x0a, 0x07, 0x53, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, - 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, - 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x0a, 0x05, 0x70, 0x61, 0x52, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, - 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x05, 0x70, 0x61, 0x52, - 0x65, 0x66, 0x12, 0x2d, 0x0a, 0x05, 0x70, 0x62, 0x52, 0x65, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, - 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x05, 0x70, 0x62, 0x52, 0x65, - 0x66, 0x12, 0x42, 0x0a, 0x0b, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, - 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x78, - 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x22, 0x30, 0x0a, 0x0b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x10, 0x00, 0x12, 0x13, - 0x0a, 0x0f, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, - 0x6c, 0x10, 0x02, 0x22, 0xa3, 0x02, 0x0a, 0x0a, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, - 0x65, 0x66, 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, - 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x2e, - 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x50, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x67, 0x72, 0x61, - 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x52, 0x65, 0x66, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x0a, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x22, 0x5a, 0x0a, 0x0a, 0x44, 0x65, - 0x76, 0x69, 0x63, 0x65, 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, 0x0f, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x57, 0x69, 0x6e, 0x64, 0x6f, - 0x77, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x69, 0x6e, 0x67, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x4c, 0x69, 0x6e, 0x6b, 0x10, 0x04, 0x22, 0x21, 0x0a, 0x0a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, - 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, 0x3b, 0x0a, 0x0d, 0x54, 0x75, 0x72, - 0x6e, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x73, 0x52, 0x65, 0x66, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x76, 0x0a, 0x09, 0x53, 0x65, 0x70, 0x61, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, - 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x70, 0x61, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x22, 0x92, - 0x01, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x2f, - 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, - 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, - 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x6e, 0x64, - 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x22, 0x8b, 0x01, 0x0a, 0x09, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, - 0x66, 0x12, 0x41, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, - 0x61, 0x74, 0x61, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x2e, 0x44, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x22, 0x2b, 0x0a, 0x0a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x10, 0x00, 0x12, - 0x10, 0x0a, 0x0c, 0x41, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x10, - 0x01, 0x22, 0xe2, 0x02, 0x0a, 0x0b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, - 0x6b, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, - 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, - 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, - 0x75, 0x70, 0x12, 0x30, 0x0a, 0x07, 0x61, 0x53, 0x69, 0x6d, 0x52, 0x65, 0x66, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, - 0x61, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x52, 0x07, 0x61, 0x53, 0x69, - 0x6d, 0x52, 0x65, 0x66, 0x12, 0x30, 0x0a, 0x07, 0x62, 0x53, 0x69, 0x6d, 0x52, 0x65, 0x66, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, - 0x61, 0x74, 0x61, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x52, 0x07, 0x62, - 0x53, 0x69, 0x6d, 0x52, 0x65, 0x66, 0x12, 0x2b, 0x0a, 0x04, 0x61, 0x52, 0x65, 0x66, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, - 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x04, 0x61, - 0x52, 0x65, 0x66, 0x12, 0x2b, 0x0a, 0x04, 0x62, 0x52, 0x65, 0x66, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, - 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x04, 0x62, 0x52, 0x65, 0x66, - 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xb6, 0x02, 0x0a, 0x13, 0x41, 0x78, 0x6c, 0x65, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, - 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, - 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, - 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, - 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, - 0x2d, 0x0a, 0x05, 0x70, 0x61, 0x52, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x05, 0x70, 0x61, 0x52, 0x65, 0x66, 0x12, 0x2d, - 0x0a, 0x05, 0x70, 0x62, 0x52, 0x65, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x05, 0x70, 0x62, 0x52, 0x65, 0x66, 0x12, 0x3a, 0x0a, - 0x0a, 0x74, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, - 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x73, 0x52, 0x65, 0x66, 0x52, 0x0a, 0x74, - 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, - 0xd9, 0x01, 0x0a, 0x0c, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, - 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x78, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x78, 0x6c, 0x65, 0x53, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1c, 0x0a, - 0x09, 0x74, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x74, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x49, 0x64, 0x22, 0xdc, 0x01, 0x0a, 0x0c, - 0x53, 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x06, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, - 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x04, 0x66, 0x6c, 0x69, 0x70, 0x12, 0x3e, 0x0a, 0x08, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x4e, 0x75, - 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, - 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x4e, 0x75, 0x6d, 0x52, 0x08, 0x63, 0x6f, 0x61, - 0x63, 0x68, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x1d, 0x0a, 0x08, 0x43, - 0x6f, 0x61, 0x63, 0x68, 0x4e, 0x75, 0x6d, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x6f, 0x75, 0x72, 0x10, - 0x00, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x69, 0x78, 0x10, 0x01, 0x22, 0x7b, 0x0a, 0x0a, 0x53, 0x70, - 0x6b, 0x73, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x66, 0x6c, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x66, 0x6c, 0x69, - 0x70, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x7a, 0x0a, 0x09, 0x45, 0x73, 0x62, 0x42, 0x75, - 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, - 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x69, - 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x12, 0x14, 0x0a, - 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x22, 0x79, 0x0a, 0x08, 0x47, 0x61, 0x74, 0x65, 0x64, 0x42, 0x6f, 0x78, 0x12, - 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x48, - 0x0a, 0x25, 0x63, 0x6c, 0x75, 0x62, 0x2e, 0x6a, 0x6f, 0x79, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x62, - 0x6a, 0x72, 0x74, 0x73, 0x73, 0x2e, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x42, 0x13, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x47, - 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x0a, 0x2e, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_stationLayoutGraphics_proto_rawDescOnce sync.Once - file_stationLayoutGraphics_proto_rawDescData = file_stationLayoutGraphics_proto_rawDesc -) - -func file_stationLayoutGraphics_proto_rawDescGZIP() []byte { - file_stationLayoutGraphics_proto_rawDescOnce.Do(func() { - file_stationLayoutGraphics_proto_rawDescData = protoimpl.X.CompressGZIP(file_stationLayoutGraphics_proto_rawDescData) - }) - return file_stationLayoutGraphics_proto_rawDescData -} - -var file_stationLayoutGraphics_proto_enumTypes = make([]protoimpl.EnumInfo, 5) -var file_stationLayoutGraphics_proto_msgTypes = make([]protoimpl.MessageInfo, 26) -var file_stationLayoutGraphics_proto_goTypes = []interface{}{ - (Section_SectionType)(0), // 0: graphicData.Section.SectionType - (RelatedRef_DeviceType)(0), // 1: graphicData.RelatedRef.DeviceType - (RelatedRef_DevicePort)(0), // 2: graphicData.RelatedRef.DevicePort - (SimpleRef_DeviceType)(0), // 3: graphicData.SimpleRef.DeviceType - (StopPosition_CoachNum)(0), // 4: graphicData.StopPosition.CoachNum - (*RtssGraphicStorage)(nil), // 5: graphicData.RtssGraphicStorage - (*Canvas)(nil), // 6: graphicData.Canvas - (*Point)(nil), // 7: graphicData.Point - (*Transform)(nil), // 8: graphicData.Transform - (*ChildTransform)(nil), // 9: graphicData.ChildTransform - (*CommonInfo)(nil), // 10: graphicData.CommonInfo - (*Platform)(nil), // 11: graphicData.Platform - (*Station)(nil), // 12: graphicData.Station - (*TrainWindow)(nil), // 13: graphicData.TrainWindow - (*AxleCounting)(nil), // 14: graphicData.AxleCounting - (*Turnout)(nil), // 15: graphicData.Turnout - (*KilometerSystem)(nil), // 16: graphicData.KilometerSystem - (*Signal)(nil), // 17: graphicData.Signal - (*Section)(nil), // 18: graphicData.Section - (*RelatedRef)(nil), // 19: graphicData.RelatedRef - (*TurnoutPosRef)(nil), // 20: graphicData.TurnoutPosRef - (*Separator)(nil), // 21: graphicData.Separator - (*Transponder)(nil), // 22: graphicData.Transponder - (*SimpleRef)(nil), // 23: graphicData.SimpleRef - (*SectionLink)(nil), // 24: graphicData.SectionLink - (*AxleCountingSection)(nil), // 25: graphicData.AxleCountingSection - (*LogicSection)(nil), // 26: graphicData.LogicSection - (*StopPosition)(nil), // 27: graphicData.StopPosition - (*SpksSwitch)(nil), // 28: graphicData.SpksSwitch - (*EsbButton)(nil), // 29: graphicData.EsbButton - (*GatedBox)(nil), // 30: graphicData.GatedBox -} -var file_stationLayoutGraphics_proto_depIdxs = []int32{ - 6, // 0: graphicData.RtssGraphicStorage.canvas:type_name -> graphicData.Canvas - 11, // 1: graphicData.RtssGraphicStorage.Platforms:type_name -> graphicData.Platform - 12, // 2: graphicData.RtssGraphicStorage.stations:type_name -> graphicData.Station - 17, // 3: graphicData.RtssGraphicStorage.signals:type_name -> graphicData.Signal - 15, // 4: graphicData.RtssGraphicStorage.turnouts:type_name -> graphicData.Turnout - 18, // 5: graphicData.RtssGraphicStorage.section:type_name -> graphicData.Section - 13, // 6: graphicData.RtssGraphicStorage.trainWindows:type_name -> graphicData.TrainWindow - 14, // 7: graphicData.RtssGraphicStorage.axleCountings:type_name -> graphicData.AxleCounting - 21, // 8: graphicData.RtssGraphicStorage.separators:type_name -> graphicData.Separator - 24, // 9: graphicData.RtssGraphicStorage.sectionLinks:type_name -> graphicData.SectionLink - 25, // 10: graphicData.RtssGraphicStorage.axleCountingSections:type_name -> graphicData.AxleCountingSection - 26, // 11: graphicData.RtssGraphicStorage.logicSections:type_name -> graphicData.LogicSection - 27, // 12: graphicData.RtssGraphicStorage.stopPositions:type_name -> graphicData.StopPosition - 28, // 13: graphicData.RtssGraphicStorage.spksSwitchs:type_name -> graphicData.SpksSwitch - 29, // 14: graphicData.RtssGraphicStorage.esbButtons:type_name -> graphicData.EsbButton - 30, // 15: graphicData.RtssGraphicStorage.gateBoxs:type_name -> graphicData.GatedBox - 22, // 16: graphicData.RtssGraphicStorage.transponders:type_name -> graphicData.Transponder - 8, // 17: graphicData.Canvas.viewportTransform:type_name -> graphicData.Transform - 7, // 18: graphicData.Transform.position:type_name -> graphicData.Point - 7, // 19: graphicData.Transform.scale:type_name -> graphicData.Point - 7, // 20: graphicData.Transform.skew:type_name -> graphicData.Point - 8, // 21: graphicData.ChildTransform.transform:type_name -> graphicData.Transform - 8, // 22: graphicData.CommonInfo.transform:type_name -> graphicData.Transform - 9, // 23: graphicData.CommonInfo.childTransforms:type_name -> graphicData.ChildTransform - 10, // 24: graphicData.Platform.common:type_name -> graphicData.CommonInfo - 10, // 25: graphicData.Station.common:type_name -> graphicData.CommonInfo - 16, // 26: graphicData.Station.kilometerSystem:type_name -> graphicData.KilometerSystem - 10, // 27: graphicData.TrainWindow.common:type_name -> graphicData.CommonInfo - 10, // 28: graphicData.AxleCounting.common:type_name -> graphicData.CommonInfo - 16, // 29: graphicData.AxleCounting.kilometerSystem:type_name -> graphicData.KilometerSystem - 19, // 30: graphicData.AxleCounting.axleCountingRef:type_name -> graphicData.RelatedRef - 10, // 31: graphicData.Turnout.common:type_name -> graphicData.CommonInfo - 7, // 32: graphicData.Turnout.pointA:type_name -> graphicData.Point - 7, // 33: graphicData.Turnout.pointB:type_name -> graphicData.Point - 7, // 34: graphicData.Turnout.pointC:type_name -> graphicData.Point - 19, // 35: graphicData.Turnout.paRef:type_name -> graphicData.RelatedRef - 19, // 36: graphicData.Turnout.pbRef:type_name -> graphicData.RelatedRef - 19, // 37: graphicData.Turnout.pcRef:type_name -> graphicData.RelatedRef - 16, // 38: graphicData.Turnout.kilometerSystem:type_name -> graphicData.KilometerSystem - 10, // 39: graphicData.Signal.common:type_name -> graphicData.CommonInfo - 16, // 40: graphicData.Signal.kilometerSystem:type_name -> graphicData.KilometerSystem - 10, // 41: graphicData.Section.common:type_name -> graphicData.CommonInfo - 7, // 42: graphicData.Section.points:type_name -> graphicData.Point - 19, // 43: graphicData.Section.paRef:type_name -> graphicData.RelatedRef - 19, // 44: graphicData.Section.pbRef:type_name -> graphicData.RelatedRef - 0, // 45: graphicData.Section.sectionType:type_name -> graphicData.Section.SectionType - 1, // 46: graphicData.RelatedRef.deviceType:type_name -> graphicData.RelatedRef.DeviceType - 2, // 47: graphicData.RelatedRef.devicePort:type_name -> graphicData.RelatedRef.DevicePort - 10, // 48: graphicData.Separator.common:type_name -> graphicData.CommonInfo - 10, // 49: graphicData.Transponder.common:type_name -> graphicData.CommonInfo - 3, // 50: graphicData.SimpleRef.deviceType:type_name -> graphicData.SimpleRef.DeviceType - 10, // 51: graphicData.SectionLink.common:type_name -> graphicData.CommonInfo - 7, // 52: graphicData.SectionLink.points:type_name -> graphicData.Point - 23, // 53: graphicData.SectionLink.aSimRef:type_name -> graphicData.SimpleRef - 23, // 54: graphicData.SectionLink.bSimRef:type_name -> graphicData.SimpleRef - 19, // 55: graphicData.SectionLink.aRef:type_name -> graphicData.RelatedRef - 19, // 56: graphicData.SectionLink.bRef:type_name -> graphicData.RelatedRef - 10, // 57: graphicData.AxleCountingSection.common:type_name -> graphicData.CommonInfo - 7, // 58: graphicData.AxleCountingSection.points:type_name -> graphicData.Point - 19, // 59: graphicData.AxleCountingSection.paRef:type_name -> graphicData.RelatedRef - 19, // 60: graphicData.AxleCountingSection.pbRef:type_name -> graphicData.RelatedRef - 20, // 61: graphicData.AxleCountingSection.turnoutPos:type_name -> graphicData.TurnoutPosRef - 10, // 62: graphicData.LogicSection.common:type_name -> graphicData.CommonInfo - 7, // 63: graphicData.LogicSection.points:type_name -> graphicData.Point - 10, // 64: graphicData.StopPosition.common:type_name -> graphicData.CommonInfo - 4, // 65: graphicData.StopPosition.coachNum:type_name -> graphicData.StopPosition.CoachNum - 10, // 66: graphicData.SpksSwitch.common:type_name -> graphicData.CommonInfo - 10, // 67: graphicData.EsbButton.common:type_name -> graphicData.CommonInfo - 10, // 68: graphicData.GatedBox.common:type_name -> graphicData.CommonInfo - 69, // [69:69] is the sub-list for method output_type - 69, // [69:69] is the sub-list for method input_type - 69, // [69:69] is the sub-list for extension type_name - 69, // [69:69] is the sub-list for extension extendee - 0, // [0:69] is the sub-list for field type_name -} - -func init() { file_stationLayoutGraphics_proto_init() } -func file_stationLayoutGraphics_proto_init() { - if File_stationLayoutGraphics_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_stationLayoutGraphics_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RtssGraphicStorage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_stationLayoutGraphics_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Canvas); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_stationLayoutGraphics_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Point); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_stationLayoutGraphics_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Transform); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_stationLayoutGraphics_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChildTransform); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_stationLayoutGraphics_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommonInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_stationLayoutGraphics_proto_msgTypes[6].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_stationLayoutGraphics_proto_msgTypes[7].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_stationLayoutGraphics_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TrainWindow); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_stationLayoutGraphics_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AxleCounting); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_stationLayoutGraphics_proto_msgTypes[10].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_stationLayoutGraphics_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KilometerSystem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_stationLayoutGraphics_proto_msgTypes[12].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_stationLayoutGraphics_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Section); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_stationLayoutGraphics_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RelatedRef); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_stationLayoutGraphics_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TurnoutPosRef); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_stationLayoutGraphics_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Separator); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_stationLayoutGraphics_proto_msgTypes[17].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_stationLayoutGraphics_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SimpleRef); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_stationLayoutGraphics_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SectionLink); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_stationLayoutGraphics_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AxleCountingSection); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_stationLayoutGraphics_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LogicSection); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_stationLayoutGraphics_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StopPosition); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_stationLayoutGraphics_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SpksSwitch); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_stationLayoutGraphics_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EsbButton); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_stationLayoutGraphics_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GatedBox); 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_stationLayoutGraphics_proto_rawDesc, - NumEnums: 5, - NumMessages: 26, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_stationLayoutGraphics_proto_goTypes, - DependencyIndexes: file_stationLayoutGraphics_proto_depIdxs, - EnumInfos: file_stationLayoutGraphics_proto_enumTypes, - MessageInfos: file_stationLayoutGraphics_proto_msgTypes, - }.Build() - File_stationLayoutGraphics_proto = out.File - file_stationLayoutGraphics_proto_rawDesc = nil - file_stationLayoutGraphics_proto_goTypes = nil - file_stationLayoutGraphics_proto_depIdxs = nil -} diff --git a/service/publishedGi.go b/service/publishedGi.go index de1b941..a919b06 100644 --- a/service/publishedGi.go +++ b/service/publishedGi.go @@ -2,39 +2,46 @@ package service import ( "fmt" - "time" - "joylink.club/bj-rtsts-server/db/dbquery" "joylink.club/bj-rtsts-server/db/model" "joylink.club/bj-rtsts-server/dto" + "joylink.club/bj-rtsts-server/dto/publishedGi" + "time" ) -func PageQueryPublishedGi(req *dto.PublishedGiReqDto) (*dto.PageDto, error) { - w := dbquery.PublishedGi.Where() - if req.Name != "" { - w = w.Where(dbquery.PublishedGi.Name.Like(fmt.Sprintf("%%%s%%", req.Name))) - } - result, count, err := w.Debug().FindByPage(req.Offset(), req.Size) - return &dto.PageDto{ - Total: int(count), - PageQueryDto: req.PageQueryDto, - Records: result, - }, err -} - -func ListQueryPublishedGi(req *dto.PublishedGiReqDto) ([]*model.PublishedGi, error) { +func PageQueryPublishedGi(req *publishedGi.PublishedGiReqDto) *dto.PageDto { where := dbquery.PublishedGi.Where() if req.Name != "" { where.Where(dbquery.PublishedGi.Name.Like(fmt.Sprintf("%%%s%%", req.Name))) } - return where.Debug().Find() + result, count, err := where.Debug().FindByPage(req.Offset(), req.Size) + if err != nil { + panic(dto.ErrorDto{Code: dto.DataOperationError, Message: err.Error()}) + } + return &dto.PageDto{ + Total: int(count), + PageQueryDto: req.PageQueryDto, + Records: publishedGi.ConvertFromSlice(result), + } +} + +func ListQueryPublishedGi(req *publishedGi.PublishedGiReqDto) []*publishedGi.PublishedGiDto { + where := dbquery.PublishedGi.Where() + if req.Name != "" { + where.Where(dbquery.PublishedGi.Name.Like(fmt.Sprintf("%%%s%%", req.Name))) + } + find, err := where.Debug().Find() + if err != nil { + panic(dto.ErrorDto{Code: dto.DataOperationError, Message: err.Error()}) + } + return publishedGi.ConvertFromSlice(find) } func GetPublishedGiById(id int) (*model.PublishedGi, error) { return dbquery.PublishedGi.Where(dbquery.PublishedGi.ID.Eq(int32(id))).Debug().First() } -func PublishFormDraft(req *dto.PublishReqDto, user *model.User) { +func PublishFormDraft(req *publishedGi.PublishReqDto, user *model.User) { draft := QueryDrafting(req.DraftId) if draft.Proto == nil || len(draft.Proto) == 0 { panic(fmt.Sprintf("草稿[%v]绘图数据信息为空", req.DraftId))