// Generated by the protocol buffer compiler.  DO NOT EDIT!
// clang-format off
// source: deviceapis/device/v1/deviceapis_device_room_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 DEVICEAPISDEVICEV1DeleteRoomListResponse_Error;
@class DEVICEAPISDEVICEV1DeleteRoomResponse_Error;
@class DEVICEAPISDEVICEV1Room;
@class DEVICEAPISDEVICEV1RoomFilter;
@class DEVICEAPISDEVICEV1RoomPaging;
@class DEVICEAPISDEVICEV1SaveRoomListResponse_Error;
@class DEVICEAPISDEVICEV1SaveRoomResponse_Error;
@class DEVICEAPISDEVICEV1ValidationError;

NS_ASSUME_NONNULL_BEGIN

#pragma mark - DEVICEAPISDEVICEV1DeviceapisDeviceRoomV1Root

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

#pragma mark - DEVICEAPISDEVICEV1DeleteRoomListRequest

typedef GPB_ENUM(DEVICEAPISDEVICEV1DeleteRoomListRequest_FieldNumber) {
  DEVICEAPISDEVICEV1DeleteRoomListRequest_FieldNumber_Filter = 1,
};

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

/**
 * Фильтр квартир.
 * При передаче массива в параметр фильтра элементы массива работают в выборке через ИЛИ
 **/
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1RoomFilter *filter;
/** Test to see if @c filter has been set. */
@property(nonatomic, readwrite) BOOL hasFilter;

@end

#pragma mark - DEVICEAPISDEVICEV1DeleteRoomListResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1DeleteRoomListResponse_FieldNumber) {
  DEVICEAPISDEVICEV1DeleteRoomListResponse_FieldNumber_Data_p = 1,
  DEVICEAPISDEVICEV1DeleteRoomListResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1DeleteRoomListResponse_Type_OneOfCase) {
  DEVICEAPISDEVICEV1DeleteRoomListResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1DeleteRoomListResponse_Type_OneOfCase_Data_p = 1,
  DEVICEAPISDEVICEV1DeleteRoomListResponse_Type_OneOfCase_Error = 2,
};

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

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

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

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

@end

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

#pragma mark - DEVICEAPISDEVICEV1DeleteRoomListResponse_Error

typedef GPB_ENUM(DEVICEAPISDEVICEV1DeleteRoomListResponse_Error_FieldNumber) {
  DEVICEAPISDEVICEV1DeleteRoomListResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1DeleteRoomListResponse_Error_Reason_OneOfCase) {
  DEVICEAPISDEVICEV1DeleteRoomListResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1DeleteRoomListResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

#pragma mark - DEVICEAPISDEVICEV1DeleteRoomRequest

typedef GPB_ENUM(DEVICEAPISDEVICEV1DeleteRoomRequest_FieldNumber) {
  DEVICEAPISDEVICEV1DeleteRoomRequest_FieldNumber_RoomNumber = 1,
};

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

/** Номер квартиры */
@property(nonatomic, readwrite, copy, null_resettable) NSString *roomNumber;

@end

#pragma mark - DEVICEAPISDEVICEV1DeleteRoomResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1DeleteRoomResponse_FieldNumber) {
  DEVICEAPISDEVICEV1DeleteRoomResponse_FieldNumber_Error = 1,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1DeleteRoomResponse_Type_OneOfCase) {
  DEVICEAPISDEVICEV1DeleteRoomResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1DeleteRoomResponse_Type_OneOfCase_Error = 1,
};

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

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

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

@end

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

#pragma mark - DEVICEAPISDEVICEV1DeleteRoomResponse_Error

typedef GPB_ENUM(DEVICEAPISDEVICEV1DeleteRoomResponse_Error_FieldNumber) {
  DEVICEAPISDEVICEV1DeleteRoomResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1DeleteRoomResponse_Error_Reason_OneOfCase) {
  DEVICEAPISDEVICEV1DeleteRoomResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1DeleteRoomResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

#pragma mark - DEVICEAPISDEVICEV1GetRoomCountRequest

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

@end

#pragma mark - DEVICEAPISDEVICEV1GetRoomCountResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetRoomCountResponse_FieldNumber) {
  DEVICEAPISDEVICEV1GetRoomCountResponse_FieldNumber_Data_p = 1,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetRoomCountResponse_Type_OneOfCase) {
  DEVICEAPISDEVICEV1GetRoomCountResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1GetRoomCountResponse_Type_OneOfCase_Data_p = 1,
};

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

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

/** Всего количество */
@property(nonatomic, readwrite) int32_t data_p;

@end

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

