/* Automatically generated nanopb header */
/* Generated by nanopb-0.4.6-dev */

#ifndef PB_PB_APP_APPLICATION_PB_H_INCLUDED
#define PB_PB_APP_APPLICATION_PB_H_INCLUDED
#include <pb.h>

#if PB_PROTO_HEADER_VERSION != 40
#error Regenerate this file with the current version of nanopb generator.
#endif

/* Enum definitions */
typedef enum _PB_App_AppState { 
    PB_App_AppState_APP_CLOSED = 0, 
    PB_App_AppState_APP_STARTED = 1 
} PB_App_AppState;

/* Struct definitions */
typedef struct _PB_App_AppButtonReleaseRequest { 
    char dummy_field;
} PB_App_AppButtonReleaseRequest;

typedef struct _PB_App_AppExitRequest { 
    char dummy_field;
} PB_App_AppExitRequest;

typedef struct _PB_App_DataExchangeRequest { 
    pb_bytes_array_t *data; 
} PB_App_DataExchangeRequest;

typedef struct _PB_App_GetErrorRequest { 
    char dummy_field;
} PB_App_GetErrorRequest;

typedef struct _PB_App_LockStatusRequest { 
    char dummy_field;
} PB_App_LockStatusRequest;

typedef struct _PB_App_StartRequest { 
    char *name; 
    char *args; 
} PB_App_StartRequest;

typedef struct _PB_App_AppButtonPressRequest { 
    char args[513]; 
} PB_App_AppButtonPressRequest;

typedef struct _PB_App_AppLoadFileRequest { 
    char path[513]; 
} PB_App_AppLoadFileRequest;

typedef struct _PB_App_AppStateResponse { 
    PB_App_AppState state; 
} PB_App_AppStateResponse;

typedef struct _PB_App_GetErrorResponse { 
    uint32_t code; 
    char *text; 
} PB_App_GetErrorResponse;

typedef struct _PB_App_LockStatusResponse { 
    bool locked; 
} PB_App_LockStatusResponse;


/* Helper constants for enums */
#define _PB_App_AppState_MIN PB_App_AppState_APP_CLOSED
#define _PB_App_AppState_MAX PB_App_AppState_APP_STARTED
#define _PB_App_AppState_ARRAYSIZE ((PB_App_AppState)(PB_App_AppState_APP_STARTED+1))


