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

NS_ASSUME_NONNULL_BEGIN

#pragma mark - Enum DEVICEAPISDEVICEV1VideoChannel_FlowControlModeType

/** Режим Flow control mode */
typedef GPB_ENUM(DEVICEAPISDEVICEV1VideoChannel_FlowControlModeType) {
  /**
   * 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.
   **/
  DEVICEAPISDEVICEV1VideoChannel_FlowControlModeType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  DEVICEAPISDEVICEV1VideoChannel_FlowControlModeType_FlowControlModeTypeUnknown = 0,

  /** Режим VBR */
  DEVICEAPISDEVICEV1VideoChannel_FlowControlModeType_Vbr = 1,

  /** Режим CBR */
  DEVICEAPISDEVICEV1VideoChannel_FlowControlModeType_Cbr = 2,

  /** Режим CVBR */
  DEVICEAPISDEVICEV1VideoChannel_FlowControlModeType_Cvbr = 3,

  /** Режим AVBR */
  DEVICEAPISDEVICEV1VideoChannel_FlowControlModeType_Avbr = 4,

  /** Режим FIXP */
  DEVICEAPISDEVICEV1VideoChannel_FlowControlModeType_Fixp = 5,

  /** Режим QVBR */
  DEVICEAPISDEVICEV1VideoChannel_FlowControlModeType_Qvbr = 6,
};

GPBEnumDescriptor *DEVICEAPISDEVICEV1VideoChannel_FlowControlModeType_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 DEVICEAPISDEVICEV1VideoChannel_FlowControlModeType_IsValidValue(int32_t value);

#pragma mark - Enum DEVICEAPISDEVICEV1VideoChannel_FormatType

/** Формат видео */
typedef GPB_ENUM(DEVICEAPISDEVICEV1VideoChannel_FormatType) {
  /**
   * 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.
   **/
  DEVICEAPISDEVICEV1VideoChannel_FormatType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  DEVICEAPISDEVICEV1VideoChannel_FormatType_FormatTypeUnknown = 0,

  /** Формат mjpeg */
  DEVICEAPISDEVICEV1VideoChannel_FormatType_Mpeg = 1,

  /** Формат h.264 */
  DEVICEAPISDEVICEV1VideoChannel_FormatType_H264 = 2,

  /** Формат h.264+ */
  DEVICEAPISDEVICEV1VideoChannel_FormatType_H264Plus = 3,

  /** Формат h.265 */
  DEVICEAPISDEVICEV1VideoChannel_FormatType_H265 = 4,
};

GPBEnumDescriptor *DEVICEAPISDEVICEV1VideoChannel_FormatType_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 DEVICEAPISDEVICEV1VideoChannel_FormatType_IsValidValue(int32_t value);

#pragma mark - Enum DEVICEAPISDEVICEV1VideoChannel_ProfileType

/** Профиль */
typedef GPB_ENUM(DEVICEAPISDEVICEV1VideoChannel_ProfileType) {
  /**
   * 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.
   **/
  DEVICEAPISDEVICEV1VideoChannel_ProfileType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  DEVICEAPISDEVICEV1VideoChannel_ProfileType_ProfileTypeUnknown = 0,

  /** Высокий */
  DEVICEAPISDEVICEV1VideoChannel_ProfileType_ProfileHigh = 1,

  /** Основной */
  DEVICEAPISDEVICEV1VideoChannel_ProfileType_ProfileMain = 2,

  /** Базовый */
  DEVICEAPISDEVICEV1VideoChannel_ProfileType_ProfileBase = 3,
};

GPBEnumDescriptor *DEVICEAPISDEVICEV1VideoChannel_ProfileType_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 DEVICEAPISDEVICEV1VideoChannel_ProfileType_IsValidValue(int32_t value);

#pragma mark - Enum DEVICEAPISDEVICEV1VideoChannel_ResolutionType

/** Тип разрешения видео */
typedef GPB_ENUM(DEVICEAPISDEVICEV1VideoChannel_ResolutionType) {
  /**
   * 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.
   **/
  DEVICEAPISDEVICEV1VideoChannel_ResolutionType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  DEVICEAPISDEVICEV1VideoChannel_ResolutionType_ResolutionTypeUnknown = 0,

  /** Тип разрешения 2K 2560*1440 */
  DEVICEAPISDEVICEV1VideoChannel_ResolutionType_R2K = 1,

  /** Тип разрешения FULLHD 1920*1080 */
  DEVICEAPISDEVICEV1VideoChannel_ResolutionType_Fullhd = 2,

  /** Тип разрешения HD 1280*720 */
  DEVICEAPISDEVICEV1VideoChannel_ResolutionType_Hd = 3,

  /** Тип разрешения SD 720*576 */
  DEVICEAPISDEVICEV1VideoChannel_ResolutionType_Sd = 4,

  /** Тип разрешения 4CIF 704*576 */
  DEVICEAPISDEVICEV1VideoChannel_ResolutionType_R4Cif = 5,

  /** Тип разрешения VGA 640*480 */
  DEVICEAPISDEVICEV1VideoChannel_ResolutionType_Vga = 6,
};

GPBEnumDescriptor *DEVICEAPISDEVICEV1VideoChannel_ResolutionType_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 DEVICEAPISDEVICEV1VideoChannel_ResolutionType_IsValidValue(int32_t value);

#pragma mark - DEVICEAPISDEVICEV1DeviceapisDeviceVideoV1Root

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

