// Generated by the protocol buffer compiler.  DO NOT EDIT!
// clang-format off
// source: deviceapis/device/v1/deviceapis_device_gate_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 DEVICEAPISDEVICEV1GateMode;
@class DEVICEAPISDEVICEV1House;
@class DEVICEAPISDEVICEV1House_RoomRange;
@class DEVICEAPISDEVICEV1SaveGateModeResponse_Error;
@class DEVICEAPISDEVICEV1ValidationError;

NS_ASSUME_NONNULL_BEGIN

#pragma mark - Enum DEVICEAPISDEVICEV1House_InviteTemplateType

/** Варианты подстановки номера дома и квартиры в SIP Invite */
typedef GPB_ENUM(DEVICEAPISDEVICEV1House_InviteTemplateType) {
  /**
   * 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.
   **/
  DEVICEAPISDEVICEV1House_InviteTemplateType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  DEVICEAPISDEVICEV1House_InviteTemplateType_InviteTemplateTypeUnknown = 0,

  /**
   * 4 символа для номера дома с лидирующими нулями, 4 символа для номера квартиры с лидирующими нулями.
   * Номера дома и квартиры при звонке подставляются в виде: 00120123\@sip.acme.io
   **/
  DEVICEAPISDEVICEV1House_InviteTemplateType_H4LzF4Lz = 1,

  /**
   * 4 символа для номера дома с лидирующими нулями, 4 или меньше символа для номера квартиры.
   * Номера дома и квартиры при звонке подставляются в виде: 0012123\@sip.acme.io
   **/
  DEVICEAPISDEVICEV1House_InviteTemplateType_H4LzF4 = 2,

  /**
   * 4 или меньше символа для номера дома, 4 символа для номера квартиры с лидирующими нулями.
   * Номера дома и квартиры при звонке подставляются в виде: 120123\@sip.acme.io
   **/
  DEVICEAPISDEVICEV1House_InviteTemplateType_H4F4Lz = 3,
};

GPBEnumDescriptor *DEVICEAPISDEVICEV1House_InviteTemplateType_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 DEVICEAPISDEVICEV1House_InviteTemplateType_IsValidValue(int32_t value);

#pragma mark - DEVICEAPISDEVICEV1DeviceapisDeviceGateV1Root

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

#pragma mark - DEVICEAPISDEVICEV1GateMode

typedef GPB_ENUM(DEVICEAPISDEVICEV1GateMode_FieldNumber) {
  DEVICEAPISDEVICEV1GateMode_FieldNumber_IsGateModeOn = 1,
  DEVICEAPISDEVICEV1GateMode_FieldNumber_HousesArray = 2,
};

/**
 * Настройки Gate режима
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1GateMode : GPBMessage

/**
 * Флаг включения Gate режима.
 * true=gate; false=ordinary
 **/
@property(nonatomic, readwrite) BOOL isGateModeOn;

/**
 * Дома Gate режима.
 * При редактировании массив полностью заменяется на отправленный
 **/
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<DEVICEAPISDEVICEV1House*> *housesArray;
/** The number of items in @c housesArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger housesArray_Count;

@end

#pragma mark - DEVICEAPISDEVICEV1GetGateModeRequest

/**
 * Запрос получения Gate режима
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1GetGateModeRequest : GPBMessage

@end

#pragma mark - DEVICEAPISDEVICEV1GetGateModeResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetGateModeResponse_FieldNumber) {
  DEVICEAPISDEVICEV1GetGateModeResponse_FieldNumber_Data_p = 1,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetGateModeResponse_Type_OneOfCase) {
  DEVICEAPISDEVICEV1GetGateModeResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1GetGateModeResponse_Type_OneOfCase_Data_p = 1,
};

/**
 * Ответ на запрос получения Gate режима
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1GetGateModeResponse : GPBMessage

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

/** Настройки Gate режима */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1GateMode *data_p;

@end

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

#pragma mark - DEVICEAPISDEVICEV1House

