spirc.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. // THIS CORNFILE IS GENERATED. DO NOT EDIT! 🌽
  2. #ifndef _SPIRCH
  3. #define _SPIRCH
  4. #include <optional>
  5. #include <vector>
  6. enum class MessageType {
  7. kMessageTypeHello = 1,
  8. kMessageTypeGoodbye = 2,
  9. kMessageTypeProbe = 3,
  10. kMessageTypeNotify = 10,
  11. kMessageTypeLoad = 20,
  12. kMessageTypePlay = 21,
  13. kMessageTypePause = 22,
  14. kMessageTypePlayPause = 23,
  15. kMessageTypeSeek = 24,
  16. kMessageTypePrev = 25,
  17. kMessageTypeNext = 26,
  18. kMessageTypeVolume = 27,
  19. kMessageTypeShuffle = 28,
  20. kMessageTypeRepeat = 29,
  21. kMessageTypeVolumeDown = 31,
  22. kMessageTypeVolumeUp = 32,
  23. kMessageTypeReplace = 33,
  24. kMessageTypeLogout = 34,
  25. kMessageTypeAction = 35,
  26. };
  27. enum class PlayStatus {
  28. kPlayStatusStop = 0,
  29. kPlayStatusPlay = 1,
  30. kPlayStatusPause = 2,
  31. kPlayStatusLoading = 3,
  32. };
  33. enum class CapabilityType {
  34. kSupportedContexts = 1,
  35. kCanBePlayer = 2,
  36. kRestrictToLocal = 3,
  37. kDeviceType = 4,
  38. kGaiaEqConnectId = 5,
  39. kSupportsLogout = 6,
  40. kIsObservable = 7,
  41. kVolumeSteps = 8,
  42. kSupportedTypes = 9,
  43. kCommandAcks = 10,
  44. };
  45. class TrackRef {
  46. public:
  47. std::optional<std::vector<uint8_t>> gid;
  48. std::optional<std::string> uri;
  49. std::optional<bool> queued;
  50. std::optional<std::string> context;
  51. static constexpr ReflectTypeID _TYPE_ID = ReflectTypeID::ClassTrackRef;
  52. };
  53. class State {
  54. public:
  55. std::optional<std::string> context_uri;
  56. std::optional<uint32_t> index;
  57. std::optional<uint32_t> position_ms;
  58. std::optional<PlayStatus> status;
  59. std::optional<uint64_t> position_measured_at;
  60. std::optional<std::string> context_description;
  61. std::optional<bool> shuffle;
  62. std::optional<bool> repeat;
  63. std::optional<uint32_t> playing_track_index;
  64. std::vector<TrackRef> track;
  65. static constexpr ReflectTypeID _TYPE_ID = ReflectTypeID::ClassState;
  66. };
  67. class Capability {
  68. public:
  69. std::optional<CapabilityType> typ;
  70. std::vector<int64_t> intValue;
  71. std::vector<std::string> stringValue;
  72. static constexpr ReflectTypeID _TYPE_ID = ReflectTypeID::ClassCapability;
  73. };
  74. class DeviceState {
  75. public:
  76. std::optional<std::string> sw_version;
  77. std::optional<bool> is_active;
  78. std::optional<bool> can_play;
  79. std::optional<uint32_t> volume;
  80. std::optional<std::string> name;
  81. std::optional<uint32_t> error_code;
  82. std::optional<int64_t> became_active_at;
  83. std::optional<std::string> error_message;
  84. std::vector<Capability> capabilities;
  85. std::vector<std::string> local_uris;
  86. static constexpr ReflectTypeID _TYPE_ID = ReflectTypeID::ClassDeviceState;
  87. };
  88. class Frame {
  89. public:
  90. std::optional<uint32_t> version;
  91. std::optional<std::string> ident;
  92. std::optional<std::string> protocol_version;
  93. std::optional<uint32_t> seq_nr;
  94. std::optional<MessageType> typ;
  95. std::optional<DeviceState> device_state;
  96. std::optional<State> state;
  97. std::optional<uint32_t> position;
  98. std::optional<uint32_t> volume;
  99. std::optional<int64_t> state_update_id;
  100. std::vector<std::string> recipient;
  101. static constexpr ReflectTypeID _TYPE_ID = ReflectTypeID::ClassFrame;
  102. };
  103. #endif