// Generated by the protocol buffer compiler.  DO NOT EDIT!
// clang-format off
// source: deviceapis/device/v1/deviceapis_device_encryption_profile_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 DEVICEAPISDEVICEV1DeleteEncryptionProfileListResponse_Error;
@class DEVICEAPISDEVICEV1DeleteEncryptionProfileResponse_Error;
@class DEVICEAPISDEVICEV1EncryptionProfile;
@class DEVICEAPISDEVICEV1EncryptionProfileFilter;
@class DEVICEAPISDEVICEV1EncryptionProfile_DeletingError;
@class DEVICEAPISDEVICEV1EncryptionProfile_DeletingError_EncryptionProfileInUse;
@class DEVICEAPISDEVICEV1EncryptionProfile_SavingError;
@class DEVICEAPISDEVICEV1EncryptionProfile_SavingError_DuplicateName;
@class DEVICEAPISDEVICEV1EncryptionProfile_SavingError_TooMuchEncryptionProfiles;
@class DEVICEAPISDEVICEV1SaveEncryptionProfileResponse_Error;
@class DEVICEAPISDEVICEV1ValidationError;

NS_ASSUME_NONNULL_BEGIN

#pragma mark - Enum DEVICEAPISDEVICEV1EncryptionProfile_Type

/** Тип */
typedef GPB_ENUM(DEVICEAPISDEVICEV1EncryptionProfile_Type) {
  /**
   * 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.
   **/
  DEVICEAPISDEVICEV1EncryptionProfile_Type_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  DEVICEAPISDEVICEV1EncryptionProfile_Type_TypeUnknown = 0,

  /** Тип SL3 */
  DEVICEAPISDEVICEV1EncryptionProfile_Type_Sl3 = 1,

  /** Тип SL1 */
  DEVICEAPISDEVICEV1EncryptionProfile_Type_Sl1 = 2,
};

GPBEnumDescriptor *DEVICEAPISDEVICEV1EncryptionProfile_Type_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 DEVICEAPISDEVICEV1EncryptionProfile_Type_IsValidValue(int32_t value);

#pragma mark - DEVICEAPISDEVICEV1DeviceapisDeviceEncryptionProfileV1Root

/**
 * 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 DEVICEAPISDEVICEV1DeviceapisDeviceEncryptionProfileV1Root : GPBRootObject
@end

#pragma mark - DEVICEAPISDEVICEV1DeleteEncryptionProfileListRequest

/**
 * Запрос удаления списка сущностей EncryptionProfile по фильтру
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1DeleteEncryptionProfileListRequest : GPBMessage

@end

#pragma mark - DEVICEAPISDEVICEV1DeleteEncryptionProfileListResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1DeleteEncryptionProfileListResponse_FieldNumber) {
  DEVICEAPISDEVICEV1DeleteEncryptionProfileListResponse_FieldNumber_Data_p = 1,
  DEVICEAPISDEVICEV1DeleteEncryptionProfileListResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1DeleteEncryptionProfileListResponse_Type_OneOfCase) {
  DEVICEAPISDEVICEV1DeleteEncryptionProfileListResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1DeleteEncryptionProfileListResponse_Type_OneOfCase_Data_p = 1,
  DEVICEAPISDEVICEV1DeleteEncryptionProfileListResponse_Type_OneOfCase_Error = 2,
};

/**
 * Ответ на запрос удаления списка сущностей EncryptionProfile по фильтру
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1DeleteEncryptionProfileListResponse : GPBMessage

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

/** Всего количество удаленных */
@property(nonatomic, readwrite) int32_t data_p;

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

@end

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

#pragma mark - DEVICEAPISDEVICEV1DeleteEncryptionProfileListResponse_Error

typedef GPB_ENUM(DEVICEAPISDEVICEV1DeleteEncryptionProfileListResponse_Error_FieldNumber) {
  DEVICEAPISDEVICEV1DeleteEncryptionProfileListResponse_Error_FieldNumber_Validation = 1,
  DEVICEAPISDEVICEV1DeleteEncryptionProfileListResponse_Error_FieldNumber_Deleting = 2,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1DeleteEncryptionProfileListResponse_Error_Reason_OneOfCase) {
  DEVICEAPISDEVICEV1DeleteEncryptionProfileListResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1DeleteEncryptionProfileListResponse_Error_Reason_OneOfCase_Validation = 1,
  DEVICEAPISDEVICEV1DeleteEncryptionProfileListResponse_Error_Reason_OneOfCase_Deleting = 2,
};

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

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

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