#pragma mark - DEVICEAPISDEVICEV1EditVideoChannelRequest

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditVideoChannelRequest_FieldNumber) {
  DEVICEAPISDEVICEV1EditVideoChannelRequest_FieldNumber_Data_p = 1,
  DEVICEAPISDEVICEV1EditVideoChannelRequest_FieldNumber_UpdateMask = 2,
};

/**
 * Запрос редактирования единичной сущности VideoChannel по ключу
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1EditVideoChannelRequest : GPBMessage

/** Настройки видеоконфига */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1VideoChannel *data_p;
/** Test to see if @c data_p has been set. */
@property(nonatomic, readwrite) BOOL hasData_p;

/** Маска полей обновления */
@property(nonatomic, readwrite, strong, null_resettable) GPBFieldMask *updateMask;
/** Test to see if @c updateMask has been set. */
@property(nonatomic, readwrite) BOOL hasUpdateMask;

@end

#pragma mark - DEVICEAPISDEVICEV1EditVideoChannelResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditVideoChannelResponse_FieldNumber) {
  DEVICEAPISDEVICEV1EditVideoChannelResponse_FieldNumber_Data_p = 1,
  DEVICEAPISDEVICEV1EditVideoChannelResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditVideoChannelResponse_Type_OneOfCase) {
  DEVICEAPISDEVICEV1EditVideoChannelResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1EditVideoChannelResponse_Type_OneOfCase_Data_p = 1,
  DEVICEAPISDEVICEV1EditVideoChannelResponse_Type_OneOfCase_Error = 2,
};

/**
 * Ответ на запрос редактирования единичной сущности VideoChannel по ключу
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1EditVideoChannelResponse : GPBMessage

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

/** Настройки видеоконфига */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1VideoChannel *data_p;

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

@end

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

#pragma mark - DEVICEAPISDEVICEV1EditVideoChannelResponse_Error

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditVideoChannelResponse_Error_FieldNumber) {
  DEVICEAPISDEVICEV1EditVideoChannelResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditVideoChannelResponse_Error_Reason_OneOfCase) {
  DEVICEAPISDEVICEV1EditVideoChannelResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1EditVideoChannelResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

#pragma mark - DEVICEAPISDEVICEV1GetVideoChannelListRequest

/**
 * Запрос получения списка сущностей VideoChannel по фильтру
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1GetVideoChannelListRequest : GPBMessage

@end

#pragma mark - DEVICEAPISDEVICEV1GetVideoChannelListResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetVideoChannelListResponse_FieldNumber) {
  DEVICEAPISDEVICEV1GetVideoChannelListResponse_FieldNumber_DataArray = 1,
};

/**
 * Ответ на запрос получения списка сущностей VideoChannel по фильтру
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1GetVideoChannelListResponse : GPBMessage

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

@end

#pragma mark - DEVICEAPISDEVICEV1VideoChannel

typedef GPB_ENUM(DEVICEAPISDEVICEV1VideoChannel_FieldNumber) {
  DEVICEAPISDEVICEV1VideoChannel_FieldNumber_ChanelNumber = 1,
  DEVICEAPISDEVICEV1VideoChannel_FieldNumber_IsEnabled = 2,
  DEVICEAPISDEVICEV1VideoChannel_FieldNumber_ResolutionType = 3,
  DEVICEAPISDEVICEV1VideoChannel_FieldNumber_FormatType = 4,
  DEVICEAPISDEVICEV1VideoChannel_FieldNumber_ProfileType = 5,
  DEVICEAPISDEVICEV1VideoChannel_FieldNumber_Fps = 6,
  DEVICEAPISDEVICEV1VideoChannel_FieldNumber_Gop = 7,
  DEVICEAPISDEVICEV1VideoChannel_FieldNumber_FlowControlModeType = 8,
  DEVICEAPISDEVICEV1VideoChannel_FieldNumber_Biterate = 9,
  DEVICEAPISDEVICEV1VideoChannel_FieldNumber_IsRtspAudio = 10,
  DEVICEAPISDEVICEV1VideoChannel_FieldNumber_IsUsedForSip = 11,
};

/**
 * Настройки видеоконфига
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1VideoChannel : GPBMessage

/** Порядковый номер видеоконфига */
@property(nonatomic, readwrite) int32_t chanelNumber;

/** Флаг активности */
@property(nonatomic, readwrite) BOOL isEnabled;

/** Тип разрешения видео */
@property(nonatomic, readwrite) DEVICEAPISDEVICEV1VideoChannel_ResolutionType resolutionType;

/** Формат видео */
@property(nonatomic, readwrite) DEVICEAPISDEVICEV1VideoChannel_FormatType formatType;

/** Профиль */
@property(nonatomic, readwrite) DEVICEAPISDEVICEV1VideoChannel_ProfileType profileType;

/** Частота кадров */
@property(nonatomic, readwrite) int32_t fps;

/** Периодичность опорного кадра */
@property(nonatomic, readwrite) int32_t gop;

/** Режим FlowControlModeType */
@property(nonatomic, readwrite) DEVICEAPISDEVICEV1VideoChannel_FlowControlModeType flowControlModeType;

/** Целевая скорость потока, килобит */
@property(nonatomic, readwrite) int32_t biterate;

/** Флаг rtsp_audio */
@property(nonatomic, readwrite) BOOL isRtspAudio;

/** Флаг use for sip */
@property(nonatomic, readwrite) BOOL isUsedForSip;

@end

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

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

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

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

NS_ASSUME_NONNULL_END

CF_EXTERN_C_END

#pragma clang diagnostic pop

// @@protoc_insertion_point(global_scope)

// clang-format on
