Use Client_find_by_session() instead of a few open-coded loops.
[umurmur.git] / src / Mumble.proto
index 3084892b59bfc208dd33d95be768b37a4be1ac11..ca5ad9a0c485791ca1911bf1d029368d38588565 100644 (file)
@@ -18,6 +18,7 @@ message Authenticate {
        optional string password = 2;
        repeated string tokens = 3;
        repeated int32 celt_versions = 4;
+       optional bool opus = 5 [default = false];
 }
 
 message Ping {
@@ -49,12 +50,19 @@ message Reject {
        optional string reason = 2;
 }
 
+message ServerConfig {
+       optional uint32 max_bandwidth = 1;
+       optional string welcome_text = 2;
+       optional bool allow_html = 3;
+       optional uint32 message_length = 4;
+       optional uint32 image_message_length = 5;
+}
+
 message ServerSync {
        optional uint32 session = 1;
        optional uint32 max_bandwidth = 2;
        optional string welcome_text = 3;
        optional uint64 permissions = 4;
-       optional bool allow_html = 5 [default = true];
 }
 
 message ChannelRemove {
@@ -71,6 +79,7 @@ message ChannelState {
        repeated uint32 links_remove = 7;
        optional bool temporary = 8 [default = false];
        optional int32 position = 9 [default = 0];
+       optional bytes description_hash = 10;
 }
 
 message UserRemove {
@@ -92,10 +101,14 @@ message UserState {
        optional bool self_mute = 9;
        optional bool self_deaf = 10;
        optional bytes texture = 11;
-       optional string plugin_context = 12;
+       optional bytes plugin_context = 12;
        optional string plugin_identity = 13;
        optional string comment = 14;
        optional string hash = 15;
+       optional bytes comment_hash = 16;
+       optional bytes texture_hash = 17;
+       optional bool priority_speaker = 18;
+       optional bool recording = 19;
 }
 
 message BanList {
@@ -130,12 +143,16 @@ message PermissionDenied {
                H9K = 5;
                TemporaryChannel = 6;
                MissingCertificate = 7;
+               UserName = 8;
+               ChannelFull = 9;
+               NestingLimit = 10;
        }
        optional uint32 permission = 1;
        optional uint32 channel_id = 2;
        optional uint32 session = 3;
        optional string reason = 4;
        optional DenyType type = 5;
+       optional string name = 6;
 }
 
 message ACL {
@@ -175,15 +192,20 @@ message CryptSetup {
        optional bytes server_nonce = 3;
 }
 
-message ContextActionAdd {
+message ContextActionModify {
        enum Context {
                Server = 0x01;
                Channel = 0x02;
                User = 0x04;
        }
+       enum Operation {
+               Add = 0;
+               Remove = 1;
+       }
        required string action = 1;
-       required string text = 2;
+       optional string text = 2;
        optional uint32 context = 3;
+       optional Operation operation = 4;
 }
 
 message ContextAction {
@@ -222,4 +244,48 @@ message CodecVersion {
        required int32 alpha = 1;
        required int32 beta = 2;
        required bool prefer_alpha = 3 [default = true];
+       optional bool opus = 4 [default = false];
+}
+
+message UserStats {
+       message Stats {
+               optional uint32 good = 1;
+               optional uint32 late = 2;
+               optional uint32 lost = 3;
+               optional uint32 resync = 4;
+       }
+
+       optional uint32 session = 1;
+       optional bool stats_only = 2 [default = false];
+       repeated bytes certificates = 3;
+       optional Stats from_client = 4;
+       optional Stats from_server = 5;
+
+       optional uint32 udp_packets = 6;
+       optional uint32 tcp_packets = 7;
+       optional float udp_ping_avg = 8;
+       optional float udp_ping_var = 9;
+       optional float tcp_ping_avg = 10;
+       optional float tcp_ping_var = 11;
+
+       optional Version version = 12;
+       repeated int32 celt_versions = 13;
+       optional bytes address = 14;
+       optional uint32 bandwidth = 15;
+       optional uint32 onlinesecs = 16;
+       optional uint32 idlesecs = 17;
+       optional bool strong_certificate = 18 [default = false];
+       optional bool opus = 19 [default = false];
+}
+
+message SuggestConfig {
+       optional uint32 version = 1;
+       optional bool positional = 2;
+       optional bool push_to_talk = 3;
+}
+
+message RequestBlob {
+       repeated uint32 session_texture = 1;
+       repeated uint32 session_comment = 2;
+       repeated uint32 channel_description = 3;
 }