#pragma mark - DEVICEAPISDEVICEV1GetRoomListRequest

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetRoomListRequest_FieldNumber) {
  DEVICEAPISDEVICEV1GetRoomListRequest_FieldNumber_Paging = 1,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetRoomListRequest_Pagination_OneOfCase) {
  DEVICEAPISDEVICEV1GetRoomListRequest_Pagination_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1GetRoomListRequest_Pagination_OneOfCase_Paging = 1,
};

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

/** Вариант разбиения на страницы */
@property(nonatomic, readonly) DEVICEAPISDEVICEV1GetRoomListRequest_Pagination_OneOfCase paginationOneOfCase;

/** Постраничный вывод */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1RoomPaging *paging;

@end

/**
 * Clears whatever value was set for the oneof 'pagination'.
 **/
void DEVICEAPISDEVICEV1GetRoomListRequest_ClearPaginationOneOfCase(DEVICEAPISDEVICEV1GetRoomListRequest *message);

#pragma mark - DEVICEAPISDEVICEV1GetRoomListResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetRoomListResponse_FieldNumber) {
  DEVICEAPISDEVICEV1GetRoomListResponse_FieldNumber_DataArray = 1,
};

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

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

@end

#pragma mark - DEVICEAPISDEVICEV1GetRoomRequest

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetRoomRequest_FieldNumber) {
  DEVICEAPISDEVICEV1GetRoomRequest_FieldNumber_RoomNumber = 1,
};

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

/** Номер квартиры */
@property(nonatomic, readwrite, copy, null_resettable) NSString *roomNumber;

@end

#pragma mark - DEVICEAPISDEVICEV1GetRoomResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetRoomResponse_FieldNumber) {
  DEVICEAPISDEVICEV1GetRoomResponse_FieldNumber_Data_p = 1,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetRoomResponse_Type_OneOfCase) {
  DEVICEAPISDEVICEV1GetRoomResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1GetRoomResponse_Type_OneOfCase_Data_p = 1,
};

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

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

/** Квартира */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1Room *data_p;

@end

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

#pragma mark - DEVICEAPISDEVICEV1Room

typedef GPB_ENUM(DEVICEAPISDEVICEV1Room_FieldNumber) {
  DEVICEAPISDEVICEV1Room_FieldNumber_RoomNumber = 1,
  DEVICEAPISDEVICEV1Room_FieldNumber_SipForwardingNumber = 2,
  DEVICEAPISDEVICEV1Room_FieldNumber_AnalogPhoneCmsNumber = 3,
  DEVICEAPISDEVICEV1Room_FieldNumber_AnalogPhoneDigitalNumber = 4,
  DEVICEAPISDEVICEV1Room_FieldNumber_IsAnalogPhoneBlocked = 5,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1Room_Type_OneOfCase) {
  DEVICEAPISDEVICEV1Room_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1Room_Type_OneOfCase_AnalogPhoneCmsNumber = 3,
  DEVICEAPISDEVICEV1Room_Type_OneOfCase_AnalogPhoneDigitalNumber = 4,
};

/**
 * Квартира
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1Room : GPBMessage

/** Номер квартиры */
@property(nonatomic, readwrite, copy, null_resettable) NSString *roomNumber;

/**
 * Номер Sip-переадресации вызова.
 * Диапазон: 5..200
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *sipForwardingNumber;

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

/**
 * Номер координатно-матричной аналоговой трубки.
 * Где пример значения K1E9D8 - это К1 = коммутатор 1; Е9 = единицы 9; Д8 = десятки 8.
 * Паттерн: /^[A-Za-z]\\d[A-Za-z]\\d[A-Za-z]\\d$/
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *analogPhoneCmsNumber;

/**
 * Номер цифровой трубки.
 * Диапазон: 1..255
 **/
@property(nonatomic, readwrite) int32_t analogPhoneDigitalNumber;

/** Признак блокировки аналоговой (CMS) или адресно-цифровой (digital headset) трубки */
@property(nonatomic, readwrite) BOOL isAnalogPhoneBlocked;

@end

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

#pragma mark - DEVICEAPISDEVICEV1RoomFilter

typedef GPB_ENUM(DEVICEAPISDEVICEV1RoomFilter_FieldNumber) {
  DEVICEAPISDEVICEV1RoomFilter_FieldNumber_RoomNumbersArray = 1,
};