typedef GPB_ENUM(DEVICEAPISDEVICEV1House_FieldNumber) {
  DEVICEAPISDEVICEV1House_FieldNumber_Address = 1,
  DEVICEAPISDEVICEV1House_FieldNumber_Prefix = 2,
  DEVICEAPISDEVICEV1House_FieldNumber_RoomRange = 3,
  DEVICEAPISDEVICEV1House_FieldNumber_SipServer = 4,
  DEVICEAPISDEVICEV1House_FieldNumber_InviteTemplateType = 5,
};

/**
 * Дом Gate режима
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1House : GPBMessage

/** Адрес дома */
@property(nonatomic, readwrite, copy, null_resettable) NSString *address;

/** Номер дома (подъезда) */
@property(nonatomic, readwrite, copy, null_resettable) NSString *prefix;

/**
 * Диапазон квартир.
 * Если не задан, то устройство позволяет набор любой квартиры
 **/
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1House_RoomRange *roomRange;
/** Test to see if @c roomRange has been set. */
@property(nonatomic, readwrite) BOOL hasRoomRange;

/**
 * Адрес Sip сервера.
 * При пустом sip_server будет использован сервер SIP регистрации
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *sipServer;

/**
 * Вариант подстановки номера дома и квартиры в SIP Invite.
 * При отсутствии значения используется вариант H4LZ_F4LZ
 **/
@property(nonatomic, readwrite) DEVICEAPISDEVICEV1House_InviteTemplateType inviteTemplateType;

@end

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

#pragma mark - DEVICEAPISDEVICEV1House_RoomRange

typedef GPB_ENUM(DEVICEAPISDEVICEV1House_RoomRange_FieldNumber) {
  DEVICEAPISDEVICEV1House_RoomRange_FieldNumber_FirstRoomNumber = 1,
  DEVICEAPISDEVICEV1House_RoomRange_FieldNumber_LastRoomNumber = 2,
};

/**
 * Диапазон квартир
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1House_RoomRange : GPBMessage

/** Начало диапазона включительно */
@property(nonatomic, readwrite, copy, null_resettable) NSString *firstRoomNumber;

/** Конец диапазона включительно */
@property(nonatomic, readwrite, copy, null_resettable) NSString *lastRoomNumber;

@end

#pragma mark - DEVICEAPISDEVICEV1SaveGateModeRequest

typedef GPB_ENUM(DEVICEAPISDEVICEV1SaveGateModeRequest_FieldNumber) {
  DEVICEAPISDEVICEV1SaveGateModeRequest_FieldNumber_Data_p = 1,
};

/**
 * Запрос редактирования Gate режима
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1SaveGateModeRequest : GPBMessage

/** Настройки Gate режима */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1GateMode *data_p;
/** Test to see if @c data_p has been set. */
@property(nonatomic, readwrite) BOOL hasData_p;

@end

#pragma mark - DEVICEAPISDEVICEV1SaveGateModeResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1SaveGateModeResponse_FieldNumber) {
  DEVICEAPISDEVICEV1SaveGateModeResponse_FieldNumber_Data_p = 1,
  DEVICEAPISDEVICEV1SaveGateModeResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1SaveGateModeResponse_Type_OneOfCase) {
  DEVICEAPISDEVICEV1SaveGateModeResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1SaveGateModeResponse_Type_OneOfCase_Data_p = 1,
  DEVICEAPISDEVICEV1SaveGateModeResponse_Type_OneOfCase_Error = 2,
};

/**
 * Ответ на запрос редактирования Gate режима
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1SaveGateModeResponse : GPBMessage

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

/** Настройки Gate режима */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1GateMode *data_p;

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

@end

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

#pragma mark - DEVICEAPISDEVICEV1SaveGateModeResponse_Error

typedef GPB_ENUM(DEVICEAPISDEVICEV1SaveGateModeResponse_Error_FieldNumber) {
  DEVICEAPISDEVICEV1SaveGateModeResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1SaveGateModeResponse_Error_Reason_OneOfCase) {
  DEVICEAPISDEVICEV1SaveGateModeResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1SaveGateModeResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

NS_ASSUME_NONNULL_END

CF_EXTERN_C_END

#pragma clang diagnostic pop

// @@protoc_insertion_point(global_scope)

// clang-format on
