librespot/protocol/proto/playlist4ops.proto
2015-06-23 15:38:29 +01:00

68 lines
1.9 KiB
Protocol Buffer

import "playlist4content.proto";
import "playlist4meta.proto";
message Add {
optional int32 fromIndex = 1;
repeated Item items = 2;
optional ListChecksum list_checksum = 3;
optional bool addLast = 4;
optional bool addFirst = 5;
}
message Rem {
optional int32 fromIndex = 1;
optional int32 length = 2;
repeated Item items = 3;
optional ListChecksum list_checksum = 4;
optional ListChecksum items_checksum = 5;
optional ListChecksum uris_checksum = 6;
optional bool itemsAsKey = 7;
}
message Mov {
required int32 fromIndex = 1;
required int32 length = 2;
required int32 toIndex = 3;
optional ListChecksum list_checksum = 4;
optional ListChecksum items_checksum = 5;
optional ListChecksum uris_checksum = 6;
}
message ItemAttributesPartialState {
required ItemAttributes values = 1;
repeated ItemAttributeKind no_value = 2;
}
message ListAttributesPartialState {
required ListAttributes values = 1;
repeated ListAttributeKind no_value = 2;
}
message UpdateItemAttributes {
required int32 index = 1;
required ItemAttributesPartialState new_attributes = 2;
optional ItemAttributesPartialState old_attributes = 3;
optional ListChecksum list_checksum = 4;
optional ListChecksum old_attributes_checksum = 5;
}
message UpdateListAttributes {
required ListAttributesPartialState new_attributes = 1;
optional ListAttributesPartialState old_attributes = 2;
optional ListChecksum list_checksum = 3;
optional ListChecksum old_attributes_checksum = 4;
}
message Op {
enum Kind {
KIND_UNKNOWN = 0;
ADD = 2;
REM = 3;
MOV = 4;
UPDATE_ITEM_ATTRIBUTES = 5;
UPDATE_LIST_ATTRIBUTES = 6;
};
required Kind kind = 1;
optional Add add = 2;
optional Rem rem = 3;
optional Mov mov = 4;
optional UpdateItemAttributes update_item_attributes = 5;
optional UpdateListAttributes update_list_attributes = 6;
}
message OpList {
repeated Op ops = 1;
}