/** Ошибка удаления */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1EncryptionProfile_DeletingError *deleting;

@end

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

#pragma mark - DEVICEAPISDEVICEV1DeleteEncryptionProfileRequest

typedef GPB_ENUM(DEVICEAPISDEVICEV1DeleteEncryptionProfileRequest_FieldNumber) {
  DEVICEAPISDEVICEV1DeleteEncryptionProfileRequest_FieldNumber_Id_p = 1,
};

/**
 * Запрос удаления единичной сущности EncryptionProfile по ключу
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1DeleteEncryptionProfileRequest : GPBMessage

/**
 * Идентификатор.
 * Тип: Guid
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *id_p;

@end

#pragma mark - DEVICEAPISDEVICEV1DeleteEncryptionProfileResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1DeleteEncryptionProfileResponse_FieldNumber) {
  DEVICEAPISDEVICEV1DeleteEncryptionProfileResponse_FieldNumber_Data_p = 1,
  DEVICEAPISDEVICEV1DeleteEncryptionProfileResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1DeleteEncryptionProfileResponse_Type_OneOfCase) {
  DEVICEAPISDEVICEV1DeleteEncryptionProfileResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1DeleteEncryptionProfileResponse_Type_OneOfCase_Data_p = 1,
  DEVICEAPISDEVICEV1DeleteEncryptionProfileResponse_Type_OneOfCase_Error = 2,
};

/**
 * Ответ на запрос удаления единичной сущности EncryptionProfile по ключу
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1DeleteEncryptionProfileResponse : GPBMessage

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

/** Всего количество удаленных */
@property(nonatomic, readwrite) int32_t data_p;

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

@end

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

#pragma mark - DEVICEAPISDEVICEV1DeleteEncryptionProfileResponse_Error

typedef GPB_ENUM(DEVICEAPISDEVICEV1DeleteEncryptionProfileResponse_Error_FieldNumber) {
  DEVICEAPISDEVICEV1DeleteEncryptionProfileResponse_Error_FieldNumber_Validation = 1,
  DEVICEAPISDEVICEV1DeleteEncryptionProfileResponse_Error_FieldNumber_Deleting = 2,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1DeleteEncryptionProfileResponse_Error_Reason_OneOfCase) {
  DEVICEAPISDEVICEV1DeleteEncryptionProfileResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1DeleteEncryptionProfileResponse_Error_Reason_OneOfCase_Validation = 1,
  DEVICEAPISDEVICEV1DeleteEncryptionProfileResponse_Error_Reason_OneOfCase_Deleting = 2,
};

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

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

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

/** Ошибка удаления */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1EncryptionProfile_DeletingError *deleting;

@end

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

#pragma mark - DEVICEAPISDEVICEV1EncryptionProfile

typedef GPB_ENUM(DEVICEAPISDEVICEV1EncryptionProfile_FieldNumber) {
  DEVICEAPISDEVICEV1EncryptionProfile_FieldNumber_Id_p = 1,
  DEVICEAPISDEVICEV1EncryptionProfile_FieldNumber_Title = 2,
  DEVICEAPISDEVICEV1EncryptionProfile_FieldNumber_Type = 3,
  DEVICEAPISDEVICEV1EncryptionProfile_FieldNumber_SectorNumber = 4,
  DEVICEAPISDEVICEV1EncryptionProfile_FieldNumber_BlockNumber = 5,
  DEVICEAPISDEVICEV1EncryptionProfile_FieldNumber_StartIndex = 6,
  DEVICEAPISDEVICEV1EncryptionProfile_FieldNumber_EndIndex = 7,
  DEVICEAPISDEVICEV1EncryptionProfile_FieldNumber_Password = 8,
};

/**
 * Профиль шифрования
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1EncryptionProfile : GPBMessage

/**
 * Идентификатор.
 * Тип: Guid
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *id_p;

/** Наименование */
@property(nonatomic, readwrite, copy, null_resettable) NSString *title;

/** Тип */
@property(nonatomic, readwrite) DEVICEAPISDEVICEV1EncryptionProfile_Type type;

/** Номер сектора */
@property(nonatomic, readwrite) int32_t sectorNumber;

/** Номер блока */
@property(nonatomic, readwrite) int32_t blockNumber;

/** Первый байт в блоке */
@property(nonatomic, readwrite) int32_t startIndex;

/** Последний байт в блоке */
@property(nonatomic, readwrite) int32_t endIndex;

