// Generated by the protocol buffer compiler.  DO NOT EDIT!
// clang-format off
// source: deviceapis/device/v1/deviceapis_device_reader_v1.proto

// This CPP symbol can be defined to use imports that match up to the framework
// imports needed when using CocoaPods.
#if !defined(GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS)
 #define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 0
#endif

#if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS
 #import <Protobuf/GPBProtocolBuffers.h>
#else
 #import "GPBProtocolBuffers.h"
#endif

#if GOOGLE_PROTOBUF_OBJC_VERSION < 30007
#error This file was generated by a newer version of protoc which is incompatible with your Protocol Buffer library sources.
#endif
#if 30007 < GOOGLE_PROTOBUF_OBJC_MIN_SUPPORTED_VERSION
#error This file was generated by an older version of protoc which is incompatible with your Protocol Buffer library sources.
#endif

// @@protoc_insertion_point(imports)

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"

CF_EXTERN_C_BEGIN

@class DEVICEAPISDEVICEV1EditReaderResponse_Error;
@class DEVICEAPISDEVICEV1Reader;
@class DEVICEAPISDEVICEV1Reader_SavingError;
@class DEVICEAPISDEVICEV1Reader_SavingError_ProfileIsNotSupported;
@class DEVICEAPISDEVICEV1Reader_SavingError_ProfileNotFound;
@class DEVICEAPISDEVICEV1Reader_SavingError_ReaderNotFound;
@class DEVICEAPISDEVICEV1ValidationError;

NS_ASSUME_NONNULL_BEGIN

#pragma mark - Enum DEVICEAPISDEVICEV1Reader_DirectionType

/** Направление */
typedef GPB_ENUM(DEVICEAPISDEVICEV1Reader_DirectionType) {
  /**
   * Value used if any message's field encounters a value that is not defined
   * by this enum. The message will also have C functions to get/set the rawValue
   * of the field.
   **/
  DEVICEAPISDEVICEV1Reader_DirectionType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  DEVICEAPISDEVICEV1Reader_DirectionType_DirectionTypeUnknown = 0,

  /** Вход */
  DEVICEAPISDEVICEV1Reader_DirectionType_In = 1,

  /** Выход */
  DEVICEAPISDEVICEV1Reader_DirectionType_Out = 2,
};

GPBEnumDescriptor *DEVICEAPISDEVICEV1Reader_DirectionType_EnumDescriptor(void);

/**
 * Checks to see if the given value is defined by the enum or was not known at
 * the time this source was generated.
 **/
BOOL DEVICEAPISDEVICEV1Reader_DirectionType_IsValidValue(int32_t value);

#pragma mark - DEVICEAPISDEVICEV1DeviceapisDeviceReaderV1Root

/**
 * Exposes the extension registry for this file.
 *
 * The base class provides:
 * @code
 *   + (GPBExtensionRegistry *)extensionRegistry;
 * @endcode
 * which is a @c GPBExtensionRegistry that includes all the extensions defined by
 * this file and all files that it depends on.
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1DeviceapisDeviceReaderV1Root : GPBRootObject
@end

#pragma mark - DEVICEAPISDEVICEV1EditReaderRequest

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditReaderRequest_FieldNumber) {
  DEVICEAPISDEVICEV1EditReaderRequest_FieldNumber_Data_p = 1,
  DEVICEAPISDEVICEV1EditReaderRequest_FieldNumber_UpdateMask = 2,
};

/**
 * Запрос редактирования считывателя
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1EditReaderRequest : GPBMessage

/** Считыватель */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1Reader *data_p;
/** Test to see if @c data_p has been set. */
@property(nonatomic, readwrite) BOOL hasData_p;

/** Маска полей обновления */
@property(nonatomic, readwrite, strong, null_resettable) GPBFieldMask *updateMask;
/** Test to see if @c updateMask has been set. */
@property(nonatomic, readwrite) BOOL hasUpdateMask;

@end

#pragma mark - DEVICEAPISDEVICEV1EditReaderResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditReaderResponse_FieldNumber) {
  DEVICEAPISDEVICEV1EditReaderResponse_FieldNumber_Error = 1,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditReaderResponse_Type_OneOfCase) {
  DEVICEAPISDEVICEV1EditReaderResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1EditReaderResponse_Type_OneOfCase_Error = 1,
};

