/* Automatically generated nanopb header */
/* Generated by nanopb-0.4.9 */

#ifndef PB_TAG_V1_TAG_V1_TAG_PB_H_INCLUDED
#define PB_TAG_V1_TAG_V1_TAG_PB_H_INCLUDED
#include <pb.h>
#include "google/protobuf/struct.pb.h"
#include "google/protobuf/timestamp.pb.h"
#include "read/v1/read.pb.h"

#if PB_PROTO_HEADER_VERSION != 40
#error Regenerate this file with the current version of nanopb generator.
#endif

/* Struct definitions */
typedef struct _tag_v1_Tag {
    pb_callback_t epc;
    /* metadata */
    bool has_last_updated;
    google_protobuf_Timestamp last_updated;
    bool has_first_seen;
    google_protobuf_Timestamp first_seen;
    bool has_last_seen;
    google_protobuf_Timestamp last_seen;
    pb_callback_t name;
    bool has_data;
    google_protobuf_Struct data;
    bool has_first_read;
    read_v1_Read first_read;
    bool has_last_read;
    read_v1_Read last_read;
} tag_v1_Tag;


#ifdef __cplusplus
extern "C" {
#endif

/* Initializer values for message structs */
#define tag_v1_Tag_init_default                  {{{NULL}, NULL}, false, google_protobuf_Timestamp_init_default, false, google_protobuf_Timestamp_init_default, false, google_protobuf_Timestamp_init_default, {{NULL}, NULL}, false, google_protobuf_Struct_init_default, false, read_v1_Read_init_default, false, read_v1_Read_init_default}
#define tag_v1_Tag_init_zero                     {{{NULL}, NULL}, false, google_protobuf_Timestamp_init_zero, false, google_protobuf_Timestamp_init_zero, false, google_protobuf_Timestamp_init_zero, {{NULL}, NULL}, false, google_protobuf_Struct_init_zero, false, read_v1_Read_init_zero, false, read_v1_Read_init_zero}

/* Field tags (for use in manual encoding/decoding) */
#define tag_v1_Tag_epc_tag                       1
#define tag_v1_Tag_last_updated_tag              2
#define tag_v1_Tag_first_seen_tag                3
#define tag_v1_Tag_last_seen_tag                 4
#define tag_v1_Tag_name_tag                      5
#define tag_v1_Tag_data_tag                      6
#define tag_v1_Tag_first_read_tag                7
#define tag_v1_Tag_last_read_tag                 8

/* Struct field encoding specification for nanopb */
#define tag_v1_Tag_FIELDLIST(X, a) \
X(a, CALLBACK, SINGULAR, STRING,   epc,               1) \
X(a, STATIC,   OPTIONAL, MESSAGE,  last_updated,      2) \
X(a, STATIC,   OPTIONAL, MESSAGE,  first_seen,        3) \
X(a, STATIC,   OPTIONAL, MESSAGE,  last_seen,         4) \
X(a, CALLBACK, OPTIONAL, STRING,   name,              5) \
X(a, STATIC,   OPTIONAL, MESSAGE,  data,              6) \
X(a, STATIC,   OPTIONAL, MESSAGE,  first_read,        7) \
X(a, STATIC,   OPTIONAL, MESSAGE,  last_read,         8)
#define tag_v1_Tag_CALLBACK pb_default_field_callback
#define tag_v1_Tag_DEFAULT NULL
#define tag_v1_Tag_last_updated_MSGTYPE google_protobuf_Timestamp
#define tag_v1_Tag_first_seen_MSGTYPE google_protobuf_Timestamp
#define tag_v1_Tag_last_seen_MSGTYPE google_protobuf_Timestamp
#define tag_v1_Tag_data_MSGTYPE google_protobuf_Struct
#define tag_v1_Tag_first_read_MSGTYPE read_v1_Read
#define tag_v1_Tag_last_read_MSGTYPE read_v1_Read

extern const pb_msgdesc_t tag_v1_Tag_msg;

/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
#define tag_v1_Tag_fields &tag_v1_Tag_msg

/* Maximum encoded size of messages (where known) */
/* tag_v1_Tag_size depends on runtime parameters */

#ifdef __cplusplus
} /* extern "C" */
#endif

#endif
