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

#ifndef PB_USER_V1_USER_V1_GET_PB_H_INCLUDED
#define PB_USER_V1_USER_V1_GET_PB_H_INCLUDED
#include <pb.h>
#include "user/v1/user.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 _user_v1_GetUserRequest {
    bool has_user_id;
    util_UUID user_id;
} user_v1_GetUserRequest;

typedef struct _user_v1_GetUserResponse {
    bool has_user;
    user_v1_User user;
} user_v1_GetUserResponse;

typedef struct _user_v1_GetUsersRequest {
    char dummy_field;
} user_v1_GetUsersRequest;

typedef struct _user_v1_GetUsersResponse {
    pb_callback_t users;
} user_v1_GetUsersResponse;


#ifdef __cplusplus
extern "C" {
#endif

/* Initializer values for message structs */
#define user_v1_GetUserRequest_init_default      {false, util_UUID_init_default}
#define user_v1_GetUserResponse_init_default     {false, user_v1_User_init_default}
#define user_v1_GetUsersRequest_init_default     {0}
#define user_v1_GetUsersResponse_init_default    {{{NULL}, NULL}}
#define user_v1_GetUserRequest_init_zero         {false, util_UUID_init_zero}
#define user_v1_GetUserResponse_init_zero        {false, user_v1_User_init_zero}
#define user_v1_GetUsersRequest_init_zero        {0}
#define user_v1_GetUsersResponse_init_zero       {{{NULL}, NULL}}

/* Field tags (for use in manual encoding/decoding) */
#define user_v1_GetUserRequest_user_id_tag       1
#define user_v1_GetUserResponse_user_tag         1
#define user_v1_GetUsersResponse_users_tag       1

/* Struct field encoding specification for nanopb */
#define user_v1_GetUserRequest_FIELDLIST(X, a) \
X(a, STATIC,   OPTIONAL, MESSAGE,  user_id,           1)
#define user_v1_GetUserRequest_CALLBACK NULL
#define user_v1_GetUserRequest_DEFAULT NULL
#define user_v1_GetUserRequest_user_id_MSGTYPE util_UUID

#define user_v1_GetUserResponse_FIELDLIST(X, a) \
X(a, STATIC,   OPTIONAL, MESSAGE,  user,              1)
#define user_v1_GetUserResponse_CALLBACK NULL
#define user_v1_GetUserResponse_DEFAULT NULL
#define user_v1_GetUserResponse_user_MSGTYPE user_v1_User

#define user_v1_GetUsersRequest_FIELDLIST(X, a) \

#define user_v1_GetUsersRequest_CALLBACK NULL
#define user_v1_GetUsersRequest_DEFAULT NULL

#define user_v1_GetUsersResponse_FIELDLIST(X, a) \
X(a, CALLBACK, REPEATED, MESSAGE,  users,             1)
#define user_v1_GetUsersResponse_CALLBACK pb_default_field_callback
#define user_v1_GetUsersResponse_DEFAULT NULL
#define user_v1_GetUsersResponse_users_MSGTYPE user_v1_User

extern const pb_msgdesc_t user_v1_GetUserRequest_msg;
extern const pb_msgdesc_t user_v1_GetUserResponse_msg;
extern const pb_msgdesc_t user_v1_GetUsersRequest_msg;
extern const pb_msgdesc_t user_v1_GetUsersResponse_msg;

/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
#define user_v1_GetUserRequest_fields &user_v1_GetUserRequest_msg
#define user_v1_GetUserResponse_fields &user_v1_GetUserResponse_msg
#define user_v1_GetUsersRequest_fields &user_v1_GetUsersRequest_msg
#define user_v1_GetUsersResponse_fields &user_v1_GetUsersResponse_msg

/* Maximum encoded size of messages (where known) */
/* user_v1_GetUsersResponse_size depends on runtime parameters */
#if defined(util_UUID_size)
#define USER_V1_USER_V1_GET_PB_H_MAX_SIZE        user_v1_GetUserRequest_size
#define user_v1_GetUserRequest_size              (6 + util_UUID_size)
#endif
#if defined(user_v1_User_size)
#define user_v1_GetUserResponse_size             (6 + user_v1_User_size)
#endif
#define user_v1_GetUsersRequest_size             0

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

#endif
