// Generated by the protocol buffer compiler.  DO NOT EDIT!
// clang-format off
// source: keyapis/vc/v1/keyapis_vc_camera_location_data_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 KEYAPISVCV1CameraLocationData;
@class KEYAPISVCV1CameraLocationData_Building;
@class KEYAPISVCV1CameraLocationData_Company;
@class KEYAPISVCV1GetCameraLocationDataResponse_Error;
@class KEYAPISVCV1ValidationError;

NS_ASSUME_NONNULL_BEGIN

#pragma mark - Enum KEYAPISVCV1CameraLocationData_StatusType

/** Справочник статусов устройства */
typedef GPB_ENUM(KEYAPISVCV1CameraLocationData_StatusType) {
  /**
   * 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.
   **/
  KEYAPISVCV1CameraLocationData_StatusType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  KEYAPISVCV1CameraLocationData_StatusType_StatusTypeUnknown = 0,

  /** Не в сети */
  KEYAPISVCV1CameraLocationData_StatusType_Offline = 1,

  /** В сети */
  KEYAPISVCV1CameraLocationData_StatusType_Online = 2,
};

GPBEnumDescriptor *KEYAPISVCV1CameraLocationData_StatusType_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 KEYAPISVCV1CameraLocationData_StatusType_IsValidValue(int32_t value);

#pragma mark - Enum KEYAPISVCV1CameraLocationData_DeviceType

/** Тип устройства */
typedef GPB_ENUM(KEYAPISVCV1CameraLocationData_DeviceType) {
  /**
   * 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.
   **/
  KEYAPISVCV1CameraLocationData_DeviceType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  KEYAPISVCV1CameraLocationData_DeviceType_DeviceTypeUnknown = 0,

  /** Домофон */
  KEYAPISVCV1CameraLocationData_DeviceType_Intercom = 1,

  /** Видеокамера */
  KEYAPISVCV1CameraLocationData_DeviceType_Videocamera = 2,

  /** Шлагбаум */
  KEYAPISVCV1CameraLocationData_DeviceType_Barrier = 3,

  /** Калитка */
  KEYAPISVCV1CameraLocationData_DeviceType_Gate = 4,

  /** СКУД */
  KEYAPISVCV1CameraLocationData_DeviceType_AccessControlPanel = 5,

  /** Наружняя видеокамера */
  KEYAPISVCV1CameraLocationData_DeviceType_OutdoorCamera = 6,
};

GPBEnumDescriptor *KEYAPISVCV1CameraLocationData_DeviceType_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 KEYAPISVCV1CameraLocationData_DeviceType_IsValidValue(int32_t value);

#pragma mark - KEYAPISVCV1KeyapisVcCameraLocationDataV1Root

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

#pragma mark - KEYAPISVCV1GetCameraLocationDataRequest

typedef GPB_ENUM(KEYAPISVCV1GetCameraLocationDataRequest_FieldNumber) {
  KEYAPISVCV1GetCameraLocationDataRequest_FieldNumber_Uid = 1,
};

/**
 * Запрос на получение данных o местонахождении камеры
 **/
GPB_FINAL @interface KEYAPISVCV1GetCameraLocationDataRequest : GPBMessage

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

@end

#pragma mark - KEYAPISVCV1GetCameraLocationDataResponse

typedef GPB_ENUM(KEYAPISVCV1GetCameraLocationDataResponse_FieldNumber) {
  KEYAPISVCV1GetCameraLocationDataResponse_FieldNumber_Data_p = 1,
  KEYAPISVCV1GetCameraLocationDataResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISVCV1GetCameraLocationDataResponse_Type_OneOfCase) {
  KEYAPISVCV1GetCameraLocationDataResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISVCV1GetCameraLocationDataResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISVCV1GetCameraLocationDataResponse_Type_OneOfCase_Error = 2,
};

/**
 * Ответ на запрос на получение данных o местонахождении камеры
 **/
GPB_FINAL @interface KEYAPISVCV1GetCameraLocationDataResponse : GPBMessage

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

/** Данные o местонахождении камеры */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISVCV1CameraLocationData *data_p;

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

@end

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

#pragma mark - KEYAPISVCV1GetCameraLocationDataResponse_Error

