// Generated by the protocol buffer compiler.  DO NOT EDIT!
// clang-format off
// source: keyapis/vc/v1/keyapis_vc_camera_access_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

NS_ASSUME_NONNULL_BEGIN

#pragma mark - Enum KEYAPISVCV1CameraAccess_AccessorType

/** Тип субъекта доступа */
typedef GPB_ENUM(KEYAPISVCV1CameraAccess_AccessorType) {
  /**
   * 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.
   **/
  KEYAPISVCV1CameraAccess_AccessorType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указно */
  KEYAPISVCV1CameraAccess_AccessorType_AccessorTypeUnknown = 0,

  /** Пользователь */
  KEYAPISVCV1CameraAccess_AccessorType_User = 1,

  /** ГРуппа */
  KEYAPISVCV1CameraAccess_AccessorType_Group = 2,
};

GPBEnumDescriptor *KEYAPISVCV1CameraAccess_AccessorType_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 KEYAPISVCV1CameraAccess_AccessorType_IsValidValue(int32_t value);

#pragma mark - KEYAPISVCV1KeyapisVcCameraAccessV1Root

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

#pragma mark - KEYAPISVCV1CameraAccess

typedef GPB_ENUM(KEYAPISVCV1CameraAccess_FieldNumber) {
  KEYAPISVCV1CameraAccess_FieldNumber_ExternalId = 1,
  KEYAPISVCV1CameraAccess_FieldNumber_AccessorType = 2,
  KEYAPISVCV1CameraAccess_FieldNumber_AccessorId = 3,
  KEYAPISVCV1CameraAccess_FieldNumber_VcCompanyId = 4,
};

/**
 * Доступ к камере.
 * # Описание модели
 **/
GPB_FINAL @interface KEYAPISVCV1CameraAccess : GPBMessage

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

/** Тип субъекта доступа */
@property(nonatomic, readwrite) KEYAPISVCV1CameraAccess_AccessorType accessorType;

/**
 * Идентификатор субъекта доступа.
 * # Диапазон: 1..36
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *accessorId;

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

@end

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

NS_ASSUME_NONNULL_END

CF_EXTERN_C_END

#pragma clang diagnostic pop

// @@protoc_insertion_point(global_scope)

// clang-format on