/**
 * Пароль.
 * Не возвращается с сервера.
 * TODO: в генерации сваггера не показывать INPUT_ONLY поля в ответах
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *password;

@end

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

#pragma mark - DEVICEAPISDEVICEV1EncryptionProfile_DeletingError

typedef GPB_ENUM(DEVICEAPISDEVICEV1EncryptionProfile_DeletingError_FieldNumber) {
  DEVICEAPISDEVICEV1EncryptionProfile_DeletingError_FieldNumber_Id_p = 1,
  DEVICEAPISDEVICEV1EncryptionProfile_DeletingError_FieldNumber_EncryptionProfileInUse = 2,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1EncryptionProfile_DeletingError_Reason_OneOfCase) {
  DEVICEAPISDEVICEV1EncryptionProfile_DeletingError_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1EncryptionProfile_DeletingError_Reason_OneOfCase_EncryptionProfileInUse = 2,
};

/**
 * Ошибка удаления
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1EncryptionProfile_DeletingError : GPBMessage

/**
 * Идентификатор профиля шифрования, к которому относится ошибка.
 * Тип: Guid
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *id_p;

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

/** Профиль используется на устройстве */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1EncryptionProfile_DeletingError_EncryptionProfileInUse *encryptionProfileInUse;

@end

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

#pragma mark - DEVICEAPISDEVICEV1EncryptionProfile_DeletingError_EncryptionProfileInUse

/**
 * Профиль шифрования используется на устройстве
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1EncryptionProfile_DeletingError_EncryptionProfileInUse : GPBMessage

@end

#pragma mark - DEVICEAPISDEVICEV1EncryptionProfile_SavingError

typedef GPB_ENUM(DEVICEAPISDEVICEV1EncryptionProfile_SavingError_FieldNumber) {
  DEVICEAPISDEVICEV1EncryptionProfile_SavingError_FieldNumber_DuplicateName = 1,
  DEVICEAPISDEVICEV1EncryptionProfile_SavingError_FieldNumber_TooMuchEncryptionProfiles = 2,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1EncryptionProfile_SavingError_Reason_OneOfCase) {
  DEVICEAPISDEVICEV1EncryptionProfile_SavingError_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1EncryptionProfile_SavingError_Reason_OneOfCase_DuplicateName = 1,
  DEVICEAPISDEVICEV1EncryptionProfile_SavingError_Reason_OneOfCase_TooMuchEncryptionProfiles = 2,
};

/**
 * Ошибка сохранения.
 * Эти проверки выполняются при работе с базой данных и сторонними сервисами
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1EncryptionProfile_SavingError : GPBMessage

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

/** Профиль с таким наименованием уже существует */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1EncryptionProfile_SavingError_DuplicateName *duplicateName;

/** Превышено допустимое количество профилей шифрования */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1EncryptionProfile_SavingError_TooMuchEncryptionProfiles *tooMuchEncryptionProfiles;

@end

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

#pragma mark - DEVICEAPISDEVICEV1EncryptionProfile_SavingError_DuplicateName

/**
 * Профиль с таким наименованием уже существует
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1EncryptionProfile_SavingError_DuplicateName : GPBMessage

@end

#pragma mark - DEVICEAPISDEVICEV1EncryptionProfile_SavingError_TooMuchEncryptionProfiles

/**
 * Превышено допустимое количество профилей шифрования
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1EncryptionProfile_SavingError_TooMuchEncryptionProfiles : GPBMessage

@end

#pragma mark - DEVICEAPISDEVICEV1EncryptionProfileFilter

typedef GPB_ENUM(DEVICEAPISDEVICEV1EncryptionProfileFilter_FieldNumber) {
  DEVICEAPISDEVICEV1EncryptionProfileFilter_FieldNumber_Text = 1,
};

/**
 * Фильтр по профилям шифрования
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1EncryptionProfileFilter : GPBMessage

/**
 * Поиск по тексту.
 * Если значение не передано то поиск по нему не производится.
 * Поиск производится по полям:
 * # - Наименование
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *text;
/** Test to see if @c text has been set. */
@property(nonatomic, readwrite) BOOL hasText;

@end

#pragma mark - DEVICEAPISDEVICEV1GetEncryptionProfileListRequest

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetEncryptionProfileListRequest_FieldNumber) {
  DEVICEAPISDEVICEV1GetEncryptionProfileListRequest_FieldNumber_Filter = 1,
};

/**
 * Запрос получения списка сущностей EncryptionProfile по фильтру
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1GetEncryptionProfileListRequest : GPBMessage

/** Фильтр по профилям шифрования */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1EncryptionProfileFilter *filter;
/** Test to see if @c filter has been set. */
@property(nonatomic, readwrite) BOOL hasFilter;

