metadata.pb.h 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. /* Automatically generated nanopb header */
  2. /* Generated by nanopb-0.4.6-dev */
  3. #ifndef PB_PROTOBUF_METADATA_PB_H_INCLUDED
  4. #define PB_PROTOBUF_METADATA_PB_H_INCLUDED
  5. #include <pb.h>
  6. #if PB_PROTO_HEADER_VERSION != 40
  7. #error Regenerate this file with the current version of nanopb generator.
  8. #endif
  9. /* Enum definitions */
  10. typedef enum _AudioFormat {
  11. AudioFormat_OGG_VORBIS_96 = 0,
  12. AudioFormat_OGG_VORBIS_160 = 1,
  13. AudioFormat_OGG_VORBIS_320 = 2,
  14. AudioFormat_MP3_256 = 3,
  15. AudioFormat_MP3_320 = 4,
  16. AudioFormat_MP3_160 = 5,
  17. AudioFormat_MP3_96 = 6,
  18. AudioFormat_MP3_160_ENC = 7,
  19. AudioFormat_AAC_24 = 8,
  20. AudioFormat_AAC_48 = 9
  21. } AudioFormat;
  22. /* Struct definitions */
  23. typedef PB_BYTES_ARRAY_T(128) Artist_gid_t;
  24. typedef struct _Artist {
  25. bool has_gid;
  26. Artist_gid_t gid;
  27. bool has_name;
  28. char name[512];
  29. } Artist;
  30. typedef PB_BYTES_ARRAY_T(128) AudioFile_file_id_t;
  31. typedef struct _AudioFile {
  32. bool has_file_id;
  33. AudioFile_file_id_t file_id;
  34. bool has_format;
  35. AudioFormat format;
  36. } AudioFile;
  37. typedef PB_BYTES_ARRAY_T(128) Image_file_id_t;
  38. typedef struct _Image {
  39. bool has_file_id;
  40. Image_file_id_t file_id;
  41. } Image;
  42. typedef struct _Restriction {
  43. bool has_countries_allowed;
  44. char countries_allowed[32];
  45. bool has_countries_forbidden;
  46. char countries_forbidden[32];
  47. } Restriction;
  48. typedef struct _ImageGroup {
  49. pb_size_t image_count;
  50. Image image[10];
  51. } ImageGroup;
  52. typedef struct _Album {
  53. pb_callback_t gid;
  54. bool has_name;
  55. char name[512];
  56. bool has_cover_group;
  57. ImageGroup cover_group;
  58. } Album;
  59. typedef PB_BYTES_ARRAY_T(64) Episode_gid_t;
  60. typedef struct _Episode {
  61. bool has_gid;
  62. Episode_gid_t gid;
  63. bool has_name;
  64. char name[512];
  65. bool has_duration;
  66. int32_t duration;
  67. pb_size_t audio_count;
  68. AudioFile audio[10];
  69. bool has_covers;
  70. ImageGroup covers;
  71. } Episode;
  72. typedef PB_BYTES_ARRAY_T(64) Track_gid_t;
  73. typedef struct _Track {
  74. bool has_gid;
  75. Track_gid_t gid;
  76. bool has_name;
  77. char name[512];
  78. bool has_album;
  79. Album album;
  80. pb_size_t artist_count;
  81. Artist artist[8];
  82. bool has_duration;
  83. int32_t duration;
  84. pb_callback_t restriction;
  85. pb_size_t file_count;
  86. AudioFile file[16];
  87. pb_callback_t alternative;
  88. } Track;
  89. /* Helper constants for enums */
  90. #define _AudioFormat_MIN AudioFormat_OGG_VORBIS_96
  91. #define _AudioFormat_MAX AudioFormat_AAC_48
  92. #define _AudioFormat_ARRAYSIZE ((AudioFormat)(AudioFormat_AAC_48+1))
  93. #ifdef __cplusplus
  94. extern "C" {
  95. #endif
  96. /* Initializer values for message structs */
  97. #define AudioFile_init_default {false, {0, {0}}, false, _AudioFormat_MIN}
  98. #define Restriction_init_default {false, "", false, ""}
  99. #define Image_init_default {false, {0, {0}}}
  100. #define ImageGroup_init_default {0, {Image_init_default, Image_init_default, Image_init_default, Image_init_default, Image_init_default, Image_init_default, Image_init_default, Image_init_default, Image_init_default, Image_init_default}}
  101. #define Album_init_default {{{NULL}, NULL}, false, "", false, ImageGroup_init_default}
  102. #define Artist_init_default {false, {0, {0}}, false, ""}
  103. #define Track_init_default {false, {0, {0}}, false, "", false, Album_init_default, 0, {Artist_init_default, Artist_init_default, Artist_init_default, Artist_init_default, Artist_init_default, Artist_init_default, Artist_init_default, Artist_init_default}, false, 0, {{NULL}, NULL}, 0, {AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default}, {{NULL}, NULL}}
  104. #define Episode_init_default {false, {0, {0}}, false, "", false, 0, 0, {AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default}, false, ImageGroup_init_default}
  105. #define AudioFile_init_zero {false, {0, {0}}, false, _AudioFormat_MIN}
  106. #define Restriction_init_zero {false, "", false, ""}
  107. #define Image_init_zero {false, {0, {0}}}
  108. #define ImageGroup_init_zero {0, {Image_init_zero, Image_init_zero, Image_init_zero, Image_init_zero, Image_init_zero, Image_init_zero, Image_init_zero, Image_init_zero, Image_init_zero, Image_init_zero}}
  109. #define Album_init_zero {{{NULL}, NULL}, false, "", false, ImageGroup_init_zero}
  110. #define Artist_init_zero {false, {0, {0}}, false, ""}
  111. #define Track_init_zero {false, {0, {0}}, false, "", false, Album_init_zero, 0, {Artist_init_zero, Artist_init_zero, Artist_init_zero, Artist_init_zero, Artist_init_zero, Artist_init_zero, Artist_init_zero, Artist_init_zero}, false, 0, {{NULL}, NULL}, 0, {AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero}, {{NULL}, NULL}}
  112. #define Episode_init_zero {false, {0, {0}}, false, "", false, 0, 0, {AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero}, false, ImageGroup_init_zero}
  113. /* Field tags (for use in manual encoding/decoding) */
  114. #define Artist_gid_tag 1
  115. #define Artist_name_tag 2
  116. #define AudioFile_file_id_tag 1
  117. #define AudioFile_format_tag 2
  118. #define Image_file_id_tag 1
  119. #define Restriction_countries_allowed_tag 2
  120. #define Restriction_countries_forbidden_tag 3
  121. #define ImageGroup_image_tag 1
  122. #define Album_gid_tag 1
  123. #define Album_name_tag 2
  124. #define Album_cover_group_tag 17
  125. #define Episode_gid_tag 1
  126. #define Episode_name_tag 2
  127. #define Episode_duration_tag 7
  128. #define Episode_audio_tag 12
  129. #define Episode_covers_tag 68
  130. #define Track_gid_tag 1
  131. #define Track_name_tag 2
  132. #define Track_album_tag 3
  133. #define Track_artist_tag 4
  134. #define Track_duration_tag 7
  135. #define Track_restriction_tag 11
  136. #define Track_file_tag 12
  137. #define Track_alternative_tag 13
  138. /* Struct field encoding specification for nanopb */
  139. #define AudioFile_FIELDLIST(X, a) \
  140. X(a, STATIC, OPTIONAL, BYTES, file_id, 1) \
  141. X(a, STATIC, OPTIONAL, UENUM, format, 2)
  142. #define AudioFile_CALLBACK NULL
  143. #define AudioFile_DEFAULT NULL
  144. #define Restriction_FIELDLIST(X, a) \
  145. X(a, STATIC, OPTIONAL, STRING, countries_allowed, 2) \
  146. X(a, STATIC, OPTIONAL, STRING, countries_forbidden, 3)
  147. #define Restriction_CALLBACK NULL
  148. #define Restriction_DEFAULT NULL
  149. #define Image_FIELDLIST(X, a) \
  150. X(a, STATIC, OPTIONAL, BYTES, file_id, 1)
  151. #define Image_CALLBACK NULL
  152. #define Image_DEFAULT NULL
  153. #define ImageGroup_FIELDLIST(X, a) \
  154. X(a, STATIC, REPEATED, MESSAGE, image, 1)
  155. #define ImageGroup_CALLBACK NULL
  156. #define ImageGroup_DEFAULT NULL
  157. #define ImageGroup_image_MSGTYPE Image
  158. #define Album_FIELDLIST(X, a) \
  159. X(a, CALLBACK, OPTIONAL, BYTES, gid, 1) \
  160. X(a, STATIC, OPTIONAL, STRING, name, 2) \
  161. X(a, STATIC, OPTIONAL, MESSAGE, cover_group, 17)
  162. #define Album_CALLBACK pb_default_field_callback
  163. #define Album_DEFAULT NULL
  164. #define Album_cover_group_MSGTYPE ImageGroup
  165. #define Artist_FIELDLIST(X, a) \
  166. X(a, STATIC, OPTIONAL, BYTES, gid, 1) \
  167. X(a, STATIC, OPTIONAL, STRING, name, 2)
  168. #define Artist_CALLBACK NULL
  169. #define Artist_DEFAULT NULL
  170. #define Track_FIELDLIST(X, a) \
  171. X(a, STATIC, OPTIONAL, BYTES, gid, 1) \
  172. X(a, STATIC, OPTIONAL, STRING, name, 2) \
  173. X(a, STATIC, OPTIONAL, MESSAGE, album, 3) \
  174. X(a, STATIC, REPEATED, MESSAGE, artist, 4) \
  175. X(a, STATIC, OPTIONAL, SINT32, duration, 7) \
  176. X(a, CALLBACK, REPEATED, MESSAGE, restriction, 11) \
  177. X(a, STATIC, REPEATED, MESSAGE, file, 12) \
  178. X(a, CALLBACK, REPEATED, MESSAGE, alternative, 13)
  179. #define Track_CALLBACK pb_default_field_callback
  180. #define Track_DEFAULT NULL
  181. #define Track_album_MSGTYPE Album
  182. #define Track_artist_MSGTYPE Artist
  183. #define Track_restriction_MSGTYPE Restriction
  184. #define Track_file_MSGTYPE AudioFile
  185. #define Track_alternative_MSGTYPE Track
  186. #define Episode_FIELDLIST(X, a) \
  187. X(a, STATIC, OPTIONAL, BYTES, gid, 1) \
  188. X(a, STATIC, OPTIONAL, STRING, name, 2) \
  189. X(a, STATIC, OPTIONAL, SINT32, duration, 7) \
  190. X(a, STATIC, REPEATED, MESSAGE, audio, 12) \
  191. X(a, STATIC, OPTIONAL, MESSAGE, covers, 68)
  192. #define Episode_CALLBACK NULL
  193. #define Episode_DEFAULT NULL
  194. #define Episode_audio_MSGTYPE AudioFile
  195. #define Episode_covers_MSGTYPE ImageGroup
  196. extern const pb_msgdesc_t AudioFile_msg;
  197. extern const pb_msgdesc_t Restriction_msg;
  198. extern const pb_msgdesc_t Image_msg;
  199. extern const pb_msgdesc_t ImageGroup_msg;
  200. extern const pb_msgdesc_t Album_msg;
  201. extern const pb_msgdesc_t Artist_msg;
  202. extern const pb_msgdesc_t Track_msg;
  203. extern const pb_msgdesc_t Episode_msg;
  204. /* Defines for backwards compatibility with code written before nanopb-0.4.0 */
  205. #define AudioFile_fields &AudioFile_msg
  206. #define Restriction_fields &Restriction_msg
  207. #define Image_fields &Image_msg
  208. #define ImageGroup_fields &ImageGroup_msg
  209. #define Album_fields &Album_msg
  210. #define Artist_fields &Artist_msg
  211. #define Track_fields &Track_msg
  212. #define Episode_fields &Episode_msg
  213. /* Maximum encoded size of messages (where known) */
  214. /* Album_size depends on runtime parameters */
  215. /* Track_size depends on runtime parameters */
  216. #define Artist_size 645
  217. #define AudioFile_size 133
  218. #define Episode_size 3290
  219. #define ImageGroup_size 1340
  220. #define Image_size 131
  221. #define Restriction_size 66
  222. #ifdef __cplusplus
  223. } /* extern "C" */
  224. #endif
  225. #endif