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

#ifndef PB_READGROUP_READER_V2_READGROUP_READER_V2_GET_PB_H_INCLUDED
#define PB_READGROUP_READER_V2_READGROUP_READER_V2_GET_PB_H_INCLUDED
#include <pb.h>
#include "buf/validate/validate.pb.h"
#include "google/protobuf/timestamp.pb.h"
#include "readgroup/reader/v2/read.pb.h"
#include "util/between.pb.h"
#include "util/like.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 _readgroup_reader_v2_GetReadsRequest {
    /* filters */
    bool has_reader_id;
    util_UUID reader_id;
    bool has_group_id;
    util_UUID group_id;
    bool has_epc;
    util_Like epc;
    bool has_total;
    util_UInt64Between total;
    bool has_timestamp;
    util_TimestampBetween timestamp;
    bool has_peak_rssi;
    util_SInt32Between peak_rssi;
    bool has_skew_rssi;
    util_DoubleBetween skew_rssi;
    bool has_variance_rssi;
    util_DoubleBetween variance_rssi;
    bool has_entropy_rssi;
    util_DoubleBetween entropy_rssi;
    bool has_duration;
    util_DurationBetween duration;
    pb_callback_t signals;
    /* antenna filters */
    bool has_intersections;
    util_UInt64Between intersections;
    bool has_intersection_start;
    util_TimestampBetween intersection_start;
    bool has_intersection_end;
    util_TimestampBetween intersection_end;
    pb_callback_t antennas;
    /* pagination */
    bool has_limit;
    uint64_t limit;
    bool has_cursor;
    google_protobuf_Timestamp cursor;
} readgroup_reader_v2_GetReadsRequest;

typedef struct _readgroup_reader_v2_GetReadsResponse {
    pb_callback_t reads;
    bool has_next_cursor;
    google_protobuf_Timestamp next_cursor;
} readgroup_reader_v2_GetReadsResponse;