@end

#pragma mark - DEVICEAPISDEVICEV1GetEncryptionProfileListResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetEncryptionProfileListResponse_FieldNumber) {
  DEVICEAPISDEVICEV1GetEncryptionProfileListResponse_FieldNumber_DataArray = 1,
};

/**
 * Ответ на запрос получения списка сущностей EncryptionProfile по фильтру
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1GetEncryptionProfileListResponse : GPBMessage

/** Список EncryptionProfile */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<DEVICEAPISDEVICEV1EncryptionProfile*> *dataArray;
/** The number of items in @c dataArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger dataArray_Count;

@end

#pragma mark - DEVICEAPISDEVICEV1GetEncryptionProfileRequest

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetEncryptionProfileRequest_FieldNumber) {
  DEVICEAPISDEVICEV1GetEncryptionProfileRequest_FieldNumber_Id_p = 1,
};

/**
 * Запрос получения единичной сущности EncryptionProfile по ключу
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1GetEncryptionProfileRequest : GPBMessage

/**
 * Идентификатор.
 * Тип: Guid
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *id_p;

@end

#pragma mark - DEVICEAPISDEVICEV1GetEncryptionProfileResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetEncryptionProfileResponse_FieldNumber) {
  DEVICEAPISDEVICEV1GetEncryptionProfileResponse_FieldNumber_Data_p = 1,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetEncryptionProfileResponse_Type_OneOfCase) {
  DEVICEAPISDEVICEV1GetEncryptionProfileResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1GetEncryptionProfileResponse_Type_OneOfCase_Data_p = 1,
};

/**
 * Ответ на запрос получения единичной сущности EncryptionProfile по ключу
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1GetEncryptionProfileResponse : GPBMessage

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

/** Профиль шифрования */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1EncryptionProfile *data_p;

@end

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

#pragma mark - DEVICEAPISDEVICEV1SaveEncryptionProfileRequest

typedef GPB_ENUM(DEVICEAPISDEVICEV1SaveEncryptionProfileRequest_FieldNumber) {
  DEVICEAPISDEVICEV1SaveEncryptionProfileRequest_FieldNumber_Data_p = 1,
};

/**
 * Запрос на создание сущности EncryptionProfile
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1SaveEncryptionProfileRequest : GPBMessage

/** Профиль шифрования */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1EncryptionProfile *data_p;
/** Test to see if @c data_p has been set. */
@property(nonatomic, readwrite) BOOL hasData_p;

@end

#pragma mark - DEVICEAPISDEVICEV1SaveEncryptionProfileResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1SaveEncryptionProfileResponse_FieldNumber) {
  DEVICEAPISDEVICEV1SaveEncryptionProfileResponse_FieldNumber_Data_p = 1,
  DEVICEAPISDEVICEV1SaveEncryptionProfileResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1SaveEncryptionProfileResponse_Type_OneOfCase) {
  DEVICEAPISDEVICEV1SaveEncryptionProfileResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1SaveEncryptionProfileResponse_Type_OneOfCase_Data_p = 1,
  DEVICEAPISDEVICEV1SaveEncryptionProfileResponse_Type_OneOfCase_Error = 2,
};

/**
 * Ответ на запрос на создание сущности EncryptionProfile
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1SaveEncryptionProfileResponse : GPBMessage

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

/** Профиль шифрования */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1EncryptionProfile *data_p;

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

@end

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

#pragma mark - DEVICEAPISDEVICEV1SaveEncryptionProfileResponse_Error

typedef GPB_ENUM(DEVICEAPISDEVICEV1SaveEncryptionProfileResponse_Error_FieldNumber) {
  DEVICEAPISDEVICEV1SaveEncryptionProfileResponse_Error_FieldNumber_Validation = 1,
  DEVICEAPISDEVICEV1SaveEncryptionProfileResponse_Error_FieldNumber_Saving = 2,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1SaveEncryptionProfileResponse_Error_Reason_OneOfCase) {
  DEVICEAPISDEVICEV1SaveEncryptionProfileResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1SaveEncryptionProfileResponse_Error_Reason_OneOfCase_Validation = 1,
  DEVICEAPISDEVICEV1SaveEncryptionProfileResponse_Error_Reason_OneOfCase_Saving = 2,
};

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

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

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

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

@end

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

NS_ASSUME_NONNULL_END

CF_EXTERN_C_END

#pragma clang diagnostic pop

// @@protoc_insertion_point(global_scope)

// clang-format on
