protobuf changes
This commit is contained in:
parent
943e3ae2ac
commit
acb7d44657
5 changed files with 380 additions and 259 deletions
|
@ -12,6 +12,7 @@ import (
|
||||||
|
|
||||||
"github.com/rs/zerolog/log"
|
"github.com/rs/zerolog/log"
|
||||||
"google.golang.org/protobuf/proto"
|
"google.golang.org/protobuf/proto"
|
||||||
|
"google.golang.org/protobuf/reflect/protoreflect"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Client interface {
|
type Client interface {
|
||||||
|
@ -35,11 +36,15 @@ type client struct {
|
||||||
nexus *Nexus
|
nexus *Nexus
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type ToClient interface {
|
||||||
|
protoreflect.ProtoMessage
|
||||||
|
}
|
||||||
|
|
||||||
type Connection interface {
|
type Connection interface {
|
||||||
io.Closer
|
io.Closer
|
||||||
CloseCh()
|
CloseCh()
|
||||||
|
|
||||||
Send(*pb.Message) (closed bool)
|
Send(ToClient) (closed bool)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (n *Nexus) NewClient(conn Connection) Client {
|
func (n *Nexus) NewClient(conn Connection) Client {
|
||||||
|
|
|
@ -13,7 +13,25 @@ import (
|
||||||
"google.golang.org/protobuf/types/known/structpb"
|
"google.golang.org/protobuf/types/known/structpb"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type CommandIDKeyT int64
|
||||||
|
|
||||||
|
const CommandIDKey CommandIDKeyT = 0
|
||||||
|
|
||||||
|
func CtxWithCID(ctx context.Context, cmd *pb.Command) context.Context {
|
||||||
|
return context.WithValue(ctx, CommandIDKey, cmd.CommandId)
|
||||||
|
}
|
||||||
|
|
||||||
|
func CommandID(ctx context.Context) *int64 {
|
||||||
|
id, has := ctx.Value(CommandIDKey).(*int64)
|
||||||
|
if !has {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
return id
|
||||||
|
}
|
||||||
|
|
||||||
func (c *client) HandleCommand(ctx context.Context, cmd *pb.Command) {
|
func (c *client) HandleCommand(ctx context.Context, cmd *pb.Command) {
|
||||||
|
ctx = CtxWithCID(ctx, cmd)
|
||||||
var err error
|
var err error
|
||||||
switch cc := cmd.Command.(type) {
|
switch cc := cmd.Command.(type) {
|
||||||
case *pb.Command_LiveCommand:
|
case *pb.Command_LiveCommand:
|
||||||
|
@ -77,8 +95,8 @@ func (c *client) Talkgroup(ctx context.Context, tg *pb.Talkgroup) error {
|
||||||
SystemName: tgi.SystemName,
|
SystemName: tgi.SystemName,
|
||||||
}
|
}
|
||||||
|
|
||||||
c.Send(&pb.Message{
|
c.Send(&pb.Response{
|
||||||
ToClientMessage: &pb.Message_TgInfo{
|
CommandResponse: &pb.Response_TgInfo{
|
||||||
TgInfo: resp,
|
TgInfo: resp,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
|
@ -7,7 +7,6 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"dynatron.me/x/stillbox/pkg/gordio/database"
|
"dynatron.me/x/stillbox/pkg/gordio/database"
|
||||||
"dynatron.me/x/stillbox/pkg/pb"
|
|
||||||
|
|
||||||
"github.com/go-chi/chi/v5"
|
"github.com/go-chi/chi/v5"
|
||||||
"github.com/gorilla/websocket"
|
"github.com/gorilla/websocket"
|
||||||
|
@ -38,10 +37,10 @@ func newWsManager(r Registry) *wsManager {
|
||||||
type wsConn struct {
|
type wsConn struct {
|
||||||
*websocket.Conn
|
*websocket.Conn
|
||||||
|
|
||||||
out chan *pb.Message
|
out chan ToClient
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *wsConn) Send(msg *pb.Message) (closed bool) {
|
func (w *wsConn) Send(msg ToClient) (closed bool) {
|
||||||
select {
|
select {
|
||||||
case w.out <- msg:
|
case w.out <- msg:
|
||||||
default:
|
default:
|
||||||
|
@ -56,7 +55,7 @@ func (w *wsConn) Send(msg *pb.Message) (closed bool) {
|
||||||
func newWsConn(c *websocket.Conn) *wsConn {
|
func newWsConn(c *websocket.Conn) *wsConn {
|
||||||
wc := &wsConn{
|
wc := &wsConn{
|
||||||
Conn: c,
|
Conn: c,
|
||||||
out: make(chan *pb.Message, qSize),
|
out: make(chan ToClient, qSize),
|
||||||
}
|
}
|
||||||
|
|
||||||
return wc
|
return wc
|
||||||
|
@ -149,7 +148,7 @@ func (conn *wsConn) writePump() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
conn.writeMessage(w, msg)
|
conn.writeToClient(w, msg)
|
||||||
|
|
||||||
if err := w.Close(); err != nil {
|
if err := w.Close(); err != nil {
|
||||||
log.Debug().Err(err).Str("conn", conn.RemoteAddr().String()).Msg("close error")
|
log.Debug().Err(err).Str("conn", conn.RemoteAddr().String()).Msg("close error")
|
||||||
|
@ -168,8 +167,8 @@ func (conn *wsConn) writePump() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (conn *wsConn) writeMessage(w io.WriteCloser, msg *pb.Message) {
|
func (conn *wsConn) writeToClient(w io.WriteCloser, msg ToClient) {
|
||||||
packWrite := func(msg *pb.Message) {
|
packWrite := func(msg ToClient) {
|
||||||
packed, err := proto.Marshal(msg)
|
packed, err := proto.Marshal(msg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error().Err(err).Msg("pack message")
|
log.Error().Err(err).Msg("pack message")
|
||||||
|
|
|
@ -79,7 +79,6 @@ type Message struct {
|
||||||
// Types that are assignable to ToClientMessage:
|
// Types that are assignable to ToClientMessage:
|
||||||
//
|
//
|
||||||
// *Message_Call
|
// *Message_Call
|
||||||
// *Message_TgInfo
|
|
||||||
// *Message_Notification
|
// *Message_Notification
|
||||||
// *Message_Popup
|
// *Message_Popup
|
||||||
// *Message_Error
|
// *Message_Error
|
||||||
|
@ -133,13 +132,6 @@ func (x *Message) GetCall() *Call {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *Message) GetTgInfo() *TalkgroupInfo {
|
|
||||||
if x, ok := x.GetToClientMessage().(*Message_TgInfo); ok {
|
|
||||||
return x.TgInfo
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *Message) GetNotification() *Notification {
|
func (x *Message) GetNotification() *Notification {
|
||||||
if x, ok := x.GetToClientMessage().(*Message_Notification); ok {
|
if x, ok := x.GetToClientMessage().(*Message_Notification); ok {
|
||||||
return x.Notification
|
return x.Notification
|
||||||
|
@ -176,30 +168,24 @@ type Message_Call struct {
|
||||||
Call *Call `protobuf:"bytes,1,opt,name=call,proto3,oneof"`
|
Call *Call `protobuf:"bytes,1,opt,name=call,proto3,oneof"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type Message_TgInfo struct {
|
|
||||||
TgInfo *TalkgroupInfo `protobuf:"bytes,2,opt,name=tg_info,json=tgInfo,proto3,oneof"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type Message_Notification struct {
|
type Message_Notification struct {
|
||||||
Notification *Notification `protobuf:"bytes,3,opt,name=notification,proto3,oneof"`
|
Notification *Notification `protobuf:"bytes,2,opt,name=notification,proto3,oneof"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type Message_Popup struct {
|
type Message_Popup struct {
|
||||||
Popup *UserPopup `protobuf:"bytes,4,opt,name=popup,proto3,oneof"`
|
Popup *UserPopup `protobuf:"bytes,3,opt,name=popup,proto3,oneof"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type Message_Error struct {
|
type Message_Error struct {
|
||||||
Error *Error `protobuf:"bytes,5,opt,name=error,proto3,oneof"`
|
Error *Error `protobuf:"bytes,4,opt,name=error,proto3,oneof"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type Message_Hello struct {
|
type Message_Hello struct {
|
||||||
Hello *Hello `protobuf:"bytes,6,opt,name=hello,proto3,oneof"`
|
Hello *Hello `protobuf:"bytes,5,opt,name=hello,proto3,oneof"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (*Message_Call) isMessage_ToClientMessage() {}
|
func (*Message_Call) isMessage_ToClientMessage() {}
|
||||||
|
|
||||||
func (*Message_TgInfo) isMessage_ToClientMessage() {}
|
|
||||||
|
|
||||||
func (*Message_Notification) isMessage_ToClientMessage() {}
|
func (*Message_Notification) isMessage_ToClientMessage() {}
|
||||||
|
|
||||||
func (*Message_Popup) isMessage_ToClientMessage() {}
|
func (*Message_Popup) isMessage_ToClientMessage() {}
|
||||||
|
@ -208,6 +194,81 @@ func (*Message_Error) isMessage_ToClientMessage() {}
|
||||||
|
|
||||||
func (*Message_Hello) isMessage_ToClientMessage() {}
|
func (*Message_Hello) isMessage_ToClientMessage() {}
|
||||||
|
|
||||||
|
type Response struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
CommandId *int64 `protobuf:"varint,1,opt,name=command_id,json=commandId,proto3,oneof" json:"command_id,omitempty"`
|
||||||
|
// Types that are assignable to CommandResponse:
|
||||||
|
//
|
||||||
|
// *Response_TgInfo
|
||||||
|
CommandResponse isResponse_CommandResponse `protobuf_oneof:"command_response"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Response) Reset() {
|
||||||
|
*x = Response{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_stillbox_proto_msgTypes[1]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Response) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Response) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Response) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_stillbox_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 Response.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Response) Descriptor() ([]byte, []int) {
|
||||||
|
return file_stillbox_proto_rawDescGZIP(), []int{1}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Response) GetCommandId() int64 {
|
||||||
|
if x != nil && x.CommandId != nil {
|
||||||
|
return *x.CommandId
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Response) GetCommandResponse() isResponse_CommandResponse {
|
||||||
|
if m != nil {
|
||||||
|
return m.CommandResponse
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Response) GetTgInfo() *TalkgroupInfo {
|
||||||
|
if x, ok := x.GetCommandResponse().(*Response_TgInfo); ok {
|
||||||
|
return x.TgInfo
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
type isResponse_CommandResponse interface {
|
||||||
|
isResponse_CommandResponse()
|
||||||
|
}
|
||||||
|
|
||||||
|
type Response_TgInfo struct {
|
||||||
|
TgInfo *TalkgroupInfo `protobuf:"bytes,2,opt,name=tg_info,json=tgInfo,proto3,oneof"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Response_TgInfo) isResponse_CommandResponse() {}
|
||||||
|
|
||||||
type Call struct {
|
type Call struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
|
@ -230,7 +291,7 @@ type Call struct {
|
||||||
func (x *Call) Reset() {
|
func (x *Call) Reset() {
|
||||||
*x = Call{}
|
*x = Call{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_stillbox_proto_msgTypes[1]
|
mi := &file_stillbox_proto_msgTypes[2]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
|
@ -243,7 +304,7 @@ func (x *Call) String() string {
|
||||||
func (*Call) ProtoMessage() {}
|
func (*Call) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *Call) ProtoReflect() protoreflect.Message {
|
func (x *Call) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_stillbox_proto_msgTypes[1]
|
mi := &file_stillbox_proto_msgTypes[2]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
@ -256,7 +317,7 @@ func (x *Call) ProtoReflect() protoreflect.Message {
|
||||||
|
|
||||||
// Deprecated: Use Call.ProtoReflect.Descriptor instead.
|
// Deprecated: Use Call.ProtoReflect.Descriptor instead.
|
||||||
func (*Call) Descriptor() ([]byte, []int) {
|
func (*Call) Descriptor() ([]byte, []int) {
|
||||||
return file_stillbox_proto_rawDescGZIP(), []int{1}
|
return file_stillbox_proto_rawDescGZIP(), []int{2}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *Call) GetAudioName() string {
|
func (x *Call) GetAudioName() string {
|
||||||
|
@ -354,7 +415,7 @@ type Hello struct {
|
||||||
func (x *Hello) Reset() {
|
func (x *Hello) Reset() {
|
||||||
*x = Hello{}
|
*x = Hello{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_stillbox_proto_msgTypes[2]
|
mi := &file_stillbox_proto_msgTypes[3]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
|
@ -367,7 +428,7 @@ func (x *Hello) String() string {
|
||||||
func (*Hello) ProtoMessage() {}
|
func (*Hello) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *Hello) ProtoReflect() protoreflect.Message {
|
func (x *Hello) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_stillbox_proto_msgTypes[2]
|
mi := &file_stillbox_proto_msgTypes[3]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
@ -380,7 +441,7 @@ func (x *Hello) ProtoReflect() protoreflect.Message {
|
||||||
|
|
||||||
// Deprecated: Use Hello.ProtoReflect.Descriptor instead.
|
// Deprecated: Use Hello.ProtoReflect.Descriptor instead.
|
||||||
func (*Hello) Descriptor() ([]byte, []int) {
|
func (*Hello) Descriptor() ([]byte, []int) {
|
||||||
return file_stillbox_proto_rawDescGZIP(), []int{2}
|
return file_stillbox_proto_rawDescGZIP(), []int{3}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *Hello) GetVersion() *Version {
|
func (x *Hello) GetVersion() *Version {
|
||||||
|
@ -401,7 +462,7 @@ type UserPopup struct {
|
||||||
func (x *UserPopup) Reset() {
|
func (x *UserPopup) Reset() {
|
||||||
*x = UserPopup{}
|
*x = UserPopup{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_stillbox_proto_msgTypes[3]
|
mi := &file_stillbox_proto_msgTypes[4]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
|
@ -414,7 +475,7 @@ func (x *UserPopup) String() string {
|
||||||
func (*UserPopup) ProtoMessage() {}
|
func (*UserPopup) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *UserPopup) ProtoReflect() protoreflect.Message {
|
func (x *UserPopup) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_stillbox_proto_msgTypes[3]
|
mi := &file_stillbox_proto_msgTypes[4]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
@ -427,7 +488,7 @@ func (x *UserPopup) ProtoReflect() protoreflect.Message {
|
||||||
|
|
||||||
// Deprecated: Use UserPopup.ProtoReflect.Descriptor instead.
|
// Deprecated: Use UserPopup.ProtoReflect.Descriptor instead.
|
||||||
func (*UserPopup) Descriptor() ([]byte, []int) {
|
func (*UserPopup) Descriptor() ([]byte, []int) {
|
||||||
return file_stillbox_proto_rawDescGZIP(), []int{3}
|
return file_stillbox_proto_rawDescGZIP(), []int{4}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *UserPopup) GetMsg() string {
|
func (x *UserPopup) GetMsg() string {
|
||||||
|
@ -449,7 +510,7 @@ type Error struct {
|
||||||
func (x *Error) Reset() {
|
func (x *Error) Reset() {
|
||||||
*x = Error{}
|
*x = Error{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_stillbox_proto_msgTypes[4]
|
mi := &file_stillbox_proto_msgTypes[5]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
|
@ -462,7 +523,7 @@ func (x *Error) String() string {
|
||||||
func (*Error) ProtoMessage() {}
|
func (*Error) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *Error) ProtoReflect() protoreflect.Message {
|
func (x *Error) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_stillbox_proto_msgTypes[4]
|
mi := &file_stillbox_proto_msgTypes[5]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
@ -475,7 +536,7 @@ func (x *Error) ProtoReflect() protoreflect.Message {
|
||||||
|
|
||||||
// Deprecated: Use Error.ProtoReflect.Descriptor instead.
|
// Deprecated: Use Error.ProtoReflect.Descriptor instead.
|
||||||
func (*Error) Descriptor() ([]byte, []int) {
|
func (*Error) Descriptor() ([]byte, []int) {
|
||||||
return file_stillbox_proto_rawDescGZIP(), []int{4}
|
return file_stillbox_proto_rawDescGZIP(), []int{5}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *Error) GetError() string {
|
func (x *Error) GetError() string {
|
||||||
|
@ -505,7 +566,7 @@ type Notification struct {
|
||||||
func (x *Notification) Reset() {
|
func (x *Notification) Reset() {
|
||||||
*x = Notification{}
|
*x = Notification{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_stillbox_proto_msgTypes[5]
|
mi := &file_stillbox_proto_msgTypes[6]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
|
@ -518,7 +579,7 @@ func (x *Notification) String() string {
|
||||||
func (*Notification) ProtoMessage() {}
|
func (*Notification) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *Notification) ProtoReflect() protoreflect.Message {
|
func (x *Notification) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_stillbox_proto_msgTypes[5]
|
mi := &file_stillbox_proto_msgTypes[6]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
@ -531,7 +592,7 @@ func (x *Notification) ProtoReflect() protoreflect.Message {
|
||||||
|
|
||||||
// Deprecated: Use Notification.ProtoReflect.Descriptor instead.
|
// Deprecated: Use Notification.ProtoReflect.Descriptor instead.
|
||||||
func (*Notification) Descriptor() ([]byte, []int) {
|
func (*Notification) Descriptor() ([]byte, []int) {
|
||||||
return file_stillbox_proto_rawDescGZIP(), []int{5}
|
return file_stillbox_proto_rawDescGZIP(), []int{6}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *Notification) GetDateTime() *timestamppb.Timestamp {
|
func (x *Notification) GetDateTime() *timestamppb.Timestamp {
|
||||||
|
@ -560,6 +621,7 @@ type Command struct {
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
CommandId *int64 `protobuf:"varint,1,opt,name=command_id,json=commandId,proto3,oneof" json:"command_id,omitempty"`
|
||||||
// Types that are assignable to Command:
|
// Types that are assignable to Command:
|
||||||
//
|
//
|
||||||
// *Command_LiveCommand
|
// *Command_LiveCommand
|
||||||
|
@ -571,7 +633,7 @@ type Command struct {
|
||||||
func (x *Command) Reset() {
|
func (x *Command) Reset() {
|
||||||
*x = Command{}
|
*x = Command{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_stillbox_proto_msgTypes[6]
|
mi := &file_stillbox_proto_msgTypes[7]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
|
@ -584,7 +646,7 @@ func (x *Command) String() string {
|
||||||
func (*Command) ProtoMessage() {}
|
func (*Command) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *Command) ProtoReflect() protoreflect.Message {
|
func (x *Command) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_stillbox_proto_msgTypes[6]
|
mi := &file_stillbox_proto_msgTypes[7]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
@ -597,7 +659,14 @@ func (x *Command) ProtoReflect() protoreflect.Message {
|
||||||
|
|
||||||
// Deprecated: Use Command.ProtoReflect.Descriptor instead.
|
// Deprecated: Use Command.ProtoReflect.Descriptor instead.
|
||||||
func (*Command) Descriptor() ([]byte, []int) {
|
func (*Command) Descriptor() ([]byte, []int) {
|
||||||
return file_stillbox_proto_rawDescGZIP(), []int{6}
|
return file_stillbox_proto_rawDescGZIP(), []int{7}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Command) GetCommandId() int64 {
|
||||||
|
if x != nil && x.CommandId != nil {
|
||||||
|
return *x.CommandId
|
||||||
|
}
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Command) GetCommand() isCommand_Command {
|
func (m *Command) GetCommand() isCommand_Command {
|
||||||
|
@ -633,15 +702,15 @@ type isCommand_Command interface {
|
||||||
}
|
}
|
||||||
|
|
||||||
type Command_LiveCommand struct {
|
type Command_LiveCommand struct {
|
||||||
LiveCommand *Live `protobuf:"bytes,1,opt,name=live_command,json=liveCommand,proto3,oneof"`
|
LiveCommand *Live `protobuf:"bytes,2,opt,name=live_command,json=liveCommand,proto3,oneof"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type Command_SearchCommand struct {
|
type Command_SearchCommand struct {
|
||||||
SearchCommand *Search `protobuf:"bytes,2,opt,name=search_command,json=searchCommand,proto3,oneof"`
|
SearchCommand *Search `protobuf:"bytes,3,opt,name=search_command,json=searchCommand,proto3,oneof"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type Command_TgCommand struct {
|
type Command_TgCommand struct {
|
||||||
TgCommand *Talkgroup `protobuf:"bytes,3,opt,name=tg_command,json=tgCommand,proto3,oneof"`
|
TgCommand *Talkgroup `protobuf:"bytes,4,opt,name=tg_command,json=tgCommand,proto3,oneof"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (*Command_LiveCommand) isCommand_Command() {}
|
func (*Command_LiveCommand) isCommand_Command() {}
|
||||||
|
@ -669,7 +738,7 @@ type TalkgroupInfo struct {
|
||||||
func (x *TalkgroupInfo) Reset() {
|
func (x *TalkgroupInfo) Reset() {
|
||||||
*x = TalkgroupInfo{}
|
*x = TalkgroupInfo{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_stillbox_proto_msgTypes[7]
|
mi := &file_stillbox_proto_msgTypes[8]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
|
@ -682,7 +751,7 @@ func (x *TalkgroupInfo) String() string {
|
||||||
func (*TalkgroupInfo) ProtoMessage() {}
|
func (*TalkgroupInfo) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *TalkgroupInfo) ProtoReflect() protoreflect.Message {
|
func (x *TalkgroupInfo) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_stillbox_proto_msgTypes[7]
|
mi := &file_stillbox_proto_msgTypes[8]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
@ -695,7 +764,7 @@ func (x *TalkgroupInfo) ProtoReflect() protoreflect.Message {
|
||||||
|
|
||||||
// Deprecated: Use TalkgroupInfo.ProtoReflect.Descriptor instead.
|
// Deprecated: Use TalkgroupInfo.ProtoReflect.Descriptor instead.
|
||||||
func (*TalkgroupInfo) Descriptor() ([]byte, []int) {
|
func (*TalkgroupInfo) Descriptor() ([]byte, []int) {
|
||||||
return file_stillbox_proto_rawDescGZIP(), []int{7}
|
return file_stillbox_proto_rawDescGZIP(), []int{8}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *TalkgroupInfo) GetTg() *Talkgroup {
|
func (x *TalkgroupInfo) GetTg() *Talkgroup {
|
||||||
|
@ -773,7 +842,7 @@ type Live struct {
|
||||||
func (x *Live) Reset() {
|
func (x *Live) Reset() {
|
||||||
*x = Live{}
|
*x = Live{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_stillbox_proto_msgTypes[8]
|
mi := &file_stillbox_proto_msgTypes[9]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
|
@ -786,7 +855,7 @@ func (x *Live) String() string {
|
||||||
func (*Live) ProtoMessage() {}
|
func (*Live) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *Live) ProtoReflect() protoreflect.Message {
|
func (x *Live) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_stillbox_proto_msgTypes[8]
|
mi := &file_stillbox_proto_msgTypes[9]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
@ -799,7 +868,7 @@ func (x *Live) ProtoReflect() protoreflect.Message {
|
||||||
|
|
||||||
// Deprecated: Use Live.ProtoReflect.Descriptor instead.
|
// Deprecated: Use Live.ProtoReflect.Descriptor instead.
|
||||||
func (*Live) Descriptor() ([]byte, []int) {
|
func (*Live) Descriptor() ([]byte, []int) {
|
||||||
return file_stillbox_proto_rawDescGZIP(), []int{8}
|
return file_stillbox_proto_rawDescGZIP(), []int{9}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *Live) GetState() LiveState {
|
func (x *Live) GetState() LiveState {
|
||||||
|
@ -828,7 +897,7 @@ type Talkgroup struct {
|
||||||
func (x *Talkgroup) Reset() {
|
func (x *Talkgroup) Reset() {
|
||||||
*x = Talkgroup{}
|
*x = Talkgroup{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_stillbox_proto_msgTypes[9]
|
mi := &file_stillbox_proto_msgTypes[10]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
|
@ -841,7 +910,7 @@ func (x *Talkgroup) String() string {
|
||||||
func (*Talkgroup) ProtoMessage() {}
|
func (*Talkgroup) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *Talkgroup) ProtoReflect() protoreflect.Message {
|
func (x *Talkgroup) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_stillbox_proto_msgTypes[9]
|
mi := &file_stillbox_proto_msgTypes[10]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
@ -854,7 +923,7 @@ func (x *Talkgroup) ProtoReflect() protoreflect.Message {
|
||||||
|
|
||||||
// Deprecated: Use Talkgroup.ProtoReflect.Descriptor instead.
|
// Deprecated: Use Talkgroup.ProtoReflect.Descriptor instead.
|
||||||
func (*Talkgroup) Descriptor() ([]byte, []int) {
|
func (*Talkgroup) Descriptor() ([]byte, []int) {
|
||||||
return file_stillbox_proto_rawDescGZIP(), []int{9}
|
return file_stillbox_proto_rawDescGZIP(), []int{10}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *Talkgroup) GetSystem() int32 {
|
func (x *Talkgroup) GetSystem() int32 {
|
||||||
|
@ -886,7 +955,7 @@ type Filter struct {
|
||||||
func (x *Filter) Reset() {
|
func (x *Filter) Reset() {
|
||||||
*x = Filter{}
|
*x = Filter{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_stillbox_proto_msgTypes[10]
|
mi := &file_stillbox_proto_msgTypes[11]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
|
@ -899,7 +968,7 @@ func (x *Filter) String() string {
|
||||||
func (*Filter) ProtoMessage() {}
|
func (*Filter) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *Filter) ProtoReflect() protoreflect.Message {
|
func (x *Filter) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_stillbox_proto_msgTypes[10]
|
mi := &file_stillbox_proto_msgTypes[11]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
@ -912,7 +981,7 @@ func (x *Filter) ProtoReflect() protoreflect.Message {
|
||||||
|
|
||||||
// Deprecated: Use Filter.ProtoReflect.Descriptor instead.
|
// Deprecated: Use Filter.ProtoReflect.Descriptor instead.
|
||||||
func (*Filter) Descriptor() ([]byte, []int) {
|
func (*Filter) Descriptor() ([]byte, []int) {
|
||||||
return file_stillbox_proto_rawDescGZIP(), []int{10}
|
return file_stillbox_proto_rawDescGZIP(), []int{11}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *Filter) GetTalkgroups() []*Talkgroup {
|
func (x *Filter) GetTalkgroups() []*Talkgroup {
|
||||||
|
@ -959,7 +1028,7 @@ type Search struct {
|
||||||
func (x *Search) Reset() {
|
func (x *Search) Reset() {
|
||||||
*x = Search{}
|
*x = Search{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_stillbox_proto_msgTypes[11]
|
mi := &file_stillbox_proto_msgTypes[12]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
|
@ -972,7 +1041,7 @@ func (x *Search) String() string {
|
||||||
func (*Search) ProtoMessage() {}
|
func (*Search) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *Search) ProtoReflect() protoreflect.Message {
|
func (x *Search) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_stillbox_proto_msgTypes[11]
|
mi := &file_stillbox_proto_msgTypes[12]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
@ -985,7 +1054,7 @@ func (x *Search) ProtoReflect() protoreflect.Message {
|
||||||
|
|
||||||
// Deprecated: Use Search.ProtoReflect.Descriptor instead.
|
// Deprecated: Use Search.ProtoReflect.Descriptor instead.
|
||||||
func (*Search) Descriptor() ([]byte, []int) {
|
func (*Search) Descriptor() ([]byte, []int) {
|
||||||
return file_stillbox_proto_rawDescGZIP(), []int{11}
|
return file_stillbox_proto_rawDescGZIP(), []int{12}
|
||||||
}
|
}
|
||||||
|
|
||||||
type Version struct {
|
type Version struct {
|
||||||
|
@ -1002,7 +1071,7 @@ type Version struct {
|
||||||
func (x *Version) Reset() {
|
func (x *Version) Reset() {
|
||||||
*x = Version{}
|
*x = Version{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_stillbox_proto_msgTypes[12]
|
mi := &file_stillbox_proto_msgTypes[13]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
|
@ -1015,7 +1084,7 @@ func (x *Version) String() string {
|
||||||
func (*Version) ProtoMessage() {}
|
func (*Version) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *Version) ProtoReflect() protoreflect.Message {
|
func (x *Version) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_stillbox_proto_msgTypes[12]
|
mi := &file_stillbox_proto_msgTypes[13]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
@ -1028,7 +1097,7 @@ func (x *Version) ProtoReflect() protoreflect.Message {
|
||||||
|
|
||||||
// Deprecated: Use Version.ProtoReflect.Descriptor instead.
|
// Deprecated: Use Version.ProtoReflect.Descriptor instead.
|
||||||
func (*Version) Descriptor() ([]byte, []int) {
|
func (*Version) Descriptor() ([]byte, []int) {
|
||||||
return file_stillbox_proto_rawDescGZIP(), []int{12}
|
return file_stillbox_proto_rawDescGZIP(), []int{13}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *Version) GetServerName() string {
|
func (x *Version) GetServerName() string {
|
||||||
|
@ -1067,145 +1136,153 @@ var file_stillbox_proto_rawDesc = []byte{
|
||||||
0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65,
|
0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65,
|
||||||
0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f,
|
0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f,
|
||||||
0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72,
|
0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72,
|
||||||
0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb4, 0x02, 0x0a, 0x07, 0x4d, 0x65,
|
0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x80, 0x02, 0x0a, 0x07, 0x4d, 0x65,
|
||||||
0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x04, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20,
|
0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x04, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20,
|
||||||
0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x62, 0x6f, 0x78, 0x2e, 0x43,
|
0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x62, 0x6f, 0x78, 0x2e, 0x43,
|
||||||
0x61, 0x6c, 0x6c, 0x48, 0x00, 0x52, 0x04, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x32, 0x0a, 0x07, 0x74,
|
0x61, 0x6c, 0x6c, 0x48, 0x00, 0x52, 0x04, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x3c, 0x0a, 0x0c, 0x6e,
|
||||||
0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73,
|
0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||||
0x74, 0x69, 0x6c, 0x6c, 0x62, 0x6f, 0x78, 0x2e, 0x54, 0x61, 0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75,
|
0x0b, 0x32, 0x16, 0x2e, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x62, 0x6f, 0x78, 0x2e, 0x4e, 0x6f, 0x74,
|
||||||
0x70, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x06, 0x74, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12,
|
0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x6e, 0x6f, 0x74,
|
||||||
0x3c, 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
|
0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x05, 0x70, 0x6f, 0x70,
|
||||||
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x62, 0x6f, 0x78,
|
0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x74, 0x69, 0x6c, 0x6c,
|
||||||
0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52,
|
0x62, 0x6f, 0x78, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x48, 0x00, 0x52,
|
||||||
0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a,
|
0x05, 0x70, 0x6f, 0x70, 0x75, 0x70, 0x12, 0x27, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18,
|
||||||
0x05, 0x70, 0x6f, 0x70, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73,
|
0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x62, 0x6f, 0x78,
|
||||||
0x74, 0x69, 0x6c, 0x6c, 0x62, 0x6f, 0x78, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6f, 0x70, 0x75,
|
0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12,
|
||||||
0x70, 0x48, 0x00, 0x52, 0x05, 0x70, 0x6f, 0x70, 0x75, 0x70, 0x12, 0x27, 0x0a, 0x05, 0x65, 0x72,
|
0x27, 0x0a, 0x05, 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f,
|
||||||
0x72, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x74, 0x69, 0x6c,
|
0x2e, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x62, 0x6f, 0x78, 0x2e, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x48,
|
||||||
0x6c, 0x62, 0x6f, 0x78, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72,
|
0x00, 0x52, 0x05, 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x42, 0x12, 0x0a, 0x10, 0x74, 0x6f, 0x43, 0x6c,
|
||||||
0x72, 0x6f, 0x72, 0x12, 0x27, 0x0a, 0x05, 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x18, 0x06, 0x20, 0x01,
|
0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x85, 0x01, 0x0a,
|
||||||
0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x62, 0x6f, 0x78, 0x2e, 0x48, 0x65,
|
0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x6f, 0x6d,
|
||||||
0x6c, 0x6c, 0x6f, 0x48, 0x00, 0x52, 0x05, 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x42, 0x12, 0x0a, 0x10,
|
0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52,
|
||||||
0x74, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
|
0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a,
|
||||||
0x22, 0x81, 0x03, 0x0a, 0x04, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x64,
|
0x07, 0x74, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
|
||||||
0x69, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75,
|
0x2e, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x62, 0x6f, 0x78, 0x2e, 0x54, 0x61, 0x6c, 0x6b, 0x67, 0x72,
|
||||||
0x64, 0x69, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x64, 0x69, 0x6f,
|
0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x06, 0x74, 0x67, 0x49, 0x6e, 0x66,
|
||||||
0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69,
|
0x6f, 0x42, 0x12, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x73,
|
||||||
0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69,
|
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e,
|
||||||
0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
0x64, 0x5f, 0x69, 0x64, 0x22, 0x81, 0x03, 0x0a, 0x04, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x1c, 0x0a,
|
||||||
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
|
0x09, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||||
0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16,
|
0x52, 0x09, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61,
|
||||||
0x0a, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
|
0x75, 0x64, 0x69, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
|
||||||
0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x61, 0x6c, 0x6b, 0x67, 0x72,
|
0x61, 0x75, 0x64, 0x69, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x09, 0x64, 0x61, 0x74,
|
||||||
0x6f, 0x75, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x61, 0x6c, 0x6b, 0x67,
|
0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
|
||||||
0x72, 0x6f, 0x75, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x06,
|
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
|
||||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09,
|
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69,
|
||||||
0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52,
|
0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x04, 0x20, 0x01,
|
||||||
0x09, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x72,
|
0x28, 0x05, 0x52, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x61,
|
||||||
0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x03, 0x52,
|
0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74,
|
||||||
0x0b, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07,
|
0x61, 0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72,
|
||||||
0x70, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x70,
|
0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
|
||||||
0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
|
0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x07, 0x20,
|
||||||
0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73,
|
0x01, 0x28, 0x03, 0x52, 0x09, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x20,
|
||||||
0x12, 0x1f, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01,
|
0x0a, 0x0b, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x08, 0x20,
|
||||||
0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01,
|
0x03, 0x28, 0x03, 0x52, 0x0b, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73,
|
||||||
0x01, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c,
|
0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28,
|
||||||
0x52, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x75, 0x72, 0x61,
|
0x05, 0x52, 0x07, 0x70, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6f,
|
||||||
0x74, 0x69, 0x6f, 0x6e, 0x22, 0x34, 0x0a, 0x05, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x12, 0x2b, 0x0a,
|
0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x73, 0x6f, 0x75,
|
||||||
0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11,
|
0x72, 0x63, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
||||||
0x2e, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x62, 0x6f, 0x78, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
|
0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69,
|
||||||
0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x1d, 0x0a, 0x09, 0x55, 0x73,
|
0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x0c,
|
||||||
0x65, 0x72, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01,
|
0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x42, 0x0b, 0x0a, 0x09, 0x5f,
|
||||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x4a, 0x0a, 0x05, 0x45, 0x72, 0x72,
|
0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x34, 0x0a, 0x05, 0x48, 0x65, 0x6c, 0x6c,
|
||||||
0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
|
0x6f, 0x12, 0x2b, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
|
||||||
0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2b, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d,
|
0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x62, 0x6f, 0x78, 0x2e, 0x56, 0x65,
|
||||||
0x61, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x74, 0x69, 0x6c,
|
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x1d,
|
||||||
0x6c, 0x62, 0x6f, 0x78, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x07, 0x63, 0x6f,
|
0x0a, 0x09, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d,
|
||||||
0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x22, 0x78, 0x0a, 0x0c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63,
|
0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x4a, 0x0a,
|
||||||
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69,
|
0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18,
|
||||||
0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2b, 0x0a, 0x07,
|
||||||
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
|
0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e,
|
||||||
0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x10,
|
0x73, 0x74, 0x69, 0x6c, 0x6c, 0x62, 0x6f, 0x78, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
|
||||||
0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67,
|
0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x22, 0x78, 0x0a, 0x0c, 0x4e, 0x6f, 0x74,
|
||||||
0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03,
|
0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x64, 0x61, 0x74,
|
||||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x22,
|
0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
|
||||||
0xba, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x33, 0x0a, 0x0c, 0x6c,
|
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
|
||||||
0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69,
|
||||||
0x0b, 0x32, 0x0e, 0x2e, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x62, 0x6f, 0x78, 0x2e, 0x4c, 0x69, 0x76,
|
0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||||
0x65, 0x48, 0x00, 0x52, 0x0b, 0x6c, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
|
0x03, 0x6d, 0x73, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75,
|
||||||
0x12, 0x39, 0x0a, 0x0e, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61,
|
0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
||||||
0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x74, 0x69, 0x6c, 0x6c,
|
0x55, 0x72, 0x6c, 0x22, 0xed, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12,
|
||||||
0x62, 0x6f, 0x78, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x65,
|
0x22, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
|
||||||
0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x34, 0x0a, 0x0a, 0x74,
|
0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x49, 0x64,
|
||||||
0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x0c, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d,
|
||||||
|
0x61, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x73, 0x74, 0x69, 0x6c,
|
||||||
|
0x6c, 0x62, 0x6f, 0x78, 0x2e, 0x4c, 0x69, 0x76, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x6c, 0x69, 0x76,
|
||||||
|
0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x39, 0x0a, 0x0e, 0x73, 0x65, 0x61, 0x72,
|
||||||
|
0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
|
||||||
|
0x32, 0x10, 0x2e, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x62, 0x6f, 0x78, 0x2e, 0x53, 0x65, 0x61, 0x72,
|
||||||
|
0x63, 0x68, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6d, 0x6d,
|
||||||
|
0x61, 0x6e, 0x64, 0x12, 0x34, 0x0a, 0x0a, 0x74, 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e,
|
||||||
|
0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x62,
|
||||||
|
0x6f, 0x78, 0x2e, 0x54, 0x61, 0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x00, 0x52, 0x09,
|
||||||
|
0x74, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6d,
|
||||||
|
0x6d, 0x61, 0x6e, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
|
||||||
|
0x5f, 0x69, 0x64, 0x22, 0xf2, 0x02, 0x0a, 0x0d, 0x54, 0x61, 0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75,
|
||||||
|
0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x02, 0x74, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||||
|
0x0b, 0x32, 0x13, 0x2e, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x62, 0x6f, 0x78, 0x2e, 0x54, 0x61, 0x6c,
|
||||||
|
0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x02, 0x74, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x79,
|
||||||
|
0x73, 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||||
|
0x0a, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e,
|
||||||
|
0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d,
|
||||||
|
0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x04, 0x20,
|
||||||
|
0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x88, 0x01, 0x01, 0x12,
|
||||||
|
0x20, 0x0a, 0x09, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01,
|
||||||
|
0x28, 0x09, 0x48, 0x02, 0x52, 0x08, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x54, 0x61, 0x67, 0x88, 0x01,
|
||||||
|
0x01, 0x12, 0x21, 0x0a, 0x09, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x06,
|
||||||
|
0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x09, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63,
|
||||||
|
0x79, 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03,
|
||||||
|
0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x38, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61,
|
||||||
|
0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f,
|
||||||
|
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72,
|
||||||
|
0x75, 0x63, 0x74, 0x48, 0x04, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88,
|
||||||
|
0x01, 0x01, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x18, 0x09, 0x20,
|
||||||
|
0x01, 0x28, 0x08, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x42, 0x07, 0x0a, 0x05,
|
||||||
|
0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42,
|
||||||
|
0x0c, 0x0a, 0x0a, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x5f, 0x74, 0x61, 0x67, 0x42, 0x0c, 0x0a,
|
||||||
|
0x0a, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f,
|
||||||
|
0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x7a, 0x0a, 0x04, 0x4c, 0x69, 0x76, 0x65,
|
||||||
|
0x12, 0x2e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
|
||||||
|
0x13, 0x2e, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x62, 0x6f, 0x78, 0x2e, 0x4c, 0x69, 0x76, 0x65, 0x53,
|
||||||
|
0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01,
|
||||||
|
0x12, 0x2d, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
|
||||||
|
0x32, 0x10, 0x2e, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x62, 0x6f, 0x78, 0x2e, 0x46, 0x69, 0x6c, 0x74,
|
||||||
|
0x65, 0x72, 0x48, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42,
|
||||||
|
0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69,
|
||||||
|
0x6c, 0x74, 0x65, 0x72, 0x22, 0x41, 0x0a, 0x09, 0x54, 0x61, 0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75,
|
||||||
|
0x70, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||||
|
0x05, 0x52, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x61, 0x6c,
|
||||||
|
0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x61,
|
||||||
|
0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x83, 0x02, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74,
|
||||||
|
0x65, 0x72, 0x12, 0x33, 0x0a, 0x0a, 0x74, 0x61, 0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73,
|
||||||
|
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x62, 0x6f,
|
||||||
|
0x78, 0x2e, 0x54, 0x61, 0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0a, 0x74, 0x61, 0x6c,
|
||||||
|
0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x3a, 0x0a, 0x0e, 0x74, 0x61, 0x6c, 0x6b, 0x67,
|
||||||
|
0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||||
0x13, 0x2e, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x62, 0x6f, 0x78, 0x2e, 0x54, 0x61, 0x6c, 0x6b, 0x67,
|
0x13, 0x2e, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x62, 0x6f, 0x78, 0x2e, 0x54, 0x61, 0x6c, 0x6b, 0x67,
|
||||||
0x72, 0x6f, 0x75, 0x70, 0x48, 0x00, 0x52, 0x09, 0x74, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e,
|
0x72, 0x6f, 0x75, 0x70, 0x52, 0x0d, 0x74, 0x61, 0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73,
|
||||||
0x64, 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x22, 0xf2, 0x02, 0x0a,
|
0x4e, 0x6f, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70,
|
||||||
0x0d, 0x54, 0x61, 0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23,
|
0x5f, 0x74, 0x61, 0x67, 0x73, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52,
|
||||||
0x0a, 0x02, 0x74, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x74, 0x69,
|
0x10, 0x74, 0x61, 0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x61, 0x67, 0x73, 0x41, 0x6c,
|
||||||
0x6c, 0x6c, 0x62, 0x6f, 0x78, 0x2e, 0x54, 0x61, 0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52,
|
0x6c, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x74,
|
||||||
0x02, 0x74, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x61,
|
0x61, 0x67, 0x73, 0x5f, 0x61, 0x6e, 0x79, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x74,
|
||||||
0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d,
|
0x61, 0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x61, 0x67, 0x73, 0x41, 0x6e, 0x79, 0x12,
|
||||||
0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01,
|
0x2c, 0x0a, 0x12, 0x74, 0x61, 0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x74, 0x61, 0x67,
|
||||||
0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a,
|
0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x74, 0x61, 0x6c,
|
||||||
0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05,
|
0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x61, 0x67, 0x73, 0x4e, 0x6f, 0x74, 0x22, 0x08, 0x0a,
|
||||||
0x67, 0x72, 0x6f, 0x75, 0x70, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x61, 0x6c, 0x70, 0x68,
|
0x06, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x22, 0x76, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69,
|
||||||
0x61, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x08, 0x61,
|
0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d,
|
||||||
0x6c, 0x70, 0x68, 0x61, 0x54, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x66, 0x72,
|
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e,
|
||||||
0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52,
|
0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02,
|
||||||
0x09, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a,
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a,
|
||||||
0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67,
|
0x05, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x75,
|
||||||
0x73, 0x12, 0x38, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20,
|
0x69, 0x6c, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18,
|
||||||
0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
|
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2a,
|
||||||
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x48, 0x04, 0x52, 0x08,
|
0x37, 0x0a, 0x09, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x0a,
|
||||||
0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x18, 0x0a, 0x07, 0x6c,
|
0x4c, 0x53, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07,
|
||||||
0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6c, 0x65,
|
0x4c, 0x53, 0x5f, 0x4c, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x53, 0x5f,
|
||||||
0x61, 0x72, 0x6e, 0x65, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x08,
|
0x50, 0x41, 0x55, 0x53, 0x45, 0x44, 0x10, 0x02, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62,
|
||||||
0x0a, 0x06, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x61, 0x6c, 0x70,
|
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
0x68, 0x61, 0x5f, 0x74, 0x61, 0x67, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75,
|
|
||||||
0x65, 0x6e, 0x63, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
|
|
||||||
0x61, 0x22, 0x7a, 0x0a, 0x04, 0x4c, 0x69, 0x76, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x73, 0x74, 0x61,
|
|
||||||
0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x73, 0x74, 0x69, 0x6c, 0x6c,
|
|
||||||
0x62, 0x6f, 0x78, 0x2e, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52,
|
|
||||||
0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x06, 0x66, 0x69, 0x6c,
|
|
||||||
0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x74, 0x69, 0x6c,
|
|
||||||
0x6c, 0x62, 0x6f, 0x78, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x01, 0x52, 0x06, 0x66,
|
|
||||||
0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61,
|
|
||||||
0x74, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x41, 0x0a,
|
|
||||||
0x09, 0x54, 0x61, 0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79,
|
|
||||||
0x73, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x79, 0x73, 0x74,
|
|
||||||
0x65, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x61, 0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18,
|
|
||||||
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x61, 0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70,
|
|
||||||
0x22, 0x83, 0x02, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x0a, 0x74,
|
|
||||||
0x61, 0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
|
||||||
0x13, 0x2e, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x62, 0x6f, 0x78, 0x2e, 0x54, 0x61, 0x6c, 0x6b, 0x67,
|
|
||||||
0x72, 0x6f, 0x75, 0x70, 0x52, 0x0a, 0x74, 0x61, 0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73,
|
|
||||||
0x12, 0x3a, 0x0a, 0x0e, 0x74, 0x61, 0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x6e,
|
|
||||||
0x6f, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x74, 0x69, 0x6c, 0x6c,
|
|
||||||
0x62, 0x6f, 0x78, 0x2e, 0x54, 0x61, 0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0d, 0x74,
|
|
||||||
0x61, 0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4e, 0x6f, 0x74, 0x12, 0x2c, 0x0a, 0x12,
|
|
||||||
0x74, 0x61, 0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x5f, 0x61,
|
|
||||||
0x6c, 0x6c, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x74, 0x61, 0x6c, 0x6b, 0x67, 0x72,
|
|
||||||
0x6f, 0x75, 0x70, 0x54, 0x61, 0x67, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61,
|
|
||||||
0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x5f, 0x61, 0x6e, 0x79,
|
|
||||||
0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x74, 0x61, 0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75,
|
|
||||||
0x70, 0x54, 0x61, 0x67, 0x73, 0x41, 0x6e, 0x79, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x6c, 0x6b,
|
|
||||||
0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x18, 0x05,
|
|
||||||
0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x74, 0x61, 0x6c, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x54,
|
|
||||||
0x61, 0x67, 0x73, 0x4e, 0x6f, 0x74, 0x22, 0x08, 0x0a, 0x06, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68,
|
|
||||||
0x22, 0x76, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x73,
|
|
||||||
0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
|
||||||
0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07,
|
|
||||||
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76,
|
|
||||||
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x18,
|
|
||||||
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x12, 0x1a, 0x0a, 0x08,
|
|
||||||
0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
|
|
||||||
0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2a, 0x37, 0x0a, 0x09, 0x4c, 0x69, 0x76, 0x65,
|
|
||||||
0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x4c, 0x53, 0x5f, 0x53, 0x54, 0x4f, 0x50,
|
|
||||||
0x50, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x4c, 0x53, 0x5f, 0x4c, 0x49, 0x56, 0x45,
|
|
||||||
0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x53, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x44, 0x10,
|
|
||||||
0x02, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
||||||
0x33,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -1221,45 +1298,46 @@ func file_stillbox_proto_rawDescGZIP() []byte {
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_stillbox_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
|
var file_stillbox_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
|
||||||
var file_stillbox_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
|
var file_stillbox_proto_msgTypes = make([]protoimpl.MessageInfo, 14)
|
||||||
var file_stillbox_proto_goTypes = []interface{}{
|
var file_stillbox_proto_goTypes = []interface{}{
|
||||||
(LiveState)(0), // 0: stillbox.LiveState
|
(LiveState)(0), // 0: stillbox.LiveState
|
||||||
(*Message)(nil), // 1: stillbox.Message
|
(*Message)(nil), // 1: stillbox.Message
|
||||||
(*Call)(nil), // 2: stillbox.Call
|
(*Response)(nil), // 2: stillbox.Response
|
||||||
(*Hello)(nil), // 3: stillbox.Hello
|
(*Call)(nil), // 3: stillbox.Call
|
||||||
(*UserPopup)(nil), // 4: stillbox.UserPopup
|
(*Hello)(nil), // 4: stillbox.Hello
|
||||||
(*Error)(nil), // 5: stillbox.Error
|
(*UserPopup)(nil), // 5: stillbox.UserPopup
|
||||||
(*Notification)(nil), // 6: stillbox.Notification
|
(*Error)(nil), // 6: stillbox.Error
|
||||||
(*Command)(nil), // 7: stillbox.Command
|
(*Notification)(nil), // 7: stillbox.Notification
|
||||||
(*TalkgroupInfo)(nil), // 8: stillbox.TalkgroupInfo
|
(*Command)(nil), // 8: stillbox.Command
|
||||||
(*Live)(nil), // 9: stillbox.Live
|
(*TalkgroupInfo)(nil), // 9: stillbox.TalkgroupInfo
|
||||||
(*Talkgroup)(nil), // 10: stillbox.Talkgroup
|
(*Live)(nil), // 10: stillbox.Live
|
||||||
(*Filter)(nil), // 11: stillbox.Filter
|
(*Talkgroup)(nil), // 11: stillbox.Talkgroup
|
||||||
(*Search)(nil), // 12: stillbox.Search
|
(*Filter)(nil), // 12: stillbox.Filter
|
||||||
(*Version)(nil), // 13: stillbox.Version
|
(*Search)(nil), // 13: stillbox.Search
|
||||||
(*timestamppb.Timestamp)(nil), // 14: google.protobuf.Timestamp
|
(*Version)(nil), // 14: stillbox.Version
|
||||||
(*structpb.Struct)(nil), // 15: google.protobuf.Struct
|
(*timestamppb.Timestamp)(nil), // 15: google.protobuf.Timestamp
|
||||||
|
(*structpb.Struct)(nil), // 16: google.protobuf.Struct
|
||||||
}
|
}
|
||||||
var file_stillbox_proto_depIdxs = []int32{
|
var file_stillbox_proto_depIdxs = []int32{
|
||||||
2, // 0: stillbox.Message.call:type_name -> stillbox.Call
|
3, // 0: stillbox.Message.call:type_name -> stillbox.Call
|
||||||
8, // 1: stillbox.Message.tg_info:type_name -> stillbox.TalkgroupInfo
|
7, // 1: stillbox.Message.notification:type_name -> stillbox.Notification
|
||||||
6, // 2: stillbox.Message.notification:type_name -> stillbox.Notification
|
5, // 2: stillbox.Message.popup:type_name -> stillbox.UserPopup
|
||||||
4, // 3: stillbox.Message.popup:type_name -> stillbox.UserPopup
|
6, // 3: stillbox.Message.error:type_name -> stillbox.Error
|
||||||
5, // 4: stillbox.Message.error:type_name -> stillbox.Error
|
4, // 4: stillbox.Message.hello:type_name -> stillbox.Hello
|
||||||
3, // 5: stillbox.Message.hello:type_name -> stillbox.Hello
|
9, // 5: stillbox.Response.tg_info:type_name -> stillbox.TalkgroupInfo
|
||||||
14, // 6: stillbox.Call.date_time:type_name -> google.protobuf.Timestamp
|
15, // 6: stillbox.Call.date_time:type_name -> google.protobuf.Timestamp
|
||||||
13, // 7: stillbox.Hello.version:type_name -> stillbox.Version
|
14, // 7: stillbox.Hello.version:type_name -> stillbox.Version
|
||||||
7, // 8: stillbox.Error.command:type_name -> stillbox.Command
|
8, // 8: stillbox.Error.command:type_name -> stillbox.Command
|
||||||
14, // 9: stillbox.Notification.date_time:type_name -> google.protobuf.Timestamp
|
15, // 9: stillbox.Notification.date_time:type_name -> google.protobuf.Timestamp
|
||||||
9, // 10: stillbox.Command.live_command:type_name -> stillbox.Live
|
10, // 10: stillbox.Command.live_command:type_name -> stillbox.Live
|
||||||
12, // 11: stillbox.Command.search_command:type_name -> stillbox.Search
|
13, // 11: stillbox.Command.search_command:type_name -> stillbox.Search
|
||||||
10, // 12: stillbox.Command.tg_command:type_name -> stillbox.Talkgroup
|
11, // 12: stillbox.Command.tg_command:type_name -> stillbox.Talkgroup
|
||||||
10, // 13: stillbox.TalkgroupInfo.tg:type_name -> stillbox.Talkgroup
|
11, // 13: stillbox.TalkgroupInfo.tg:type_name -> stillbox.Talkgroup
|
||||||
15, // 14: stillbox.TalkgroupInfo.metadata:type_name -> google.protobuf.Struct
|
16, // 14: stillbox.TalkgroupInfo.metadata:type_name -> google.protobuf.Struct
|
||||||
0, // 15: stillbox.Live.state:type_name -> stillbox.LiveState
|
0, // 15: stillbox.Live.state:type_name -> stillbox.LiveState
|
||||||
11, // 16: stillbox.Live.filter:type_name -> stillbox.Filter
|
12, // 16: stillbox.Live.filter:type_name -> stillbox.Filter
|
||||||
10, // 17: stillbox.Filter.talkgroups:type_name -> stillbox.Talkgroup
|
11, // 17: stillbox.Filter.talkgroups:type_name -> stillbox.Talkgroup
|
||||||
10, // 18: stillbox.Filter.talkgroups_not:type_name -> stillbox.Talkgroup
|
11, // 18: stillbox.Filter.talkgroups_not:type_name -> stillbox.Talkgroup
|
||||||
19, // [19:19] is the sub-list for method output_type
|
19, // [19:19] is the sub-list for method output_type
|
||||||
19, // [19:19] is the sub-list for method input_type
|
19, // [19:19] is the sub-list for method input_type
|
||||||
19, // [19:19] is the sub-list for extension type_name
|
19, // [19:19] is the sub-list for extension type_name
|
||||||
|
@ -1286,7 +1364,7 @@ func file_stillbox_proto_init() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_stillbox_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
file_stillbox_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*Call); i {
|
switch v := v.(*Response); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -1298,7 +1376,7 @@ func file_stillbox_proto_init() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_stillbox_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
file_stillbox_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*Hello); i {
|
switch v := v.(*Call); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -1310,7 +1388,7 @@ func file_stillbox_proto_init() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_stillbox_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
file_stillbox_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*UserPopup); i {
|
switch v := v.(*Hello); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -1322,7 +1400,7 @@ func file_stillbox_proto_init() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_stillbox_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
file_stillbox_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*Error); i {
|
switch v := v.(*UserPopup); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -1334,7 +1412,7 @@ func file_stillbox_proto_init() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_stillbox_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
file_stillbox_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*Notification); i {
|
switch v := v.(*Error); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -1346,7 +1424,7 @@ func file_stillbox_proto_init() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_stillbox_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
file_stillbox_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*Command); i {
|
switch v := v.(*Notification); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -1358,7 +1436,7 @@ func file_stillbox_proto_init() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_stillbox_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
file_stillbox_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*TalkgroupInfo); i {
|
switch v := v.(*Command); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -1370,7 +1448,7 @@ func file_stillbox_proto_init() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_stillbox_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
|
file_stillbox_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*Live); i {
|
switch v := v.(*TalkgroupInfo); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -1382,7 +1460,7 @@ func file_stillbox_proto_init() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_stillbox_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
|
file_stillbox_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*Talkgroup); i {
|
switch v := v.(*Live); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -1394,7 +1472,7 @@ func file_stillbox_proto_init() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_stillbox_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
|
file_stillbox_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*Filter); i {
|
switch v := v.(*Talkgroup); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -1406,7 +1484,7 @@ func file_stillbox_proto_init() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_stillbox_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
|
file_stillbox_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*Search); i {
|
switch v := v.(*Filter); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -1418,6 +1496,18 @@ func file_stillbox_proto_init() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_stillbox_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
|
file_stillbox_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Search); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_stillbox_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*Version); i {
|
switch v := v.(*Version); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
|
@ -1432,27 +1522,29 @@ func file_stillbox_proto_init() {
|
||||||
}
|
}
|
||||||
file_stillbox_proto_msgTypes[0].OneofWrappers = []interface{}{
|
file_stillbox_proto_msgTypes[0].OneofWrappers = []interface{}{
|
||||||
(*Message_Call)(nil),
|
(*Message_Call)(nil),
|
||||||
(*Message_TgInfo)(nil),
|
|
||||||
(*Message_Notification)(nil),
|
(*Message_Notification)(nil),
|
||||||
(*Message_Popup)(nil),
|
(*Message_Popup)(nil),
|
||||||
(*Message_Error)(nil),
|
(*Message_Error)(nil),
|
||||||
(*Message_Hello)(nil),
|
(*Message_Hello)(nil),
|
||||||
}
|
}
|
||||||
file_stillbox_proto_msgTypes[1].OneofWrappers = []interface{}{}
|
file_stillbox_proto_msgTypes[1].OneofWrappers = []interface{}{
|
||||||
file_stillbox_proto_msgTypes[6].OneofWrappers = []interface{}{
|
(*Response_TgInfo)(nil),
|
||||||
|
}
|
||||||
|
file_stillbox_proto_msgTypes[2].OneofWrappers = []interface{}{}
|
||||||
|
file_stillbox_proto_msgTypes[7].OneofWrappers = []interface{}{
|
||||||
(*Command_LiveCommand)(nil),
|
(*Command_LiveCommand)(nil),
|
||||||
(*Command_SearchCommand)(nil),
|
(*Command_SearchCommand)(nil),
|
||||||
(*Command_TgCommand)(nil),
|
(*Command_TgCommand)(nil),
|
||||||
}
|
}
|
||||||
file_stillbox_proto_msgTypes[7].OneofWrappers = []interface{}{}
|
|
||||||
file_stillbox_proto_msgTypes[8].OneofWrappers = []interface{}{}
|
file_stillbox_proto_msgTypes[8].OneofWrappers = []interface{}{}
|
||||||
|
file_stillbox_proto_msgTypes[9].OneofWrappers = []interface{}{}
|
||||||
type x struct{}
|
type x struct{}
|
||||||
out := protoimpl.TypeBuilder{
|
out := protoimpl.TypeBuilder{
|
||||||
File: protoimpl.DescBuilder{
|
File: protoimpl.DescBuilder{
|
||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: file_stillbox_proto_rawDesc,
|
RawDescriptor: file_stillbox_proto_rawDesc,
|
||||||
NumEnums: 1,
|
NumEnums: 1,
|
||||||
NumMessages: 13,
|
NumMessages: 14,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 0,
|
NumServices: 0,
|
||||||
},
|
},
|
||||||
|
|
|
@ -8,11 +8,17 @@ import "google/protobuf/struct.proto";
|
||||||
message Message {
|
message Message {
|
||||||
oneof toClient_message {
|
oneof toClient_message {
|
||||||
Call call = 1;
|
Call call = 1;
|
||||||
|
Notification notification = 2;
|
||||||
|
UserPopup popup = 3;
|
||||||
|
Error error = 4;
|
||||||
|
Hello hello = 5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
message Response {
|
||||||
|
optional int64 command_id = 1;
|
||||||
|
oneof command_response {
|
||||||
TalkgroupInfo tg_info = 2;
|
TalkgroupInfo tg_info = 2;
|
||||||
Notification notification = 3;
|
|
||||||
UserPopup popup = 4;
|
|
||||||
Error error = 5;
|
|
||||||
Hello hello = 6;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,10 +57,11 @@ message Notification {
|
||||||
}
|
}
|
||||||
|
|
||||||
message Command {
|
message Command {
|
||||||
|
optional int64 command_id = 1;
|
||||||
oneof command {
|
oneof command {
|
||||||
Live live_command = 1;
|
Live live_command = 2;
|
||||||
Search search_command = 2;
|
Search search_command = 3;
|
||||||
Talkgroup tg_command = 3;
|
Talkgroup tg_command = 4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue