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

#ifndef PB_ANTENNA_V1_ANTENNA_V1_ANTENNA_PB_H_INCLUDED
#define PB_ANTENNA_V1_ANTENNA_V1_ANTENNA_PB_H_INCLUDED
#include <pb.h>
#include "antenna/v1/settings.pb.h"
#include "buf/validate/validate.pb.h"
#include "google/protobuf/timestamp.pb.h"
#include "util/uuid.pb.h"

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

/* Struct definitions */
typedef struct _antenna_v1_Antenna {
    bool has_reader_id;
    util_UUID reader_id;
    uint32_t antenna; /* max uint8 */
    /* metadata */
    uint32_t power;
    bool connected;
    bool has_last_updated;
    google_protobuf_Timestamp last_updated;
    /* aggregates */
    bool has_read_count;
    uint64_t read_count;
    bool has_last_read_timestamp;
    google_protobuf_Timestamp last_read_timestamp;
    /* settings */
    bool has_settings;
    antenna_v1_Settings settings;
} antenna_v1_Antenna;


#ifdef __cplusplus
extern "C" {
#endif

/* Initializer values for message structs */
#define antenna_v1_Antenna_init_default          {false, util_UUID_init_default, 0, 0, 0, false, google_protobuf_Timestamp_init_default, false, 0, false, google_protobuf_Timestamp_init_default, false, antenna_v1_Settings_init_default}
#define antenna_v1_Antenna_init_zero             {false, util_UUID_init_zero, 0, 0, 0, false, google_protobuf_Timestamp_init_zero, false, 0, false, google_protobuf_Timestamp_init_zero, false, antenna_v1_Settings_init_zero}

/* Field tags (for use in manual encoding/decoding) */
#define antenna_v1_Antenna_reader_id_tag         1
#define antenna_v1_Antenna_antenna_tag           2
#define antenna_v1_Antenna_power_tag             3
#define antenna_v1_Antenna_connected_tag         4
#define antenna_v1_Antenna_last_updated_tag      5
#define antenna_v1_Antenna_read_count_tag        6
#define antenna_v1_Antenna_last_read_timestamp_tag 7
#define antenna_v1_Antenna_settings_tag          8

/* Struct field encoding specification for nanopb */
#define antenna_v1_Antenna_FIELDLIST(X, a) \
X(a, STATIC,   OPTIONAL, MESSAGE,  reader_id,         1) \
X(a, STATIC,   SINGULAR, UINT32,   antenna,           2) \
X(a, STATIC,   SINGULAR, UINT32,   power,             3) \
X(a, STATIC,   SINGULAR, BOOL,     connected,         4) \
X(a, STATIC,   OPTIONAL, MESSAGE,  last_updated,      5) \
X(a, STATIC,   OPTIONAL, UINT64,   read_count,        6) \
X(a, STATIC,   OPTIONAL, MESSAGE,  last_read_timestamp,   7) \
X(a, STATIC,   OPTIONAL, MESSAGE,  settings,          8)
#define antenna_v1_Antenna_CALLBACK NULL
#define antenna_v1_Antenna_DEFAULT NULL
#define antenna_v1_Antenna_reader_id_MSGTYPE util_UUID
#define antenna_v1_Antenna_last_updated_MSGTYPE google_protobuf_Timestamp
#define antenna_v1_Antenna_last_read_timestamp_MSGTYPE google_protobuf_Timestamp
#define antenna_v1_Antenna_settings_MSGTYPE antenna_v1_Settings

extern const pb_msgdesc_t antenna_v1_Antenna_msg;

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

/* Maximum encoded size of messages (where known) */
#if defined(util_UUID_size) && defined(antenna_v1_Settings_size)
#define ANTENNA_V1_ANTENNA_V1_ANTENNA_PB_H_MAX_SIZE antenna_v1_Antenna_size
#define antenna_v1_Antenna_size                  (85 + util_UUID_size + antenna_v1_Settings_size)
#endif

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

#endif