#ifdef __cplusplus
extern "C" {
#endif

/* Initializer values for message structs */
#define readgroup_reader_v2_GetReadsRequest_init_default {false, util_UUID_init_default, false, util_UUID_init_default, false, util_Like_init_default, false, util_UInt64Between_init_default, false, util_TimestampBetween_init_default, false, util_SInt32Between_init_default, false, util_DoubleBetween_init_default, false, util_DoubleBetween_init_default, false, util_DoubleBetween_init_default, false, util_DurationBetween_init_default, {{NULL}, NULL}, false, util_UInt64Between_init_default, false, util_TimestampBetween_init_default, false, util_TimestampBetween_init_default, {{NULL}, NULL}, false, 0, false, google_protobuf_Timestamp_init_default}
#define readgroup_reader_v2_GetReadsResponse_init_default {{{NULL}, NULL}, false, google_protobuf_Timestamp_init_default}
#define readgroup_reader_v2_GetReadsRequest_init_zero {false, util_UUID_init_zero, false, util_UUID_init_zero, false, util_Like_init_zero, false, util_UInt64Between_init_zero, false, util_TimestampBetween_init_zero, false, util_SInt32Between_init_zero, false, util_DoubleBetween_init_zero, false, util_DoubleBetween_init_zero, false, util_DoubleBetween_init_zero, false, util_DurationBetween_init_zero, {{NULL}, NULL}, false, util_UInt64Between_init_zero, false, util_TimestampBetween_init_zero, false, util_TimestampBetween_init_zero, {{NULL}, NULL}, false, 0, false, google_protobuf_Timestamp_init_zero}
#define readgroup_reader_v2_GetReadsResponse_init_zero {{{NULL}, NULL}, false, google_protobuf_Timestamp_init_zero}

/* Field tags (for use in manual encoding/decoding) */
#define readgroup_reader_v2_GetReadsRequest_reader_id_tag 1
#define readgroup_reader_v2_GetReadsRequest_group_id_tag 2
#define readgroup_reader_v2_GetReadsRequest_epc_tag 3
#define readgroup_reader_v2_GetReadsRequest_total_tag 4
#define readgroup_reader_v2_GetReadsRequest_timestamp_tag 5
#define readgroup_reader_v2_GetReadsRequest_peak_rssi_tag 6
#define readgroup_reader_v2_GetReadsRequest_skew_rssi_tag 7
#define readgroup_reader_v2_GetReadsRequest_variance_rssi_tag 8
#define readgroup_reader_v2_GetReadsRequest_entropy_rssi_tag 9
#define readgroup_reader_v2_GetReadsRequest_duration_tag 10
#define readgroup_reader_v2_GetReadsRequest_signals_tag 11
#define readgroup_reader_v2_GetReadsRequest_intersections_tag 12
#define readgroup_reader_v2_GetReadsRequest_intersection_start_tag 13
#define readgroup_reader_v2_GetReadsRequest_intersection_end_tag 14
#define readgroup_reader_v2_GetReadsRequest_antennas_tag 15
#define readgroup_reader_v2_GetReadsRequest_limit_tag 16
#define readgroup_reader_v2_GetReadsRequest_cursor_tag 17
#define readgroup_reader_v2_GetReadsResponse_reads_tag 1
#define readgroup_reader_v2_GetReadsResponse_next_cursor_tag 2

/* Struct field encoding specification for nanopb */
#define readgroup_reader_v2_GetReadsRequest_FIELDLIST(X, a) \
X(a, STATIC,   OPTIONAL, MESSAGE,  reader_id,         1) \
X(a, STATIC,   OPTIONAL, MESSAGE,  group_id,          2) \
X(a, STATIC,   OPTIONAL, MESSAGE,  epc,               3) \
X(a, STATIC,   OPTIONAL, MESSAGE,  total,             4) \
X(a, STATIC,   OPTIONAL, MESSAGE,  timestamp,         5) \
X(a, STATIC,   OPTIONAL, MESSAGE,  peak_rssi,         6) \
X(a, STATIC,   OPTIONAL, MESSAGE,  skew_rssi,         7) \
X(a, STATIC,   OPTIONAL, MESSAGE,  variance_rssi,     8) \
X(a, STATIC,   OPTIONAL, MESSAGE,  entropy_rssi,      9) \
X(a, STATIC,   OPTIONAL, MESSAGE,  duration,         10) \
X(a, CALLBACK, REPEATED, UINT32,   signals,          11) \
X(a, STATIC,   OPTIONAL, MESSAGE,  intersections,    12) \
X(a, STATIC,   OPTIONAL, MESSAGE,  intersection_start,  13) \
X(a, STATIC,   OPTIONAL, MESSAGE,  intersection_end,  14) \
X(a, CALLBACK, REPEATED, UINT32,   antennas,         15) \
X(a, STATIC,   OPTIONAL, UINT64,   limit,            16) \
X(a, STATIC,   OPTIONAL, MESSAGE,  cursor,           17)
#define readgroup_reader_v2_GetReadsRequest_CALLBACK pb_default_field_callback
#define readgroup_reader_v2_GetReadsRequest_DEFAULT NULL
#define readgroup_reader_v2_GetReadsRequest_reader_id_MSGTYPE util_UUID
#define readgroup_reader_v2_GetReadsRequest_group_id_MSGTYPE util_UUID
#define readgroup_reader_v2_GetReadsRequest_epc_MSGTYPE util_Like
#define readgroup_reader_v2_GetReadsRequest_total_MSGTYPE util_UInt64Between
#define readgroup_reader_v2_GetReadsRequest_timestamp_MSGTYPE util_TimestampBetween
#define readgroup_reader_v2_GetReadsRequest_peak_rssi_MSGTYPE util_SInt32Between
#define readgroup_reader_v2_GetReadsRequest_skew_rssi_MSGTYPE util_DoubleBetween
#define readgroup_reader_v2_GetReadsRequest_variance_rssi_MSGTYPE util_DoubleBetween
#define readgroup_reader_v2_GetReadsRequest_entropy_rssi_MSGTYPE util_DoubleBetween
#define readgroup_reader_v2_GetReadsRequest_duration_MSGTYPE util_DurationBetween
#define readgroup_reader_v2_GetReadsRequest_intersections_MSGTYPE util_UInt64Between
#define readgroup_reader_v2_GetReadsRequest_intersection_start_MSGTYPE util_TimestampBetween
#define readgroup_reader_v2_GetReadsRequest_intersection_end_MSGTYPE util_TimestampBetween
#define readgroup_reader_v2_GetReadsRequest_cursor_MSGTYPE google_protobuf_Timestamp

#define readgroup_reader_v2_GetReadsResponse_FIELDLIST(X, a) \
X(a, CALLBACK, REPEATED, MESSAGE,  reads,             1) \
X(a, STATIC,   OPTIONAL, MESSAGE,  next_cursor,       2)
#define readgroup_reader_v2_GetReadsResponse_CALLBACK pb_default_field_callback
#define readgroup_reader_v2_GetReadsResponse_DEFAULT NULL
#define readgroup_reader_v2_GetReadsResponse_reads_MSGTYPE readgroup_reader_v2_Read
#define readgroup_reader_v2_GetReadsResponse_next_cursor_MSGTYPE google_protobuf_Timestamp

extern const pb_msgdesc_t readgroup_reader_v2_GetReadsRequest_msg;
extern const pb_msgdesc_t readgroup_reader_v2_GetReadsResponse_msg;

/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
#define readgroup_reader_v2_GetReadsRequest_fields &readgroup_reader_v2_GetReadsRequest_msg
#define readgroup_reader_v2_GetReadsResponse_fields &readgroup_reader_v2_GetReadsResponse_msg

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

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

#endif
