2024-07-31 09:24:05 -04:00
|
|
|
syntax = "proto3";
|
|
|
|
package stillbox;
|
|
|
|
option go_package = "./pb";
|
|
|
|
|
|
|
|
import "google/protobuf/timestamp.proto";
|
2024-08-16 11:04:09 -04:00
|
|
|
import "google/protobuf/struct.proto";
|
2024-07-31 09:24:05 -04:00
|
|
|
|
2024-08-04 00:55:28 -04:00
|
|
|
message Message {
|
|
|
|
oneof toClient_message {
|
2024-10-19 23:09:31 -04:00
|
|
|
CommandResponse response = 1;
|
|
|
|
Call call = 2;
|
|
|
|
Notification notification = 3;
|
|
|
|
UserPopup popup = 4;
|
|
|
|
Error error = 5;
|
|
|
|
Hello hello = 6;
|
2024-10-19 14:14:15 -04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-10-19 23:09:31 -04:00
|
|
|
message CommandResponse {
|
2024-10-19 14:14:15 -04:00
|
|
|
optional int64 command_id = 1;
|
|
|
|
oneof command_response {
|
2024-10-18 09:34:20 -04:00
|
|
|
TalkgroupInfo tg_info = 2;
|
2024-08-04 00:55:28 -04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-07-31 09:24:05 -04:00
|
|
|
message Call {
|
2024-11-06 20:47:10 -05:00
|
|
|
string id = 1;
|
|
|
|
string audioName = 2;
|
|
|
|
string audioType = 3;
|
|
|
|
google.protobuf.Timestamp date_time = 4;
|
|
|
|
int32 system = 5;
|
|
|
|
int32 talkgroup = 6;
|
|
|
|
int32 source = 7;
|
|
|
|
int64 frequency = 8;
|
|
|
|
repeated int64 frequencies = 9;
|
|
|
|
repeated int32 patches = 10;
|
|
|
|
repeated int32 sources = 11;
|
|
|
|
optional int32 duration = 12;
|
|
|
|
bytes audio = 13;
|
2024-07-31 09:24:05 -04:00
|
|
|
}
|
2024-08-04 00:55:28 -04:00
|
|
|
|
2024-10-18 09:34:20 -04:00
|
|
|
message Hello {
|
2024-10-20 13:04:42 -04:00
|
|
|
ServerInfo server_info = 1;
|
2024-10-18 09:34:20 -04:00
|
|
|
}
|
|
|
|
|
2024-08-04 00:55:28 -04:00
|
|
|
message UserPopup {
|
|
|
|
string msg = 1;
|
|
|
|
}
|
|
|
|
|
2024-08-06 11:19:30 -04:00
|
|
|
message Error {
|
|
|
|
string error = 1;
|
2024-08-16 14:54:50 -04:00
|
|
|
Command command = 2;
|
2024-08-06 11:19:30 -04:00
|
|
|
}
|
|
|
|
|
2024-08-04 00:55:28 -04:00
|
|
|
message Notification {
|
2024-10-18 09:34:20 -04:00
|
|
|
google.protobuf.Timestamp date_time = 1;
|
2024-08-04 00:55:28 -04:00
|
|
|
string msg = 2;
|
2024-10-18 09:34:20 -04:00
|
|
|
string action_url = 3;
|
2024-08-04 00:55:28 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
message Command {
|
2024-10-19 14:14:15 -04:00
|
|
|
optional int64 command_id = 1;
|
2024-08-04 00:55:28 -04:00
|
|
|
oneof command {
|
2024-10-19 14:14:15 -04:00
|
|
|
Live live_command = 2;
|
|
|
|
Search search_command = 3;
|
|
|
|
Talkgroup tg_command = 4;
|
2024-08-04 00:55:28 -04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-08-16 11:04:09 -04:00
|
|
|
message TalkgroupInfo {
|
|
|
|
Talkgroup tg = 1;
|
2024-08-20 08:17:02 -04:00
|
|
|
string system_name = 2;
|
|
|
|
optional string name = 3;
|
|
|
|
optional string group = 4;
|
2024-08-23 14:28:47 -04:00
|
|
|
optional string alpha_tag = 5;
|
|
|
|
optional int32 frequency = 6;
|
|
|
|
repeated string tags = 7;
|
|
|
|
optional google.protobuf.Struct metadata = 8;
|
|
|
|
bool learned = 9;
|
2024-08-16 11:04:09 -04:00
|
|
|
}
|
|
|
|
|
2024-08-04 00:55:28 -04:00
|
|
|
enum LiveState {
|
|
|
|
LS_STOPPED = 0;
|
|
|
|
LS_LIVE = 1;
|
|
|
|
LS_PAUSED = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Live {
|
2024-08-06 11:19:30 -04:00
|
|
|
optional LiveState state = 1;
|
|
|
|
optional Filter filter = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Talkgroup {
|
|
|
|
int32 system = 1;
|
|
|
|
int32 talkgroup = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Filter {
|
|
|
|
repeated Talkgroup talkgroups = 1;
|
|
|
|
repeated Talkgroup talkgroups_not = 2;
|
|
|
|
repeated string talkgroup_tags_all = 3;
|
|
|
|
repeated string talkgroup_tags_any = 4;
|
|
|
|
repeated string talkgroup_tags_not = 5;
|
2024-08-04 00:55:28 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
message Search {
|
|
|
|
}
|
2024-10-18 09:34:20 -04:00
|
|
|
|
2024-10-20 13:04:42 -04:00
|
|
|
message ServerInfo {
|
2024-10-18 09:34:20 -04:00
|
|
|
string server_name = 1;
|
|
|
|
string version = 2;
|
|
|
|
string built = 3;
|
|
|
|
string platform = 4;
|
2024-10-20 13:04:42 -04:00
|
|
|
string db_size = 5;
|
2024-10-18 09:34:20 -04:00
|
|
|
}
|