librespot/protocol/proto/rcs.proto
2021-12-10 20:33:43 +01:00

107 lines
2.2 KiB
Protocol Buffer

// Extracted from: Spotify 1.1.61.583 (Windows)
syntax = "proto3";
package spotify.remote_config.proto;
option optimize_for = CODE_SIZE;
message GranularConfiguration {
repeated AssignedPropertyValue properties = 1;
message AssignedPropertyValue {
Platform platform = 7;
string client_id = 4;
string component_id = 5;
int64 groupId = 8;
string name = 6;
oneof structured_value {
BoolValue bool_value = 1;
IntValue int_value = 2;
EnumValue enum_value = 3;
}
message BoolValue {
bool value = 1;
}
message IntValue {
int32 value = 1;
}
message EnumValue {
string value = 1;
}
}
int64 rcs_fetch_time = 2;
string configuration_assignment_id = 3;
}
message PolicyGroupId {
int64 policy_id = 1;
int64 policy_group_id = 2;
}
message ClientPropertySet {
string client_id = 1;
string version = 2;
repeated PropertyDefinition properties = 5;
repeated ComponentInfo component_infos = 6;
message ComponentInfo {
string name = 3;
//reserved 1, 2, "owner", "tags";
}
string property_set_key = 7;
PublisherInfo publisherInfo = 8;
message PublisherInfo {
string published_for_client_version = 1;
int64 published_at = 2;
}
}
message PropertyDefinition {
string description = 2;
string component_id = 3;
Platform platform = 8;
oneof identifier {
string id = 9;
string name = 7;
}
oneof spec {
BoolSpec bool_spec = 4;
IntSpec int_spec = 5;
EnumSpec enum_spec = 6;
}
reserved 1;
message BoolSpec {
bool default = 1;
}
message IntSpec {
int32 default = 1;
int32 lower = 2;
int32 upper = 3;
}
message EnumSpec {
string default = 1;
repeated string values = 2;
}
}
enum Platform {
UNKNOWN_PLATFORM = 0;
ANDROID_PLATFORM = 1;
BACKEND_PLATFORM = 2;
IOS_PLATFORM = 3;
WEB_PLATFORM = 4;
}