diff --git a/lib/controller/stillbox.dart b/lib/controller/stillbox.dart index 20afb02..7067483 100644 --- a/lib/controller/stillbox.dart +++ b/lib/controller/stillbox.dart @@ -14,6 +14,7 @@ class Stillbox extends ChangeNotifier { final storage = Storer(); final channel = Socketer(); late TalkgroupCache tgCache; + late Version version; bool connected = false; late Uri _wsUri; LiveState _state = LiveState.LS_LIVE; @@ -132,6 +133,8 @@ class Stillbox extends ChangeNotifier { case Message_ToClientMessage.error: case Message_ToClientMessage.tgInfo: tgCache.handleTgInfo(msg.tgInfo); + case Message_ToClientMessage.hello: + version = msg.hello.version; default: } } diff --git a/lib/pb/stillbox.pb.dart b/lib/pb/stillbox.pb.dart index 3311a72..8fc3dcc 100644 --- a/lib/pb/stillbox.pb.dart +++ b/lib/pb/stillbox.pb.dart @@ -26,6 +26,7 @@ enum Message_ToClientMessage { notification, popup, error, + hello, notSet } @@ -36,6 +37,7 @@ class Message extends $pb.GeneratedMessage { Notification? notification, UserPopup? popup, Error? error, + Hello? hello, }) { final $result = create(); if (call != null) { @@ -53,6 +55,9 @@ class Message extends $pb.GeneratedMessage { if (error != null) { $result.error = error; } + if (hello != null) { + $result.hello = hello; + } return $result; } Message._() : super(); @@ -65,15 +70,17 @@ class Message extends $pb.GeneratedMessage { 3 : Message_ToClientMessage.notification, 4 : Message_ToClientMessage.popup, 5 : Message_ToClientMessage.error, + 6 : Message_ToClientMessage.hello, 0 : Message_ToClientMessage.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Message', package: const $pb.PackageName(_omitMessageNames ? '' : 'stillbox'), createEmptyInstance: create) - ..oo(0, [1, 2, 3, 4, 5]) + ..oo(0, [1, 2, 3, 4, 5, 6]) ..aOM(1, _omitFieldNames ? '' : 'call', subBuilder: Call.create) - ..aOM(2, _omitFieldNames ? '' : 'tgInfo', protoName: 'tgInfo', subBuilder: TalkgroupInfo.create) + ..aOM(2, _omitFieldNames ? '' : 'tgInfo', subBuilder: TalkgroupInfo.create) ..aOM(3, _omitFieldNames ? '' : 'notification', subBuilder: Notification.create) ..aOM(4, _omitFieldNames ? '' : 'popup', subBuilder: UserPopup.create) ..aOM(5, _omitFieldNames ? '' : 'error', subBuilder: Error.create) + ..aOM(6, _omitFieldNames ? '' : 'hello', subBuilder: Hello.create) ..hasRequiredFields = false ; @@ -155,6 +162,17 @@ class Message extends $pb.GeneratedMessage { void clearError() => clearField(5); @$pb.TagNumber(5) Error ensureError() => $_ensure(4); + + @$pb.TagNumber(6) + Hello get hello => $_getN(5); + @$pb.TagNumber(6) + set hello(Hello v) { setField(6, v); } + @$pb.TagNumber(6) + $core.bool hasHello() => $_has(5); + @$pb.TagNumber(6) + void clearHello() => clearField(6); + @$pb.TagNumber(6) + Hello ensureHello() => $_ensure(5); } class Call extends $pb.GeneratedMessage { @@ -218,7 +236,7 @@ class Call extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Call', package: const $pb.PackageName(_omitMessageNames ? '' : 'stillbox'), createEmptyInstance: create) ..aOS(1, _omitFieldNames ? '' : 'audioName', protoName: 'audioName') ..aOS(2, _omitFieldNames ? '' : 'audioType', protoName: 'audioType') - ..aOM<$0.Timestamp>(3, _omitFieldNames ? '' : 'dateTime', protoName: 'dateTime', subBuilder: $0.Timestamp.create) + ..aOM<$0.Timestamp>(3, _omitFieldNames ? '' : 'dateTime', subBuilder: $0.Timestamp.create) ..a<$core.int>(4, _omitFieldNames ? '' : 'system', $pb.PbFieldType.O3) ..a<$core.int>(5, _omitFieldNames ? '' : 'talkgroup', $pb.PbFieldType.O3) ..a<$core.int>(6, _omitFieldNames ? '' : 'source', $pb.PbFieldType.O3) @@ -345,6 +363,58 @@ class Call extends $pb.GeneratedMessage { void clearAudio() => clearField(12); } +class Hello extends $pb.GeneratedMessage { + factory Hello({ + Version? version, + }) { + final $result = create(); + if (version != null) { + $result.version = version; + } + return $result; + } + Hello._() : super(); + factory Hello.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory Hello.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Hello', package: const $pb.PackageName(_omitMessageNames ? '' : 'stillbox'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'version', subBuilder: Version.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Hello clone() => Hello()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Hello copyWith(void Function(Hello) updates) => super.copyWith((message) => updates(message as Hello)) as Hello; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Hello create() => Hello._(); + Hello createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Hello getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Hello? _defaultInstance; + + @$pb.TagNumber(1) + Version get version => $_getN(0); + @$pb.TagNumber(1) + set version(Version v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasVersion() => $_has(0); + @$pb.TagNumber(1) + void clearVersion() => clearField(1); + @$pb.TagNumber(1) + Version ensureVersion() => $_ensure(0); +} + class UserPopup extends $pb.GeneratedMessage { factory UserPopup({ $core.String? msg, @@ -484,9 +554,9 @@ class Notification extends $pb.GeneratedMessage { factory Notification.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Notification', package: const $pb.PackageName(_omitMessageNames ? '' : 'stillbox'), createEmptyInstance: create) - ..aOM<$0.Timestamp>(1, _omitFieldNames ? '' : 'dateTime', protoName: 'dateTime', subBuilder: $0.Timestamp.create) + ..aOM<$0.Timestamp>(1, _omitFieldNames ? '' : 'dateTime', subBuilder: $0.Timestamp.create) ..aOS(2, _omitFieldNames ? '' : 'msg') - ..aOS(3, _omitFieldNames ? '' : 'actionUrl', protoName: 'actionUrl') + ..aOS(3, _omitFieldNames ? '' : 'actionUrl') ..hasRequiredFields = false ; @@ -578,9 +648,9 @@ class Command extends $pb.GeneratedMessage { }; static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Command', package: const $pb.PackageName(_omitMessageNames ? '' : 'stillbox'), createEmptyInstance: create) ..oo(0, [1, 2, 3]) - ..aOM(1, _omitFieldNames ? '' : 'liveCommand', protoName: 'liveCommand', subBuilder: Live.create) - ..aOM(2, _omitFieldNames ? '' : 'searchCommand', protoName: 'searchCommand', subBuilder: Search.create) - ..aOM(3, _omitFieldNames ? '' : 'tgCommand', protoName: 'tgCommand', subBuilder: Talkgroup.create) + ..aOM(1, _omitFieldNames ? '' : 'liveCommand', subBuilder: Live.create) + ..aOM(2, _omitFieldNames ? '' : 'searchCommand', subBuilder: Search.create) + ..aOM(3, _omitFieldNames ? '' : 'tgCommand', subBuilder: Talkgroup.create) ..hasRequiredFields = false ; @@ -1040,6 +1110,98 @@ class Search extends $pb.GeneratedMessage { static Search? _defaultInstance; } +class Version extends $pb.GeneratedMessage { + factory Version({ + $core.String? serverName, + $core.String? version, + $core.String? built, + $core.String? platform, + }) { + final $result = create(); + if (serverName != null) { + $result.serverName = serverName; + } + if (version != null) { + $result.version = version; + } + if (built != null) { + $result.built = built; + } + if (platform != null) { + $result.platform = platform; + } + return $result; + } + Version._() : super(); + factory Version.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory Version.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Version', package: const $pb.PackageName(_omitMessageNames ? '' : 'stillbox'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'serverName') + ..aOS(2, _omitFieldNames ? '' : 'version') + ..aOS(3, _omitFieldNames ? '' : 'built') + ..aOS(4, _omitFieldNames ? '' : 'platform') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Version clone() => Version()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Version copyWith(void Function(Version) updates) => super.copyWith((message) => updates(message as Version)) as Version; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Version create() => Version._(); + Version createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Version getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Version? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get serverName => $_getSZ(0); + @$pb.TagNumber(1) + set serverName($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasServerName() => $_has(0); + @$pb.TagNumber(1) + void clearServerName() => clearField(1); + + @$pb.TagNumber(2) + $core.String get version => $_getSZ(1); + @$pb.TagNumber(2) + set version($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasVersion() => $_has(1); + @$pb.TagNumber(2) + void clearVersion() => clearField(2); + + @$pb.TagNumber(3) + $core.String get built => $_getSZ(2); + @$pb.TagNumber(3) + set built($core.String v) { $_setString(2, v); } + @$pb.TagNumber(3) + $core.bool hasBuilt() => $_has(2); + @$pb.TagNumber(3) + void clearBuilt() => clearField(3); + + @$pb.TagNumber(4) + $core.String get platform => $_getSZ(3); + @$pb.TagNumber(4) + set platform($core.String v) { $_setString(3, v); } + @$pb.TagNumber(4) + $core.bool hasPlatform() => $_has(3); + @$pb.TagNumber(4) + void clearPlatform() => clearField(4); +} + const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/lib/pb/stillbox.pbjson.dart b/lib/pb/stillbox.pbjson.dart index 87ee14f..88b189c 100644 --- a/lib/pb/stillbox.pbjson.dart +++ b/lib/pb/stillbox.pbjson.dart @@ -33,10 +33,11 @@ const Message$json = { '1': 'Message', '2': [ {'1': 'call', '3': 1, '4': 1, '5': 11, '6': '.stillbox.Call', '9': 0, '10': 'call'}, - {'1': 'tgInfo', '3': 2, '4': 1, '5': 11, '6': '.stillbox.TalkgroupInfo', '9': 0, '10': 'tgInfo'}, + {'1': 'tg_info', '3': 2, '4': 1, '5': 11, '6': '.stillbox.TalkgroupInfo', '9': 0, '10': 'tgInfo'}, {'1': 'notification', '3': 3, '4': 1, '5': 11, '6': '.stillbox.Notification', '9': 0, '10': 'notification'}, {'1': 'popup', '3': 4, '4': 1, '5': 11, '6': '.stillbox.UserPopup', '9': 0, '10': 'popup'}, {'1': 'error', '3': 5, '4': 1, '5': 11, '6': '.stillbox.Error', '9': 0, '10': 'error'}, + {'1': 'hello', '3': 6, '4': 1, '5': 11, '6': '.stillbox.Hello', '9': 0, '10': 'hello'}, ], '8': [ {'1': 'toClient_message'}, @@ -45,11 +46,12 @@ const Message$json = { /// Descriptor for `Message`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List messageDescriptor = $convert.base64Decode( - 'CgdNZXNzYWdlEiQKBGNhbGwYASABKAsyDi5zdGlsbGJveC5DYWxsSABSBGNhbGwSMQoGdGdJbm' - 'ZvGAIgASgLMhcuc3RpbGxib3guVGFsa2dyb3VwSW5mb0gAUgZ0Z0luZm8SPAoMbm90aWZpY2F0' - 'aW9uGAMgASgLMhYuc3RpbGxib3guTm90aWZpY2F0aW9uSABSDG5vdGlmaWNhdGlvbhIrCgVwb3' - 'B1cBgEIAEoCzITLnN0aWxsYm94LlVzZXJQb3B1cEgAUgVwb3B1cBInCgVlcnJvchgFIAEoCzIP' - 'LnN0aWxsYm94LkVycm9ySABSBWVycm9yQhIKEHRvQ2xpZW50X21lc3NhZ2U='); + 'CgdNZXNzYWdlEiQKBGNhbGwYASABKAsyDi5zdGlsbGJveC5DYWxsSABSBGNhbGwSMgoHdGdfaW' + '5mbxgCIAEoCzIXLnN0aWxsYm94LlRhbGtncm91cEluZm9IAFIGdGdJbmZvEjwKDG5vdGlmaWNh' + 'dGlvbhgDIAEoCzIWLnN0aWxsYm94Lk5vdGlmaWNhdGlvbkgAUgxub3RpZmljYXRpb24SKwoFcG' + '9wdXAYBCABKAsyEy5zdGlsbGJveC5Vc2VyUG9wdXBIAFIFcG9wdXASJwoFZXJyb3IYBSABKAsy' + 'Dy5zdGlsbGJveC5FcnJvckgAUgVlcnJvchInCgVoZWxsbxgGIAEoCzIPLnN0aWxsYm94LkhlbG' + 'xvSABSBWhlbGxvQhIKEHRvQ2xpZW50X21lc3NhZ2U='); @$core.Deprecated('Use callDescriptor instead') const Call$json = { @@ -57,7 +59,7 @@ const Call$json = { '2': [ {'1': 'audioName', '3': 1, '4': 1, '5': 9, '10': 'audioName'}, {'1': 'audioType', '3': 2, '4': 1, '5': 9, '10': 'audioType'}, - {'1': 'dateTime', '3': 3, '4': 1, '5': 11, '6': '.google.protobuf.Timestamp', '10': 'dateTime'}, + {'1': 'date_time', '3': 3, '4': 1, '5': 11, '6': '.google.protobuf.Timestamp', '10': 'dateTime'}, {'1': 'system', '3': 4, '4': 1, '5': 5, '10': 'system'}, {'1': 'talkgroup', '3': 5, '4': 1, '5': 5, '10': 'talkgroup'}, {'1': 'source', '3': 6, '4': 1, '5': 5, '10': 'source'}, @@ -76,12 +78,24 @@ const Call$json = { /// Descriptor for `Call`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List callDescriptor = $convert.base64Decode( 'CgRDYWxsEhwKCWF1ZGlvTmFtZRgBIAEoCVIJYXVkaW9OYW1lEhwKCWF1ZGlvVHlwZRgCIAEoCV' - 'IJYXVkaW9UeXBlEjYKCGRhdGVUaW1lGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFt' - 'cFIIZGF0ZVRpbWUSFgoGc3lzdGVtGAQgASgFUgZzeXN0ZW0SHAoJdGFsa2dyb3VwGAUgASgFUg' - 'l0YWxrZ3JvdXASFgoGc291cmNlGAYgASgFUgZzb3VyY2USHAoJZnJlcXVlbmN5GAcgASgDUglm' - 'cmVxdWVuY3kSIAoLZnJlcXVlbmNpZXMYCCADKANSC2ZyZXF1ZW5jaWVzEhgKB3BhdGNoZXMYCS' - 'ADKAVSB3BhdGNoZXMSGAoHc291cmNlcxgKIAMoBVIHc291cmNlcxIfCghkdXJhdGlvbhgLIAEo' - 'BUgAUghkdXJhdGlvbogBARIUCgVhdWRpbxgMIAEoDFIFYXVkaW9CCwoJX2R1cmF0aW9u'); + 'IJYXVkaW9UeXBlEjcKCWRhdGVfdGltZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3Rh' + 'bXBSCGRhdGVUaW1lEhYKBnN5c3RlbRgEIAEoBVIGc3lzdGVtEhwKCXRhbGtncm91cBgFIAEoBV' + 'IJdGFsa2dyb3VwEhYKBnNvdXJjZRgGIAEoBVIGc291cmNlEhwKCWZyZXF1ZW5jeRgHIAEoA1IJ' + 'ZnJlcXVlbmN5EiAKC2ZyZXF1ZW5jaWVzGAggAygDUgtmcmVxdWVuY2llcxIYCgdwYXRjaGVzGA' + 'kgAygFUgdwYXRjaGVzEhgKB3NvdXJjZXMYCiADKAVSB3NvdXJjZXMSHwoIZHVyYXRpb24YCyAB' + 'KAVIAFIIZHVyYXRpb26IAQESFAoFYXVkaW8YDCABKAxSBWF1ZGlvQgsKCV9kdXJhdGlvbg=='); + +@$core.Deprecated('Use helloDescriptor instead') +const Hello$json = { + '1': 'Hello', + '2': [ + {'1': 'version', '3': 1, '4': 1, '5': 11, '6': '.stillbox.Version', '10': 'version'}, + ], +}; + +/// Descriptor for `Hello`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List helloDescriptor = $convert.base64Decode( + 'CgVIZWxsbxIrCgd2ZXJzaW9uGAEgASgLMhEuc3RpbGxib3guVmVyc2lvblIHdmVyc2lvbg=='); @$core.Deprecated('Use userPopupDescriptor instead') const UserPopup$json = { @@ -113,25 +127,25 @@ final $typed_data.Uint8List errorDescriptor = $convert.base64Decode( const Notification$json = { '1': 'Notification', '2': [ - {'1': 'dateTime', '3': 1, '4': 1, '5': 11, '6': '.google.protobuf.Timestamp', '10': 'dateTime'}, + {'1': 'date_time', '3': 1, '4': 1, '5': 11, '6': '.google.protobuf.Timestamp', '10': 'dateTime'}, {'1': 'msg', '3': 2, '4': 1, '5': 9, '10': 'msg'}, - {'1': 'actionUrl', '3': 3, '4': 1, '5': 9, '10': 'actionUrl'}, + {'1': 'action_url', '3': 3, '4': 1, '5': 9, '10': 'actionUrl'}, ], }; /// Descriptor for `Notification`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List notificationDescriptor = $convert.base64Decode( - 'CgxOb3RpZmljYXRpb24SNgoIZGF0ZVRpbWUYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZX' - 'N0YW1wUghkYXRlVGltZRIQCgNtc2cYAiABKAlSA21zZxIcCglhY3Rpb25VcmwYAyABKAlSCWFj' - 'dGlvblVybA=='); + 'CgxOb3RpZmljYXRpb24SNwoJZGF0ZV90aW1lGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbW' + 'VzdGFtcFIIZGF0ZVRpbWUSEAoDbXNnGAIgASgJUgNtc2cSHQoKYWN0aW9uX3VybBgDIAEoCVIJ' + 'YWN0aW9uVXJs'); @$core.Deprecated('Use commandDescriptor instead') const Command$json = { '1': 'Command', '2': [ - {'1': 'liveCommand', '3': 1, '4': 1, '5': 11, '6': '.stillbox.Live', '9': 0, '10': 'liveCommand'}, - {'1': 'searchCommand', '3': 2, '4': 1, '5': 11, '6': '.stillbox.Search', '9': 0, '10': 'searchCommand'}, - {'1': 'tgCommand', '3': 3, '4': 1, '5': 11, '6': '.stillbox.Talkgroup', '9': 0, '10': 'tgCommand'}, + {'1': 'live_command', '3': 1, '4': 1, '5': 11, '6': '.stillbox.Live', '9': 0, '10': 'liveCommand'}, + {'1': 'search_command', '3': 2, '4': 1, '5': 11, '6': '.stillbox.Search', '9': 0, '10': 'searchCommand'}, + {'1': 'tg_command', '3': 3, '4': 1, '5': 11, '6': '.stillbox.Talkgroup', '9': 0, '10': 'tgCommand'}, ], '8': [ {'1': 'command'}, @@ -140,10 +154,10 @@ const Command$json = { /// Descriptor for `Command`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List commandDescriptor = $convert.base64Decode( - 'CgdDb21tYW5kEjIKC2xpdmVDb21tYW5kGAEgASgLMg4uc3RpbGxib3guTGl2ZUgAUgtsaXZlQ2' - '9tbWFuZBI4Cg1zZWFyY2hDb21tYW5kGAIgASgLMhAuc3RpbGxib3guU2VhcmNoSABSDXNlYXJj' - 'aENvbW1hbmQSMwoJdGdDb21tYW5kGAMgASgLMhMuc3RpbGxib3guVGFsa2dyb3VwSABSCXRnQ2' - '9tbWFuZEIJCgdjb21tYW5k'); + 'CgdDb21tYW5kEjMKDGxpdmVfY29tbWFuZBgBIAEoCzIOLnN0aWxsYm94LkxpdmVIAFILbGl2ZU' + 'NvbW1hbmQSOQoOc2VhcmNoX2NvbW1hbmQYAiABKAsyEC5zdGlsbGJveC5TZWFyY2hIAFINc2Vh' + 'cmNoQ29tbWFuZBI0Cgp0Z19jb21tYW5kGAMgASgLMhMuc3RpbGxib3guVGFsa2dyb3VwSABSCX' + 'RnQ29tbWFuZEIJCgdjb21tYW5k'); @$core.Deprecated('Use talkgroupInfoDescriptor instead') const TalkgroupInfo$json = { @@ -240,3 +254,20 @@ const Search$json = { final $typed_data.Uint8List searchDescriptor = $convert.base64Decode( 'CgZTZWFyY2g='); +@$core.Deprecated('Use versionDescriptor instead') +const Version$json = { + '1': 'Version', + '2': [ + {'1': 'server_name', '3': 1, '4': 1, '5': 9, '10': 'serverName'}, + {'1': 'version', '3': 2, '4': 1, '5': 9, '10': 'version'}, + {'1': 'built', '3': 3, '4': 1, '5': 9, '10': 'built'}, + {'1': 'platform', '3': 4, '4': 1, '5': 9, '10': 'platform'}, + ], +}; + +/// Descriptor for `Version`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List versionDescriptor = $convert.base64Decode( + 'CgdWZXJzaW9uEh8KC3NlcnZlcl9uYW1lGAEgASgJUgpzZXJ2ZXJOYW1lEhgKB3ZlcnNpb24YAi' + 'ABKAlSB3ZlcnNpb24SFAoFYnVpbHQYAyABKAlSBWJ1aWx0EhoKCHBsYXRmb3JtGAQgASgJUghw' + 'bGF0Zm9ybQ=='); + diff --git a/protobuf/stillbox.proto b/protobuf/stillbox.proto index b8755ea..a9c7e59 100644 --- a/protobuf/stillbox.proto +++ b/protobuf/stillbox.proto @@ -8,17 +8,18 @@ import "google/protobuf/struct.proto"; message Message { oneof toClient_message { Call call = 1; - TalkgroupInfo tgInfo = 2; + TalkgroupInfo tg_info = 2; Notification notification = 3; UserPopup popup = 4; Error error = 5; + Hello hello = 6; } } message Call { string audioName = 1; string audioType = 2; - google.protobuf.Timestamp dateTime = 3; + google.protobuf.Timestamp date_time = 3; int32 system = 4; int32 talkgroup = 5; int32 source = 6; @@ -30,6 +31,10 @@ message Call { bytes audio = 12; } +message Hello { + Version version = 1; +} + message UserPopup { string msg = 1; } @@ -40,16 +45,16 @@ message Error { } message Notification { - google.protobuf.Timestamp dateTime = 1; + google.protobuf.Timestamp date_time = 1; string msg = 2; - string actionUrl = 3; + string action_url = 3; } message Command { oneof command { - Live liveCommand = 1; - Search searchCommand = 2; - Talkgroup tgCommand = 3; + Live live_command = 1; + Search search_command = 2; + Talkgroup tg_command = 3; } } @@ -91,3 +96,10 @@ message Filter { message Search { } + +message Version { + string server_name = 1; + string version = 2; + string built = 3; + string platform = 4; +}