/**
 * Фильтр квартир.
 * При передаче массива в параметр фильтра элементы массива работают в выборке через ИЛИ
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1RoomFilter : GPBMessage

/**
 * По номерам квартир.
 * При пустом массиве удалятся все квартиры
 **/
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<NSString*> *roomNumbersArray;
/** The number of items in @c roomNumbersArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger roomNumbersArray_Count;

@end

#pragma mark - DEVICEAPISDEVICEV1RoomPaging

typedef GPB_ENUM(DEVICEAPISDEVICEV1RoomPaging_FieldNumber) {
  DEVICEAPISDEVICEV1RoomPaging_FieldNumber_Limit = 1,
  DEVICEAPISDEVICEV1RoomPaging_FieldNumber_Offset = 2,
};

/**
 * Постраничный вывод
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1RoomPaging : GPBMessage

/**
 * Количество записей на страницу.
 * Если значение 0 (не передано), то будет взято значение по умолчанию.
 * # Диапазон: 0..100.
 * # По умолчанию: 20
 **/
@property(nonatomic, readwrite) int32_t limit;

/**
 * Сдвиг.
 * # Диапазон: 0..2147483647
 **/
@property(nonatomic, readwrite) int32_t offset;

@end

#pragma mark - DEVICEAPISDEVICEV1SaveRoomListRequest

typedef GPB_ENUM(DEVICEAPISDEVICEV1SaveRoomListRequest_FieldNumber) {
  DEVICEAPISDEVICEV1SaveRoomListRequest_FieldNumber_DataArray = 1,
};

/**
 * Запрос сохранения списка настроек квартиры
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1SaveRoomListRequest : GPBMessage

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

@end

#pragma mark - DEVICEAPISDEVICEV1SaveRoomListResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1SaveRoomListResponse_FieldNumber) {
  DEVICEAPISDEVICEV1SaveRoomListResponse_FieldNumber_DataArray = 1,
  DEVICEAPISDEVICEV1SaveRoomListResponse_FieldNumber_ErrorsArray = 2,
};

/**
 * Ответ на запрос сохранения списка настроек квартиры
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1SaveRoomListResponse : GPBMessage

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

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

@end

#pragma mark - DEVICEAPISDEVICEV1SaveRoomListResponse_Error

typedef GPB_ENUM(DEVICEAPISDEVICEV1SaveRoomListResponse_Error_FieldNumber) {
  DEVICEAPISDEVICEV1SaveRoomListResponse_Error_FieldNumber_RoomNumber = 1,
  DEVICEAPISDEVICEV1SaveRoomListResponse_Error_FieldNumber_Validation = 2,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1SaveRoomListResponse_Error_Reason_OneOfCase) {
  DEVICEAPISDEVICEV1SaveRoomListResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1SaveRoomListResponse_Error_Reason_OneOfCase_Validation = 2,
};

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

/** Номер квартиры */
@property(nonatomic, readwrite, copy, null_resettable) NSString *roomNumber;

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

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

@end

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

#pragma mark - DEVICEAPISDEVICEV1SaveRoomRequest

typedef GPB_ENUM(DEVICEAPISDEVICEV1SaveRoomRequest_FieldNumber) {
  DEVICEAPISDEVICEV1SaveRoomRequest_FieldNumber_Data_p = 1,
};

/**
 * Запрос сохранения настроек квартиры
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1SaveRoomRequest : GPBMessage

/** Квартира */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1Room *data_p;
/** Test to see if @c data_p has been set. */
@property(nonatomic, readwrite) BOOL hasData_p;

@end

#pragma mark - DEVICEAPISDEVICEV1SaveRoomResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1SaveRoomResponse_FieldNumber) {
  DEVICEAPISDEVICEV1SaveRoomResponse_FieldNumber_Data_p = 1,
  DEVICEAPISDEVICEV1SaveRoomResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1SaveRoomResponse_Type_OneOfCase) {
  DEVICEAPISDEVICEV1SaveRoomResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1SaveRoomResponse_Type_OneOfCase_Data_p = 1,
  DEVICEAPISDEVICEV1SaveRoomResponse_Type_OneOfCase_Error = 2,
};

/**
 * Ответ на запрос сохранения настроек квартиры
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1SaveRoomResponse : GPBMessage

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

/** Квартира */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1Room *data_p;

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

@end

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

#pragma mark - DEVICEAPISDEVICEV1SaveRoomResponse_Error

typedef GPB_ENUM(DEVICEAPISDEVICEV1SaveRoomResponse_Error_FieldNumber) {
  DEVICEAPISDEVICEV1SaveRoomResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1SaveRoomResponse_Error_Reason_OneOfCase) {
  DEVICEAPISDEVICEV1SaveRoomResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1SaveRoomResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

NS_ASSUME_NONNULL_END

CF_EXTERN_C_END

#pragma clang diagnostic pop

// @@protoc_insertion_point(global_scope)

// clang-format on
