// Generated by the protocol buffer compiler.  DO NOT EDIT!
// clang-format off
// source: keyapis/ecosystem/v1/keyapis_ecosystem_lego_adapter_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 KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckResponse_Error;
@class KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError;
@class KEYAPISECOSYSTEMV1ValidationError;

NS_ASSUME_NONNULL_BEGIN

#pragma mark - Enum KEYAPISECOSYSTEMV1Service_Type

/** Тип услуги */
typedef GPB_ENUM(KEYAPISECOSYSTEMV1Service_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.
   **/
  KEYAPISECOSYSTEMV1Service_Type_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  KEYAPISECOSYSTEMV1Service_Type_TypeUnknown = 0,

  /** Cотовая связь */
  KEYAPISECOSYSTEMV1Service_Type_SotovayaSvyazMvno = 1,

  /** Цифровое интерактивное ТВ */
  KEYAPISECOSYSTEMV1Service_Type_Iptv = 2,

  /** Домашний интернет */
  KEYAPISECOSYSTEMV1Service_Type_Shpd = 3,

  /** Кабельное цифровое ТВ */
  KEYAPISECOSYSTEMV1Service_Type_KabelnoeTv = 4,

  /** Стационарный телефон */
  KEYAPISECOSYSTEMV1Service_Type_FiksirovannayaSvyaz = 5,

  /** Лицей */
  KEYAPISECOSYSTEMV1Service_Type_RostelecomLyceum = 6,

  /** Умный дом */
  KEYAPISECOSYSTEMV1Service_Type_SmartHouse = 7,

  /** Юрист */
  KEYAPISECOSYSTEMV1Service_Type_Jurist = 8,

  /** WINK ТВ */
  KEYAPISECOSYSTEMV1Service_Type_Wink = 9,

  /** Оборудование */
  KEYAPISECOSYSTEMV1Service_Type_SaleEquipment = 10,

  /** Ключ */
  KEYAPISECOSYSTEMV1Service_Type_SmartIntercom = 11,

  /** Шлагбаум */
  KEYAPISECOSYSTEMV1Service_Type_SmartBarrier = 12,

  /** Гарантия плюс */
  KEYAPISECOSYSTEMV1Service_Type_WarrantyPlus = 13,

  /** Аналоговое цифровое ТВ */
  KEYAPISECOSYSTEMV1Service_Type_AnalogCableTv = 14,

  /** АЛЛЁ */
  KEYAPISECOSYSTEMV1Service_Type_OttPerson = 15,

  /** Беспроводной интернет */
  KEYAPISECOSYSTEMV1Service_Type_Wifi = 16,
};

GPBEnumDescriptor *KEYAPISECOSYSTEMV1Service_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 KEYAPISECOSYSTEMV1Service_Type_IsValidValue(int32_t value);

#pragma mark - KEYAPISECOSYSTEMV1KeyapisEcosystemLegoAdapterV1Root

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

#pragma mark - KEYAPISECOSYSTEMV1Service

/**
 * Услуга
 **/
GPB_FINAL @interface KEYAPISECOSYSTEMV1Service : GPBMessage

@end

#pragma mark - KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckRequest

typedef GPB_ENUM(KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckRequest_FieldNumber) {
  KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckRequest_FieldNumber_Orpon = 1,
  KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckRequest_FieldNumber_RoomNumber = 2,
  KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckRequest_FieldNumber_ServiceType = 3,
};

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

/**
 * ОРПОН.
 * Идентификатор дома.
 * # Диапазон: 0..9223372036854775807
 **/
@property(nonatomic, readwrite) int64_t orpon;

/**
 * Номер квартиры.
 * # Паттерн: /^[0-9]{1,4}$/
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *roomNumber;

/** Тип услуги */
@property(nonatomic, readwrite) KEYAPISECOSYSTEMV1Service_Type serviceType;

@end

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

#pragma mark - KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckResponse

typedef GPB_ENUM(KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckResponse_FieldNumber) {
  KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckResponse_FieldNumber_Data_p = 1,
  KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckResponse_Type_OneOfCase) {
  KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckResponse_Type_OneOfCase_Error = 2,
};

/**
 * Результат запроса метода проверки услуги на квартире
 **/
GPB_FINAL @interface KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckResponse : GPBMessage

/** Тип результата */
@property(nonatomic, readonly) KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckResponse_Type_OneOfCase typeOneOfCase;

/** Наличие активной услуги на квартире */
@property(nonatomic, readwrite) BOOL data_p;

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

@end

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

#pragma mark - KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckResponse_Error

typedef GPB_ENUM(KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckResponse_Error_FieldNumber) {
  KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckResponse_Error_FieldNumber_Validation = 1,
  KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckResponse_Error_FieldNumber_EcosystemApiError = 2,
};

typedef GPB_ENUM(KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckResponse_Error_Reason_OneOfCase) {
  KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckResponse_Error_Reason_OneOfCase_Validation = 1,
  KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckResponse_Error_Reason_OneOfCase_EcosystemApiError = 2,
};

/**
 * Ошибка запроса метода проверки услуги на квартире
 **/
GPB_FINAL @interface KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckResponse_Error : GPBMessage

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

/** Ошибка валидации запроса информации об услугах пользователя */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISECOSYSTEMV1ValidationError *validation;

/** Ошибка запроса к API экосистемы */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError *ecosystemApiError;

@end

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

#pragma mark - KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError

/**
 * Ошибка запроса к API экосистемы
 **/
GPB_FINAL @interface KEYAPISECOSYSTEMV1GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError : GPBMessage

@end

#pragma mark - KEYAPISECOSYSTEMV1ValidationError

typedef GPB_ENUM(KEYAPISECOSYSTEMV1ValidationError_FieldNumber) {
  KEYAPISECOSYSTEMV1ValidationError_FieldNumber_Path = 1,
  KEYAPISECOSYSTEMV1ValidationError_FieldNumber_Message = 2,
};

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

/** Путь к полю в формате наименования прото */
@property(nonatomic, readwrite, copy, null_resettable) NSString *path;

/** Валидационное сообщение */
@property(nonatomic, readwrite, copy, null_resettable) NSString *message;

@end

NS_ASSUME_NONNULL_END

CF_EXTERN_C_END

#pragma clang diagnostic pop

// @@protoc_insertion_point(global_scope)

// clang-format on
