playlist4ops.proto 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. import "playlist4content.proto";
  2. import "playlist4meta.proto";
  3. message Add {
  4. optional int32 fromIndex = 1;
  5. repeated Item items = 2;
  6. optional ListChecksum list_checksum = 3;
  7. optional bool addLast = 4;
  8. optional bool addFirst = 5;
  9. }
  10. message Rem {
  11. optional int32 fromIndex = 1;
  12. optional int32 length = 2;
  13. repeated Item items = 3;
  14. optional ListChecksum list_checksum = 4;
  15. optional ListChecksum items_checksum = 5;
  16. optional ListChecksum uris_checksum = 6;
  17. optional bool itemsAsKey = 7;
  18. }
  19. message Mov {
  20. required int32 fromIndex = 1;
  21. required int32 length = 2;
  22. required int32 toIndex = 3;
  23. optional ListChecksum list_checksum = 4;
  24. optional ListChecksum items_checksum = 5;
  25. optional ListChecksum uris_checksum = 6;
  26. }
  27. message ItemAttributesPartialState {
  28. required ItemAttributes values = 1;
  29. repeated ItemAttributeKind no_value = 2;
  30. }
  31. message ListAttributesPartialState {
  32. required ListAttributes values = 1;
  33. repeated ListAttributeKind no_value = 2;
  34. }
  35. message UpdateItemAttributes {
  36. required int32 index = 1;
  37. required ItemAttributesPartialState new_attributes = 2;
  38. optional ItemAttributesPartialState old_attributes = 3;
  39. optional ListChecksum list_checksum = 4;
  40. optional ListChecksum old_attributes_checksum = 5;
  41. }
  42. message UpdateListAttributes {
  43. required ListAttributesPartialState new_attributes = 1;
  44. optional ListAttributesPartialState old_attributes = 2;
  45. optional ListChecksum list_checksum = 3;
  46. optional ListChecksum old_attributes_checksum = 4;
  47. }
  48. message Op {
  49. enum Kind {
  50. KIND_UNKNOWN = 0;
  51. ADD = 2;
  52. REM = 3;
  53. MOV = 4;
  54. UPDATE_ITEM_ATTRIBUTES = 5;
  55. UPDATE_LIST_ATTRIBUTES = 6;
  56. };
  57. required Kind kind = 1;
  58. optional Add add = 2;
  59. optional Rem rem = 3;
  60. optional Mov mov = 4;
  61. optional UpdateItemAttributes update_item_attributes = 5;
  62. optional UpdateListAttributes update_list_attributes = 6;
  63. }
  64. message OpList {
  65. repeated Op ops = 1;
  66. }