typedef GPB_ENUM(KEYAPISVCV1GetCameraLocationDataResponse_Error_FieldNumber) {
  KEYAPISVCV1GetCameraLocationDataResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISVCV1GetCameraLocationDataResponse_Error_Reason_OneOfCase) {
  KEYAPISVCV1GetCameraLocationDataResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISVCV1GetCameraLocationDataResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISVCV1CameraLocationData

typedef GPB_ENUM(KEYAPISVCV1CameraLocationData_FieldNumber) {
  KEYAPISVCV1CameraLocationData_FieldNumber_Uid = 1,
  KEYAPISVCV1CameraLocationData_FieldNumber_DeviceType = 2,
  KEYAPISVCV1CameraLocationData_FieldNumber_Model = 3,
  KEYAPISVCV1CameraLocationData_FieldNumber_SerialNumber = 4,
  KEYAPISVCV1CameraLocationData_FieldNumber_HwVersion = 5,
  KEYAPISVCV1CameraLocationData_FieldNumber_SwVersion = 6,
  KEYAPISVCV1CameraLocationData_FieldNumber_Mac = 7,
  KEYAPISVCV1CameraLocationData_FieldNumber_Title = 8,
  KEYAPISVCV1CameraLocationData_FieldNumber_Host = 9,
  KEYAPISVCV1CameraLocationData_FieldNumber_StatusType = 10,
  KEYAPISVCV1CameraLocationData_FieldNumber_EntranceNumbersArray = 11,
  KEYAPISVCV1CameraLocationData_FieldNumber_FlatgrammId = 12,
  KEYAPISVCV1CameraLocationData_FieldNumber_Company = 13,
  KEYAPISVCV1CameraLocationData_FieldNumber_BuildingsArray = 14,
};

/**
 * Данные o местонахождении камеры
 **/
GPB_FINAL @interface KEYAPISVCV1CameraLocationData : GPBMessage

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

/**
 * Тип устройства.
 * # Тип: byte
 **/
@property(nonatomic, readwrite) KEYAPISVCV1CameraLocationData_DeviceType deviceType;

/** Модель устройства */
@property(nonatomic, readwrite, copy, null_resettable) NSString *model;

/** Серийный номер устройства */
@property(nonatomic, readwrite, copy, null_resettable) NSString *serialNumber;

/** Версия аппаратного обеспечения */
@property(nonatomic, readwrite, copy, null_resettable) NSString *hwVersion;

/** Версия программного обеспечения */
@property(nonatomic, readwrite, copy, null_resettable) NSString *swVersion;

/**
 * MAC-адрес.
 * # Диапазон: 17..17.
 * # Паттерн: /^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *mac;

/**
 * Наименование устройства.
 * # Диапазон: 3..256
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *title;

/**
 * Сетевой адрес.
 * # Диапазон: 0..250
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *host;

/** Статус устройства */
@property(nonatomic, readwrite) KEYAPISVCV1CameraLocationData_StatusType statusType;

/**
 * Номер подъезда.
 * # Диапазон: 1..100
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Array *entranceNumbersArray;
/** The number of items in @c entranceNumbersArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger entranceNumbersArray_Count;

/**
 * Идентификатор квартирограммы.
 * # Диапазон: 1..2147483647
 **/
@property(nonatomic, readwrite) int32_t flatgrammId;

/** Компания владелец устройства */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISVCV1CameraLocationData_Company *company;
/** Test to see if @c company has been set. */
@property(nonatomic, readwrite) BOOL hasCompany;

/** Массив домов камеры */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISVCV1CameraLocationData_Building*> *buildingsArray;
/** The number of items in @c buildingsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger buildingsArray_Count;

@end

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

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

#pragma mark - KEYAPISVCV1CameraLocationData_Building

typedef GPB_ENUM(KEYAPISVCV1CameraLocationData_Building_FieldNumber) {
  KEYAPISVCV1CameraLocationData_Building_FieldNumber_Id_p = 1,
  KEYAPISVCV1CameraLocationData_Building_FieldNumber_RfId = 2,
  KEYAPISVCV1CameraLocationData_Building_FieldNumber_MrfId = 3,
  KEYAPISVCV1CameraLocationData_Building_FieldNumber_Orpon = 4,
  KEYAPISVCV1CameraLocationData_Building_FieldNumber_City = 5,
  KEYAPISVCV1CameraLocationData_Building_FieldNumber_Street = 6,
  KEYAPISVCV1CameraLocationData_Building_FieldNumber_Number = 7,
  KEYAPISVCV1CameraLocationData_Building_FieldNumber_Part = 8,
  KEYAPISVCV1CameraLocationData_Building_FieldNumber_CompanyId = 9,
  KEYAPISVCV1CameraLocationData_Building_FieldNumber_Prefix = 10,
  KEYAPISVCV1CameraLocationData_Building_FieldNumber_CreatedAt = 11,
  KEYAPISVCV1CameraLocationData_Building_FieldNumber_DeletedAt = 12,
  KEYAPISVCV1CameraLocationData_Building_FieldNumber_FlatgrammId = 13,
  KEYAPISVCV1CameraLocationData_Building_FieldNumber_CityOrpon = 14,
  KEYAPISVCV1CameraLocationData_Building_FieldNumber_Fias = 15,
  KEYAPISVCV1CameraLocationData_Building_FieldNumber_District = 16,
  KEYAPISVCV1CameraLocationData_Building_FieldNumber_Unom = 17,
  KEYAPISVCV1CameraLocationData_Building_FieldNumber_RegionOrpon = 18,
};

/**
 * Дом
 **/
GPB_FINAL @interface KEYAPISVCV1CameraLocationData_Building : GPBMessage

/** Идентификатор дома */
@property(nonatomic, readwrite) int32_t id_p;

/** Идентификатор РФ */
@property(nonatomic, readwrite) int32_t rfId;

/** Идентификатор МРФ */
@property(nonatomic, readwrite) int32_t mrfId;

/** ОРПОН */
@property(nonatomic, readwrite) int64_t orpon;

/** Город */
@property(nonatomic, readwrite, copy, null_resettable) NSString *city;

/** Улица */
@property(nonatomic, readwrite, copy, null_resettable) NSString *street;

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

/** Корпус */
@property(nonatomic, readwrite, copy, null_resettable) NSString *part;

/** Идентификатор компании */
@property(nonatomic, readwrite) int32_t companyId;

/** Префикс */
@property(nonatomic, readwrite, copy, null_resettable) NSString *prefix;

/**
 * Дата создания.
 * # Тип: DateTime
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBTimestamp *createdAt;
/** Test to see if @c createdAt has been set. */
@property(nonatomic, readwrite) BOOL hasCreatedAt;

/**
 * Дата удаления.
 * # Тип: DateTime
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBTimestamp *deletedAt;
/** Test to see if @c deletedAt has been set. */
@property(nonatomic, readwrite) BOOL hasDeletedAt;

/** Идентификатор квартирограммы */
@property(nonatomic, readwrite) int32_t flatgrammId;

/** ОРПОН города, в котором находится дом */
@property(nonatomic, readwrite) int64_t cityOrpon;

/**
 * Идентификатор в федеральной информационной адресной системе.
 * Тип: Guid
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *fias;

/**
 * Наименования района.
 * # Диапазон: 0..200
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *district;

/**
 * Уникальный номер адреса.
 * # Диапазон: 0..9999999999
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *unom;

/** ОРПОН региона */
@property(nonatomic, readwrite) int64_t regionOrpon;

@end

#pragma mark - KEYAPISVCV1CameraLocationData_Company

typedef GPB_ENUM(KEYAPISVCV1CameraLocationData_Company_FieldNumber) {
  KEYAPISVCV1CameraLocationData_Company_FieldNumber_Id_p = 1,
  KEYAPISVCV1CameraLocationData_Company_FieldNumber_VcCompanyId = 2,
  KEYAPISVCV1CameraLocationData_Company_FieldNumber_Name = 3,
  KEYAPISVCV1CameraLocationData_Company_FieldNumber_Inn = 4,
  KEYAPISVCV1CameraLocationData_Company_FieldNumber_Kpp = 5,
  KEYAPISVCV1CameraLocationData_Company_FieldNumber_Ogrn = 6,
};

/**
 * Компания
 **/
GPB_FINAL @interface KEYAPISVCV1CameraLocationData_Company : GPBMessage

/**
 * Идентификатор компании.
 * # Диапазон: 1..2147483647
 **/
@property(nonatomic, readwrite) int32_t id_p;

/** Идентификатор компании в системе Видеокомфорт */
@property(nonatomic, readwrite) int64_t vcCompanyId;

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

/** ИНН */
@property(nonatomic, readwrite, copy, null_resettable) NSString *inn;

/** КПП */
@property(nonatomic, readwrite, copy, null_resettable) NSString *kpp;

/** ОГРН */
@property(nonatomic, readwrite, copy, null_resettable) NSString *ogrn;

@end

NS_ASSUME_NONNULL_END

CF_EXTERN_C_END

#pragma clang diagnostic pop

// @@protoc_insertion_point(global_scope)

// clang-format on
