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

#ifndef PB_SIGNAL_V1_SIGNAL_V1_GET_PB_H_INCLUDED
#define PB_SIGNAL_V1_SIGNAL_V1_GET_PB_H_INCLUDED
#include <pb.h>
#include "google/protobuf/timestamp.pb.h"
#include "signal/v1/signal.pb.h"
#include "signal/v1/type.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 _signal_v1_GetSignalsRequest {
    bool has_type;
    signal_v1_SignalType type;
    bool has_reader_id;
    util_UUID reader_id;
    bool has_start;
    google_protobuf_Timestamp start;
    bool has_end;
    google_protobuf_Timestamp end;
    /* pagination */
    bool has_limit;
    uint64_t limit;
    bool has_cursor;
    google_protobuf_Timestamp cursor;
} signal_v1_GetSignalsRequest;

typedef struct _signal_v1_GetSignalsResponse {
    pb_callback_t signals;
    bool has_next_cursor;
    google_protobuf_Timestamp next_cursor;
} signal_v1_GetSignalsResponse;


#ifdef __cplusplus
extern "C" {
#endif

/* Initializer values for message structs */
#define signal_v1_GetSignalsRequest_init_default {false, _signal_v1_SignalType_MIN, false, util_UUID_init_default, false, google_protobuf_Timestamp_init_default, false, google_protobuf_Timestamp_init_default, false, 0, false, google_protobuf_Timestamp_init_default}
#define signal_v1_GetSignalsResponse_init_default {{{NULL}, NULL}, false, google_protobuf_Timestamp_init_default}
#define signal_v1_GetSignalsRequest_init_zero    {false, _signal_v1_SignalType_MIN, false, util_UUID_init_zero, false, google_protobuf_Timestamp_init_zero, false, google_protobuf_Timestamp_init_zero, false, 0, false, google_protobuf_Timestamp_init_zero}
#define signal_v1_GetSignalsResponse_init_zero   {{{NULL}, NULL}, false, google_protobuf_Timestamp_init_zero}

/* Field tags (for use in manual encoding/decoding) */
#define signal_v1_GetSignalsRequest_type_tag     1
#define signal_v1_GetSignalsRequest_reader_id_tag 2
#define signal_v1_GetSignalsRequest_start_tag    3
#define signal_v1_GetSignalsRequest_end_tag      4
#define signal_v1_GetSignalsRequest_limit_tag    5
#define signal_v1_GetSignalsRequest_cursor_tag   6
#define signal_v1_GetSignalsResponse_signals_tag 1
#define signal_v1_GetSignalsResponse_next_cursor_tag 2

/* Struct field encoding specification for nanopb */
#define signal_v1_GetSignalsRequest_FIELDLIST(X, a) \
X(a, STATIC,   OPTIONAL, UENUM,    type,              1) \
X(a, STATIC,   OPTIONAL, MESSAGE,  reader_id,         2) \
X(a, STATIC,   OPTIONAL, MESSAGE,  start,             3) \
X(a, STATIC,   OPTIONAL, MESSAGE,  end,               4) \
X(a, STATIC,   OPTIONAL, UINT64,   limit,             5) \
X(a, STATIC,   OPTIONAL, MESSAGE,  cursor,            6)
#define signal_v1_GetSignalsRequest_CALLBACK NULL
#define signal_v1_GetSignalsRequest_DEFAULT NULL
#define signal_v1_GetSignalsRequest_reader_id_MSGTYPE util_UUID
#define signal_v1_GetSignalsRequest_start_MSGTYPE google_protobuf_Timestamp
#define signal_v1_GetSignalsRequest_end_MSGTYPE google_protobuf_Timestamp
#define signal_v1_GetSignalsRequest_cursor_MSGTYPE google_protobuf_Timestamp

#define signal_v1_GetSignalsResponse_FIELDLIST(X, a) \
X(a, CALLBACK, REPEATED, MESSAGE,  signals,           1) \
X(a, STATIC,   OPTIONAL, MESSAGE,  next_cursor,       2)
#define signal_v1_GetSignalsResponse_CALLBACK pb_default_field_callback
#define signal_v1_GetSignalsResponse_DEFAULT NULL
#define signal_v1_GetSignalsResponse_signals_MSGTYPE signal_v1_Signal
#define signal_v1_GetSignalsResponse_next_cursor_MSGTYPE google_protobuf_Timestamp

extern const pb_msgdesc_t signal_v1_GetSignalsRequest_msg;
extern const pb_msgdesc_t signal_v1_GetSignalsResponse_msg;

/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
#define signal_v1_GetSignalsRequest_fields &signal_v1_GetSignalsRequest_msg
#define signal_v1_GetSignalsResponse_fields &signal_v1_GetSignalsResponse_msg

/* Maximum encoded size of messages (where known) */
/* signal_v1_GetSignalsResponse_size depends on runtime parameters */
#if defined(util_UUID_size)
#define SIGNAL_V1_SIGNAL_V1_GET_PB_H_MAX_SIZE    signal_v1_GetSignalsRequest_size
#define signal_v1_GetSignalsRequest_size         (91 + util_UUID_size)
#endif

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

#endif
