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

#ifndef PB_SIGNAL_V1_SIGNAL_V1_SIGNAL_PB_H_INCLUDED
#define PB_SIGNAL_V1_SIGNAL_V1_SIGNAL_PB_H_INCLUDED
#include <pb.h>
#include "google/protobuf/timestamp.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_Signal {
    bool has_reader_id;
    util_UUID reader_id;
    uint32_t signal;
    signal_v1_SignalType type;
    bool state;
    bool has_timestamp;
    google_protobuf_Timestamp timestamp;
} signal_v1_Signal;


#ifdef __cplusplus
extern "C" {
#endif

/* Initializer values for message structs */
#define signal_v1_Signal_init_default            {false, util_UUID_init_default, 0, _signal_v1_SignalType_MIN, 0, false, google_protobuf_Timestamp_init_default}
#define signal_v1_Signal_init_zero               {false, util_UUID_init_zero, 0, _signal_v1_SignalType_MIN, 0, false, google_protobuf_Timestamp_init_zero}

/* Field tags (for use in manual encoding/decoding) */
#define signal_v1_Signal_reader_id_tag           1
#define signal_v1_Signal_signal_tag              2
#define signal_v1_Signal_type_tag                3
#define signal_v1_Signal_state_tag               4
#define signal_v1_Signal_timestamp_tag           5

/* Struct field encoding specification for nanopb */
#define signal_v1_Signal_FIELDLIST(X, a) \
X(a, STATIC,   OPTIONAL, MESSAGE,  reader_id,         1) \
X(a, STATIC,   SINGULAR, UINT32,   signal,            2) \
X(a, STATIC,   SINGULAR, UENUM,    type,              3) \
X(a, STATIC,   SINGULAR, BOOL,     state,             4) \
X(a, STATIC,   OPTIONAL, MESSAGE,  timestamp,         5)
#define signal_v1_Signal_CALLBACK NULL
#define signal_v1_Signal_DEFAULT NULL
#define signal_v1_Signal_reader_id_MSGTYPE util_UUID
#define signal_v1_Signal_timestamp_MSGTYPE google_protobuf_Timestamp

extern const pb_msgdesc_t signal_v1_Signal_msg;

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

/* Maximum encoded size of messages (where known) */
#if defined(util_UUID_size)
#define SIGNAL_V1_SIGNAL_V1_SIGNAL_PB_H_MAX_SIZE signal_v1_Signal_size
#define signal_v1_Signal_size                    (40 + util_UUID_size)
#endif

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

#endif