/**
 * Ответ на запрос редактирования считывателя
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1EditReaderResponse : GPBMessage

/** Тип ответа */
@property(nonatomic, readonly) DEVICEAPISDEVICEV1EditReaderResponse_Type_OneOfCase typeOneOfCase;

/** Ошибка */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1EditReaderResponse_Error *error;

@end

/**
 * Clears whatever value was set for the oneof 'type'.
 **/
void DEVICEAPISDEVICEV1EditReaderResponse_ClearTypeOneOfCase(DEVICEAPISDEVICEV1EditReaderResponse *message);

#pragma mark - DEVICEAPISDEVICEV1EditReaderResponse_Error

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditReaderResponse_Error_FieldNumber) {
  DEVICEAPISDEVICEV1EditReaderResponse_Error_FieldNumber_Validation = 1,
  DEVICEAPISDEVICEV1EditReaderResponse_Error_FieldNumber_Saving = 2,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditReaderResponse_Error_Reason_OneOfCase) {
  DEVICEAPISDEVICEV1EditReaderResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1EditReaderResponse_Error_Reason_OneOfCase_Validation = 1,
  DEVICEAPISDEVICEV1EditReaderResponse_Error_Reason_OneOfCase_Saving = 2,
};

/**
 * Ошибка запроса
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1EditReaderResponse_Error : GPBMessage

/** Причина ошибки */
@property(nonatomic, readonly) DEVICEAPISDEVICEV1EditReaderResponse_Error_Reason_OneOfCase reasonOneOfCase;

/** Ошибка валидации */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1ValidationError *validation;

/** Ошибка сохранения */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1Reader_SavingError *saving;

@end

/**
 * Clears whatever value was set for the oneof 'reason'.
 **/
void DEVICEAPISDEVICEV1EditReaderResponse_Error_ClearReasonOneOfCase(DEVICEAPISDEVICEV1EditReaderResponse_Error *message);

#pragma mark - DEVICEAPISDEVICEV1GetReaderRequest

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetReaderRequest_FieldNumber) {
  DEVICEAPISDEVICEV1GetReaderRequest_FieldNumber_Id_p = 1,
};

/**
 * Запрос получения считывателя
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1GetReaderRequest : GPBMessage

/**
 * Идентификатор.
 * id=100 - Считыватель внутренний.
 * id=1 - Считыватель внешний №1.
 * id=2 - Считыватель внешний №2 и тд
 **/
@property(nonatomic, readwrite) int32_t id_p;

@end

#pragma mark - DEVICEAPISDEVICEV1GetReaderResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetReaderResponse_FieldNumber) {
  DEVICEAPISDEVICEV1GetReaderResponse_FieldNumber_Data_p = 1,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetReaderResponse_Type_OneOfCase) {
  DEVICEAPISDEVICEV1GetReaderResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1GetReaderResponse_Type_OneOfCase_Data_p = 1,
};

/**
 * Ответ на запрос получения считывателя
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1GetReaderResponse : GPBMessage

/** Тип ответа */
@property(nonatomic, readonly) DEVICEAPISDEVICEV1GetReaderResponse_Type_OneOfCase typeOneOfCase;

/** Считыватель */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1Reader *data_p;

@end

/**
 * Clears whatever value was set for the oneof 'type'.
 **/
void DEVICEAPISDEVICEV1GetReaderResponse_ClearTypeOneOfCase(DEVICEAPISDEVICEV1GetReaderResponse *message);

#pragma mark - DEVICEAPISDEVICEV1Reader

typedef GPB_ENUM(DEVICEAPISDEVICEV1Reader_FieldNumber) {
  DEVICEAPISDEVICEV1Reader_FieldNumber_Id_p = 1,
  DEVICEAPISDEVICEV1Reader_FieldNumber_EncryptionProfileIdsArray = 2,
  DEVICEAPISDEVICEV1Reader_FieldNumber_RelayIndexesArray = 3,
  DEVICEAPISDEVICEV1Reader_FieldNumber_IsNoneSecureMode = 4,
  DEVICEAPISDEVICEV1Reader_FieldNumber_DirectionType = 5,
};

/**
 * Считыватель
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1Reader : GPBMessage

/**
 * Идентификатор.
 * id=100 - Считыватель внутренний.
 * id=1 - Считыватель внешний №1.
 * id=2 - Считыватель внешний №2 и тд
 **/
@property(nonatomic, readwrite) int32_t id_p;