#ifdef __cplusplus
extern "C" {
#endif

/* Initializer values for message structs */
#define PB_App_StartRequest_init_default         {NULL, NULL}
#define PB_App_LockStatusRequest_init_default    {0}
#define PB_App_LockStatusResponse_init_default   {0}
#define PB_App_AppExitRequest_init_default       {0}
#define PB_App_AppLoadFileRequest_init_default   {""}
#define PB_App_AppButtonPressRequest_init_default {""}
#define PB_App_AppButtonReleaseRequest_init_default {0}
#define PB_App_AppStateResponse_init_default     {_PB_App_AppState_MIN}
#define PB_App_GetErrorRequest_init_default      {0}
#define PB_App_GetErrorResponse_init_default     {0, NULL}
#define PB_App_DataExchangeRequest_init_default  {NULL}
#define PB_App_StartRequest_init_zero            {NULL, NULL}
#define PB_App_LockStatusRequest_init_zero       {0}
#define PB_App_LockStatusResponse_init_zero      {0}
#define PB_App_AppExitRequest_init_zero          {0}
#define PB_App_AppLoadFileRequest_init_zero      {""}
#define PB_App_AppButtonPressRequest_init_zero   {""}
#define PB_App_AppButtonReleaseRequest_init_zero {0}
#define PB_App_AppStateResponse_init_zero        {_PB_App_AppState_MIN}
#define PB_App_GetErrorRequest_init_zero         {0}
#define PB_App_GetErrorResponse_init_zero        {0, NULL}
#define PB_App_DataExchangeRequest_init_zero     {NULL}

/* Field tags (for use in manual encoding/decoding) */
#define PB_App_DataExchangeRequest_data_tag      1
#define PB_App_StartRequest_name_tag             1
#define PB_App_StartRequest_args_tag             2
#define PB_App_AppButtonPressRequest_args_tag    1
#define PB_App_AppLoadFileRequest_path_tag       1
#define PB_App_AppStateResponse_state_tag        1
#define PB_App_GetErrorResponse_code_tag         1
#define PB_App_GetErrorResponse_text_tag         2
#define PB_App_LockStatusResponse_locked_tag     1

/* Struct field encoding specification for nanopb */
#define PB_App_StartRequest_FIELDLIST(X, a) \
X(a, POINTER,  SINGULAR, STRING,   name,              1) \
X(a, POINTER,  SINGULAR, STRING,   args,              2)
#define PB_App_StartRequest_CALLBACK NULL
#define PB_App_StartRequest_DEFAULT NULL

#define PB_App_LockStatusRequest_FIELDLIST(X, a) \

#define PB_App_LockStatusRequest_CALLBACK NULL
#define PB_App_LockStatusRequest_DEFAULT NULL

#define PB_App_LockStatusResponse_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, BOOL,     locked,            1)
#define PB_App_LockStatusResponse_CALLBACK NULL
#define PB_App_LockStatusResponse_DEFAULT NULL

#define PB_App_AppExitRequest_FIELDLIST(X, a) \

#define PB_App_AppExitRequest_CALLBACK NULL
#define PB_App_AppExitRequest_DEFAULT NULL

#define PB_App_AppLoadFileRequest_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, STRING,   path,              1)
#define PB_App_AppLoadFileRequest_CALLBACK NULL
#define PB_App_AppLoadFileRequest_DEFAULT NULL

#define PB_App_AppButtonPressRequest_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, STRING,   args,              1)
#define PB_App_AppButtonPressRequest_CALLBACK NULL
#define PB_App_AppButtonPressRequest_DEFAULT NULL

#define PB_App_AppButtonReleaseRequest_FIELDLIST(X, a) \

#define PB_App_AppButtonReleaseRequest_CALLBACK NULL
#define PB_App_AppButtonReleaseRequest_DEFAULT NULL

#define PB_App_AppStateResponse_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UENUM,    state,             1)
#define PB_App_AppStateResponse_CALLBACK NULL
#define PB_App_AppStateResponse_DEFAULT NULL

#define PB_App_GetErrorRequest_FIELDLIST(X, a) \

#define PB_App_GetErrorRequest_CALLBACK NULL
#define PB_App_GetErrorRequest_DEFAULT NULL

#define PB_App_GetErrorResponse_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   code,              1) \
X(a, POINTER,  SINGULAR, STRING,   text,              2)
#define PB_App_GetErrorResponse_CALLBACK NULL
#define PB_App_GetErrorResponse_DEFAULT NULL

#define PB_App_DataExchangeRequest_FIELDLIST(X, a) \
X(a, POINTER,  SINGULAR, BYTES,    data,              1)
#define PB_App_DataExchangeRequest_CALLBACK NULL
#define PB_App_DataExchangeRequest_DEFAULT NULL

extern const pb_msgdesc_t PB_App_StartRequest_msg;
extern const pb_msgdesc_t PB_App_LockStatusRequest_msg;
extern const pb_msgdesc_t PB_App_LockStatusResponse_msg;
extern const pb_msgdesc_t PB_App_AppExitRequest_msg;
extern const pb_msgdesc_t PB_App_AppLoadFileRequest_msg;
extern const pb_msgdesc_t PB_App_AppButtonPressRequest_msg;
extern const pb_msgdesc_t PB_App_AppButtonReleaseRequest_msg;
extern const pb_msgdesc_t PB_App_AppStateResponse_msg;
extern const pb_msgdesc_t PB_App_GetErrorRequest_msg;
extern const pb_msgdesc_t PB_App_GetErrorResponse_msg;
extern const pb_msgdesc_t PB_App_DataExchangeRequest_msg;

/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
#define PB_App_StartRequest_fields &PB_App_StartRequest_msg
#define PB_App_LockStatusRequest_fields &PB_App_LockStatusRequest_msg
#define PB_App_LockStatusResponse_fields &PB_App_LockStatusResponse_msg
#define PB_App_AppExitRequest_fields &PB_App_AppExitRequest_msg
#define PB_App_AppLoadFileRequest_fields &PB_App_AppLoadFileRequest_msg
#define PB_App_AppButtonPressRequest_fields &PB_App_AppButtonPressRequest_msg
#define PB_App_AppButtonReleaseRequest_fields &PB_App_AppButtonReleaseRequest_msg
#define PB_App_AppStateResponse_fields &PB_App_AppStateResponse_msg
#define PB_App_GetErrorRequest_fields &PB_App_GetErrorRequest_msg
#define PB_App_GetErrorResponse_fields &PB_App_GetErrorResponse_msg
#define PB_App_DataExchangeRequest_fields &PB_App_DataExchangeRequest_msg

/* Maximum encoded size of messages (where known) */
/* PB_App_StartRequest_size depends on runtime parameters */
/* PB_App_GetErrorResponse_size depends on runtime parameters */
/* PB_App_DataExchangeRequest_size depends on runtime parameters */
#define PB_App_AppButtonPressRequest_size        515
#define PB_App_AppButtonReleaseRequest_size      0
#define PB_App_AppExitRequest_size               0
#define PB_App_AppLoadFileRequest_size           515
#define PB_App_AppStateResponse_size             2
#define PB_App_GetErrorRequest_size              0
#define PB_App_LockStatusRequest_size            0
#define PB_App_LockStatusResponse_size           2

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

#endif
