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

#ifndef PB_READGROUP_READER_V2_READGROUP_READER_V2_EXPORT_PB_H_INCLUDED
#define PB_READGROUP_READER_V2_READGROUP_READER_V2_EXPORT_PB_H_INCLUDED
#include <pb.h>
#include "readgroup/reader/v2/get.pb.h"

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

/* Enum definitions */
typedef enum _readgroup_reader_v2_ReportType {
    readgroup_reader_v2_ReportType_REPORT_TYPE_UNSPECIFIED = 0,
    readgroup_reader_v2_ReportType_REPORT_TYPE_CSV = 1,
    readgroup_reader_v2_ReportType_REPORT_TYPE_XML = 2,
    readgroup_reader_v2_ReportType_REPORT_TYPE_JSON = 3
} readgroup_reader_v2_ReportType;

/* Struct definitions */
typedef struct _readgroup_reader_v2_ExportReadsRequest {
    readgroup_reader_v2_ReportType type;
    bool has_request;
    readgroup_reader_v2_GetReadsRequest request;
} readgroup_reader_v2_ExportReadsRequest;

typedef struct _readgroup_reader_v2_ExportReadsResponse {
    pb_callback_t file;
} readgroup_reader_v2_ExportReadsResponse;


#ifdef __cplusplus
extern "C" {
#endif

/* Helper constants for enums */
#define _readgroup_reader_v2_ReportType_MIN readgroup_reader_v2_ReportType_REPORT_TYPE_UNSPECIFIED
#define _readgroup_reader_v2_ReportType_MAX readgroup_reader_v2_ReportType_REPORT_TYPE_JSON
#define _readgroup_reader_v2_ReportType_ARRAYSIZE ((readgroup_reader_v2_ReportType)(readgroup_reader_v2_ReportType_REPORT_TYPE_JSON+1))

#define readgroup_reader_v2_ExportReadsRequest_type_ENUMTYPE readgroup_reader_v2_ReportType



/* Initializer values for message structs */
#define readgroup_reader_v2_ExportReadsRequest_init_default {_readgroup_reader_v2_ReportType_MIN, false, readgroup_reader_v2_GetReadsRequest_init_default}
#define readgroup_reader_v2_ExportReadsResponse_init_default {{{NULL}, NULL}}
#define readgroup_reader_v2_ExportReadsRequest_init_zero {_readgroup_reader_v2_ReportType_MIN, false, readgroup_reader_v2_GetReadsRequest_init_zero}
#define readgroup_reader_v2_ExportReadsResponse_init_zero {{{NULL}, NULL}}

/* Field tags (for use in manual encoding/decoding) */
#define readgroup_reader_v2_ExportReadsRequest_type_tag 1
#define readgroup_reader_v2_ExportReadsRequest_request_tag 2
#define readgroup_reader_v2_ExportReadsResponse_file_tag 1

/* Struct field encoding specification for nanopb */
#define readgroup_reader_v2_ExportReadsRequest_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UENUM,    type,              1) \
X(a, STATIC,   OPTIONAL, MESSAGE,  request,           2)
#define readgroup_reader_v2_ExportReadsRequest_CALLBACK NULL
#define readgroup_reader_v2_ExportReadsRequest_DEFAULT NULL
#define readgroup_reader_v2_ExportReadsRequest_request_MSGTYPE readgroup_reader_v2_GetReadsRequest

#define readgroup_reader_v2_ExportReadsResponse_FIELDLIST(X, a) \
X(a, CALLBACK, SINGULAR, STRING,   file,              1)
#define readgroup_reader_v2_ExportReadsResponse_CALLBACK pb_default_field_callback
#define readgroup_reader_v2_ExportReadsResponse_DEFAULT NULL

extern const pb_msgdesc_t readgroup_reader_v2_ExportReadsRequest_msg;
extern const pb_msgdesc_t readgroup_reader_v2_ExportReadsResponse_msg;

/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
#define readgroup_reader_v2_ExportReadsRequest_fields &readgroup_reader_v2_ExportReadsRequest_msg
#define readgroup_reader_v2_ExportReadsResponse_fields &readgroup_reader_v2_ExportReadsResponse_msg

/* Maximum encoded size of messages (where known) */
/* readgroup_reader_v2_ExportReadsResponse_size depends on runtime parameters */
#if defined(readgroup_reader_v2_GetReadsRequest_size)
#define READGROUP_READER_V2_READGROUP_READER_V2_EXPORT_PB_H_MAX_SIZE readgroup_reader_v2_ExportReadsRequest_size
#define readgroup_reader_v2_ExportReadsRequest_size (8 + readgroup_reader_v2_GetReadsRequest_size)
#endif

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

#endif