/** Список идентификаторов профилей шифрования */
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Array *encryptionProfileIdsArray;
/** The number of items in @c encryptionProfileIdsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger encryptionProfileIdsArray_Count;

/**
 * Список идентификаторов реле.
 * Диапазон: 1..64
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Array *relayIndexesArray;
/** The number of items in @c relayIndexesArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger relayIndexesArray_Count;

/** Считыватель работает не в безопасном режиме (по UID) */
@property(nonatomic, readwrite) BOOL isNoneSecureMode;

/** Направление */
@property(nonatomic, readwrite) DEVICEAPISDEVICEV1Reader_DirectionType directionType;

@end

/**
 * Fetches the raw value of a @c DEVICEAPISDEVICEV1Reader's @c directionType property, even
 * if the value was not defined by the enum at the time the code was generated.
 **/
int32_t DEVICEAPISDEVICEV1Reader_DirectionType_RawValue(DEVICEAPISDEVICEV1Reader *message);
/**
 * Sets the raw value of an @c DEVICEAPISDEVICEV1Reader's @c directionType property, allowing
 * it to be set to a value that was not defined by the enum at the time the code
 * was generated.
 **/
void SetDEVICEAPISDEVICEV1Reader_DirectionType_RawValue(DEVICEAPISDEVICEV1Reader *message, int32_t value);

#pragma mark - DEVICEAPISDEVICEV1Reader_SavingError

typedef GPB_ENUM(DEVICEAPISDEVICEV1Reader_SavingError_FieldNumber) {
  DEVICEAPISDEVICEV1Reader_SavingError_FieldNumber_ReaderNotFound = 1,
  DEVICEAPISDEVICEV1Reader_SavingError_FieldNumber_ProfileIsNotSupported = 2,
  DEVICEAPISDEVICEV1Reader_SavingError_FieldNumber_ProfileNotFound = 3,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1Reader_SavingError_Reason_OneOfCase) {
  DEVICEAPISDEVICEV1Reader_SavingError_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1Reader_SavingError_Reason_OneOfCase_ReaderNotFound = 1,
  DEVICEAPISDEVICEV1Reader_SavingError_Reason_OneOfCase_ProfileIsNotSupported = 2,
  DEVICEAPISDEVICEV1Reader_SavingError_Reason_OneOfCase_ProfileNotFound = 3,
};

/**
 * Ошибки сохранения
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1Reader_SavingError : GPBMessage

/** Причина ошибки */
@property(nonatomic, readonly) DEVICEAPISDEVICEV1Reader_SavingError_Reason_OneOfCase reasonOneOfCase;

/** Считыватель не найден */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1Reader_SavingError_ReaderNotFound *readerNotFound;

/** Профиль не поддерживается для этого считывателя */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1Reader_SavingError_ProfileIsNotSupported *profileIsNotSupported;

/** Выбранный профиль не найден */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1Reader_SavingError_ProfileNotFound *profileNotFound;

@end

/**
 * Clears whatever value was set for the oneof 'reason'.
 **/
void DEVICEAPISDEVICEV1Reader_SavingError_ClearReasonOneOfCase(DEVICEAPISDEVICEV1Reader_SavingError *message);

#pragma mark - DEVICEAPISDEVICEV1Reader_SavingError_ProfileIsNotSupported

typedef GPB_ENUM(DEVICEAPISDEVICEV1Reader_SavingError_ProfileIsNotSupported_FieldNumber) {
  DEVICEAPISDEVICEV1Reader_SavingError_ProfileIsNotSupported_FieldNumber_ProfileIdsArray = 1,
};

/**
 * Профиль не поддерживается для этого считывателя
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1Reader_SavingError_ProfileIsNotSupported : GPBMessage

/** Список идентификаторов профилей, которые не поддерживаются на считывателе */
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Array *profileIdsArray;
/** The number of items in @c profileIdsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger profileIdsArray_Count;

@end

#pragma mark - DEVICEAPISDEVICEV1Reader_SavingError_ProfileNotFound

/**
 * Выбранный профиль не найден
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1Reader_SavingError_ProfileNotFound : GPBMessage

@end

#pragma mark - DEVICEAPISDEVICEV1Reader_SavingError_ReaderNotFound

/**
 * Считыватель не найден
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1Reader_SavingError_ReaderNotFound : GPBMessage

@end

NS_ASSUME_NONNULL_END

CF_EXTERN_C_END

#pragma clang diagnostic pop

// @@protoc_insertion_point(global_scope)

// clang-format on
