Handle hello

This commit is contained in:
Daniel Ponte 2024-10-18 10:00:55 -04:00
parent dd86eef69f
commit cfd2916da7
4 changed files with 248 additions and 40 deletions

View file

@ -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:
}
}

View file

@ -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<Call>(1, _omitFieldNames ? '' : 'call', subBuilder: Call.create)
..aOM<TalkgroupInfo>(2, _omitFieldNames ? '' : 'tgInfo', protoName: 'tgInfo', subBuilder: TalkgroupInfo.create)
..aOM<TalkgroupInfo>(2, _omitFieldNames ? '' : 'tgInfo', subBuilder: TalkgroupInfo.create)
..aOM<Notification>(3, _omitFieldNames ? '' : 'notification', subBuilder: Notification.create)
..aOM<UserPopup>(4, _omitFieldNames ? '' : 'popup', subBuilder: UserPopup.create)
..aOM<Error>(5, _omitFieldNames ? '' : 'error', subBuilder: Error.create)
..aOM<Hello>(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<Version>(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<Hello> createRepeated() => $pb.PbList<Hello>();
@$core.pragma('dart2js:noInline')
static Hello getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Hello>(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<Live>(1, _omitFieldNames ? '' : 'liveCommand', protoName: 'liveCommand', subBuilder: Live.create)
..aOM<Search>(2, _omitFieldNames ? '' : 'searchCommand', protoName: 'searchCommand', subBuilder: Search.create)
..aOM<Talkgroup>(3, _omitFieldNames ? '' : 'tgCommand', protoName: 'tgCommand', subBuilder: Talkgroup.create)
..aOM<Live>(1, _omitFieldNames ? '' : 'liveCommand', subBuilder: Live.create)
..aOM<Search>(2, _omitFieldNames ? '' : 'searchCommand', subBuilder: Search.create)
..aOM<Talkgroup>(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<Version> createRepeated() => $pb.PbList<Version>();
@$core.pragma('dart2js:noInline')
static Version getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Version>(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');

View file

@ -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==');

View file

@ -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;
}