/* Automatically generated nanopb header */ /* Generated by nanopb-0.4.6-dev */ #ifndef PB_PROTOBUF_METADATA_PB_H_INCLUDED #define PB_PROTOBUF_METADATA_PB_H_INCLUDED #include #if PB_PROTO_HEADER_VERSION != 40 #error Regenerate this file with the current version of nanopb generator. #endif /* Enum definitions */ typedef enum _AudioFormat { AudioFormat_OGG_VORBIS_96 = 0, AudioFormat_OGG_VORBIS_160 = 1, AudioFormat_OGG_VORBIS_320 = 2, AudioFormat_MP3_256 = 3, AudioFormat_MP3_320 = 4, AudioFormat_MP3_160 = 5, AudioFormat_MP3_96 = 6, AudioFormat_MP3_160_ENC = 7, AudioFormat_AAC_24 = 8, AudioFormat_AAC_48 = 9 } AudioFormat; /* Struct definitions */ typedef struct _Artist { pb_bytes_array_t *gid; char *name; } Artist; typedef struct _Image { pb_bytes_array_t *file_id; } Image; typedef struct _ImageGroup { pb_size_t image_count; struct _Image *image; } ImageGroup; typedef struct _Restriction { char *countries_allowed; char *countries_forbidden; } Restriction; typedef struct _Album { pb_callback_t gid; char *name; bool has_cover_group; ImageGroup cover_group; } Album; typedef struct _AudioFile { pb_bytes_array_t *file_id; bool has_format; AudioFormat format; } AudioFile; typedef struct _Episode { pb_bytes_array_t *gid; char *name; bool has_duration; int32_t duration; pb_size_t audio_count; struct _AudioFile *audio; struct _ImageGroup *covers; } Episode; typedef struct _Track { pb_bytes_array_t *gid; char *name; bool has_album; Album album; pb_size_t artist_count; struct _Artist *artist; bool has_duration; int32_t duration; pb_size_t restriction_count; struct _Restriction *restriction; pb_size_t file_count; struct _AudioFile *file; pb_size_t alternative_count; struct _Track *alternative; } Track; /* Helper constants for enums */ #define _AudioFormat_MIN AudioFormat_OGG_VORBIS_96 #define _AudioFormat_MAX AudioFormat_AAC_48 #define _AudioFormat_ARRAYSIZE ((AudioFormat)(AudioFormat_AAC_48+1)) #ifdef __cplusplus extern "C" { #endif /* Initializer values for message structs */ #define AudioFile_init_default {NULL, false, _AudioFormat_MIN} #define Restriction_init_default {NULL, NULL} #define Image_init_default {NULL} #define ImageGroup_init_default {0, NULL} #define Album_init_default {{{NULL}, NULL}, NULL, false, ImageGroup_init_default} #define Artist_init_default {NULL, NULL} #define Track_init_default {NULL, NULL, false, Album_init_default, 0, NULL, false, 0, 0, NULL, 0, NULL, 0, NULL} #define Episode_init_default {NULL, NULL, false, 0, 0, NULL, NULL} #define AudioFile_init_zero {NULL, false, _AudioFormat_MIN} #define Restriction_init_zero {NULL, NULL} #define Image_init_zero {NULL} #define ImageGroup_init_zero {0, NULL} #define Album_init_zero {{{NULL}, NULL}, NULL, false, ImageGroup_init_zero} #define Artist_init_zero {NULL, NULL} #define Track_init_zero {NULL, NULL, false, Album_init_zero, 0, NULL, false, 0, 0, NULL, 0, NULL, 0, NULL} #define Episode_init_zero {NULL, NULL, false, 0, 0, NULL, NULL} /* Field tags (for use in manual encoding/decoding) */ #define Artist_gid_tag 1 #define Artist_name_tag 2 #define Image_file_id_tag 1 #define ImageGroup_image_tag 1 #define Restriction_countries_allowed_tag 2 #define Restriction_countries_forbidden_tag 3 #define Album_gid_tag 1 #define Album_name_tag 2 #define Album_cover_group_tag 17 #define AudioFile_file_id_tag 1 #define AudioFile_format_tag 2 #define Episode_gid_tag 1 #define Episode_name_tag 2 #define Episode_duration_tag 7 #define Episode_audio_tag 12 #define Episode_covers_tag 68 #define Track_gid_tag 1 #define Track_name_tag 2 #define Track_album_tag 3 #define Track_artist_tag 4 #define Track_duration_tag 7 #define Track_restriction_tag 11 #define Track_file_tag 12 #define Track_alternative_tag 13 /* Struct field encoding specification for nanopb */ #define AudioFile_FIELDLIST(X, a) \ X(a, POINTER, OPTIONAL, BYTES, file_id, 1) \ X(a, STATIC, OPTIONAL, UENUM, format, 2) #define AudioFile_CALLBACK NULL #define AudioFile_DEFAULT NULL #define Restriction_FIELDLIST(X, a) \ X(a, POINTER, OPTIONAL, STRING, countries_allowed, 2) \ X(a, POINTER, OPTIONAL, STRING, countries_forbidden, 3) #define Restriction_CALLBACK NULL #define Restriction_DEFAULT NULL #define Image_FIELDLIST(X, a) \ X(a, POINTER, OPTIONAL, BYTES, file_id, 1) #define Image_CALLBACK NULL #define Image_DEFAULT NULL #define ImageGroup_FIELDLIST(X, a) \ X(a, POINTER, REPEATED, MESSAGE, image, 1) #define ImageGroup_CALLBACK NULL #define ImageGroup_DEFAULT NULL #define ImageGroup_image_MSGTYPE Image #define Album_FIELDLIST(X, a) \ X(a, CALLBACK, OPTIONAL, BYTES, gid, 1) \ X(a, POINTER, OPTIONAL, STRING, name, 2) \ X(a, STATIC, OPTIONAL, MESSAGE, cover_group, 17) #define Album_CALLBACK pb_default_field_callback #define Album_DEFAULT NULL #define Album_cover_group_MSGTYPE ImageGroup #define Artist_FIELDLIST(X, a) \ X(a, POINTER, OPTIONAL, BYTES, gid, 1) \ X(a, POINTER, OPTIONAL, STRING, name, 2) #define Artist_CALLBACK NULL #define Artist_DEFAULT NULL #define Track_FIELDLIST(X, a) \ X(a, POINTER, OPTIONAL, BYTES, gid, 1) \ X(a, POINTER, OPTIONAL, STRING, name, 2) \ X(a, STATIC, OPTIONAL, MESSAGE, album, 3) \ X(a, POINTER, REPEATED, MESSAGE, artist, 4) \ X(a, STATIC, OPTIONAL, SINT32, duration, 7) \ X(a, POINTER, REPEATED, MESSAGE, restriction, 11) \ X(a, POINTER, REPEATED, MESSAGE, file, 12) \ X(a, POINTER, REPEATED, MESSAGE, alternative, 13) #define Track_CALLBACK NULL #define Track_DEFAULT NULL #define Track_album_MSGTYPE Album #define Track_artist_MSGTYPE Artist #define Track_restriction_MSGTYPE Restriction #define Track_file_MSGTYPE AudioFile #define Track_alternative_MSGTYPE Track #define Episode_FIELDLIST(X, a) \ X(a, POINTER, OPTIONAL, BYTES, gid, 1) \ X(a, POINTER, OPTIONAL, STRING, name, 2) \ X(a, STATIC, OPTIONAL, SINT32, duration, 7) \ X(a, POINTER, REPEATED, MESSAGE, audio, 12) \ X(a, POINTER, OPTIONAL, MESSAGE, covers, 68) #define Episode_CALLBACK NULL #define Episode_DEFAULT NULL #define Episode_audio_MSGTYPE AudioFile #define Episode_covers_MSGTYPE ImageGroup extern const pb_msgdesc_t AudioFile_msg; extern const pb_msgdesc_t Restriction_msg; extern const pb_msgdesc_t Image_msg; extern const pb_msgdesc_t ImageGroup_msg; extern const pb_msgdesc_t Album_msg; extern const pb_msgdesc_t Artist_msg; extern const pb_msgdesc_t Track_msg; extern const pb_msgdesc_t Episode_msg; /* Defines for backwards compatibility with code written before nanopb-0.4.0 */ #define AudioFile_fields &AudioFile_msg #define Restriction_fields &Restriction_msg #define Image_fields &Image_msg #define ImageGroup_fields &ImageGroup_msg #define Album_fields &Album_msg #define Artist_fields &Artist_msg #define Track_fields &Track_msg #define Episode_fields &Episode_msg /* Maximum encoded size of messages (where known) */ /* AudioFile_size depends on runtime parameters */ /* Restriction_size depends on runtime parameters */ /* Image_size depends on runtime parameters */ /* ImageGroup_size depends on runtime parameters */ /* Album_size depends on runtime parameters */ /* Artist_size depends on runtime parameters */ /* Track_size depends on runtime parameters */ /* Episode_size depends on runtime parameters */ #ifdef __cplusplus } /* extern "C" */ #endif #endif