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

#ifndef PB_READER_V1_READER_V1_UPDATE_PB_H_INCLUDED
#define PB_READER_V1_READER_V1_UPDATE_PB_H_INCLUDED
#include <pb.h>
#include "buf/validate/validate.pb.h"
#include "reader/v1/settings.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 _reader_v1_UpdateReaderRequest {
    bool has_reader_id;
    util_UUID reader_id;
    /* foreign keys */
    bool has_location_id;
    util_UUID location_id;
    /* metadata */
    pb_callback_t firmware;
    bool has_gpis;
    uint32_t gpis; /* max uint8 */
    bool has_gpos;
    uint32_t gpos; /* max uint8 */
    pb_callback_t ip;
    pb_callback_t label;
    /* settings */
    bool has_settings;
    reader_v1_Settings settings;
} reader_v1_UpdateReaderRequest;

typedef struct _reader_v1_UpdateReaderResponse {
    char dummy_field;
} reader_v1_UpdateReaderResponse;


#ifdef __cplusplus
extern "C" {
#endif

/* Initializer values for message structs */
#define reader_v1_UpdateReaderRequest_init_default {false, util_UUID_init_default, false, util_UUID_init_default, {{NULL}, NULL}, false, 0, false, 0, {{NULL}, NULL}, {{NULL}, NULL}, false, reader_v1_Settings_init_default}
#define reader_v1_UpdateReaderResponse_init_default {0}
#define reader_v1_UpdateReaderRequest_init_zero  {false, util_UUID_init_zero, false, util_UUID_init_zero, {{NULL}, NULL}, false, 0, false, 0, {{NULL}, NULL}, {{NULL}, NULL}, false, reader_v1_Settings_init_zero}
#define reader_v1_UpdateReaderResponse_init_zero {0}

/* Field tags (for use in manual encoding/decoding) */
#define reader_v1_UpdateReaderRequest_reader_id_tag 1
#define reader_v1_UpdateReaderRequest_location_id_tag 2
#define reader_v1_UpdateReaderRequest_firmware_tag 3
#define reader_v1_UpdateReaderRequest_gpis_tag   4
#define reader_v1_UpdateReaderRequest_gpos_tag   5
#define reader_v1_UpdateReaderRequest_ip_tag     6
#define reader_v1_UpdateReaderRequest_label_tag  7
#define reader_v1_UpdateReaderRequest_settings_tag 8

/* Struct field encoding specification for nanopb */
#define reader_v1_UpdateReaderRequest_FIELDLIST(X, a) \
X(a, STATIC,   OPTIONAL, MESSAGE,  reader_id,         1) \
X(a, STATIC,   OPTIONAL, MESSAGE,  location_id,       2) \
X(a, CALLBACK, OPTIONAL, STRING,   firmware,          3) \
X(a, STATIC,   OPTIONAL, UINT32,   gpis,              4) \
X(a, STATIC,   OPTIONAL, UINT32,   gpos,              5) \
X(a, CALLBACK, OPTIONAL, STRING,   ip,                6) \
X(a, CALLBACK, OPTIONAL, STRING,   label,             7) \
X(a, STATIC,   OPTIONAL, MESSAGE,  settings,          8)
#define reader_v1_UpdateReaderRequest_CALLBACK pb_default_field_callback
#define reader_v1_UpdateReaderRequest_DEFAULT NULL
#define reader_v1_UpdateReaderRequest_reader_id_MSGTYPE util_UUID
#define reader_v1_UpdateReaderRequest_location_id_MSGTYPE util_UUID
#define reader_v1_UpdateReaderRequest_settings_MSGTYPE reader_v1_Settings

#define reader_v1_UpdateReaderResponse_FIELDLIST(X, a) \

#define reader_v1_UpdateReaderResponse_CALLBACK NULL
#define reader_v1_UpdateReaderResponse_DEFAULT NULL

extern const pb_msgdesc_t reader_v1_UpdateReaderRequest_msg;
extern const pb_msgdesc_t reader_v1_UpdateReaderResponse_msg;

/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
#define reader_v1_UpdateReaderRequest_fields &reader_v1_UpdateReaderRequest_msg
#define reader_v1_UpdateReaderResponse_fields &reader_v1_UpdateReaderResponse_msg

/* Maximum encoded size of messages (where known) */
/* reader_v1_UpdateReaderRequest_size depends on runtime parameters */
#define reader_v1_UpdateReaderResponse_size      0

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

#endif
