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

NS_ASSUME_NONNULL_BEGIN

#pragma mark - Enum DEVICEAPISDEVICEV1SafeCityOsd_PlacementType

/** Тип размещения текста */
typedef GPB_ENUM(DEVICEAPISDEVICEV1SafeCityOsd_PlacementType) {
  /**
   * 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.
   **/
  DEVICEAPISDEVICEV1SafeCityOsd_PlacementType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  DEVICEAPISDEVICEV1SafeCityOsd_PlacementType_PlacementTypeUnknown = 0,

  /** Сверху слева */
  DEVICEAPISDEVICEV1SafeCityOsd_PlacementType_TopLeft = 1,

  /** Сверху справа */
  DEVICEAPISDEVICEV1SafeCityOsd_PlacementType_TopRight = 2,

  /** Снизу слева */
  DEVICEAPISDEVICEV1SafeCityOsd_PlacementType_BottomLeft = 3,

  /** Снизу справа */
  DEVICEAPISDEVICEV1SafeCityOsd_PlacementType_BottomRight = 4,
};

GPBEnumDescriptor *DEVICEAPISDEVICEV1SafeCityOsd_PlacementType_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 DEVICEAPISDEVICEV1SafeCityOsd_PlacementType_IsValidValue(int32_t value);

#pragma mark - Enum DEVICEAPISDEVICEV1SafeCityOsd_ShowDatetimeType

/** Тип добавления формата даты */
typedef GPB_ENUM(DEVICEAPISDEVICEV1SafeCityOsd_ShowDatetimeType) {
  /**
   * 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.
   **/
  DEVICEAPISDEVICEV1SafeCityOsd_ShowDatetimeType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  DEVICEAPISDEVICEV1SafeCityOsd_ShowDatetimeType_ShowDatetimeTypeUnknown = 0,

  /** Формат отсутствует */
  DEVICEAPISDEVICEV1SafeCityOsd_ShowDatetimeType_Absent = 1,

  /** День и время yyyy-mm-dd HH:MM:SS */
  DEVICEAPISDEVICEV1SafeCityOsd_ShowDatetimeType_DayTime = 2,

  /** Время HH:MM:SS */
  DEVICEAPISDEVICEV1SafeCityOsd_ShowDatetimeType_Time = 3,
};

GPBEnumDescriptor *DEVICEAPISDEVICEV1SafeCityOsd_ShowDatetimeType_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 DEVICEAPISDEVICEV1SafeCityOsd_ShowDatetimeType_IsValidValue(int32_t value);

#pragma mark - DEVICEAPISDEVICEV1DeviceapisDeviceSafeOsdV1Root

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

#pragma mark - DEVICEAPISDEVICEV1EditSafeCityOsdRequest

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditSafeCityOsdRequest_FieldNumber) {
  DEVICEAPISDEVICEV1EditSafeCityOsdRequest_FieldNumber_Data_p = 1,
  DEVICEAPISDEVICEV1EditSafeCityOsdRequest_FieldNumber_UpdateMask = 2,
};

/**
 * Запрос редактирования настроек OSD
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1EditSafeCityOsdRequest : GPBMessage

/** Настройки OSD */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1SafeCityOsd *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 - DEVICEAPISDEVICEV1EditSafeCityOsdResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditSafeCityOsdResponse_FieldNumber) {
  DEVICEAPISDEVICEV1EditSafeCityOsdResponse_FieldNumber_Data_p = 1,
  DEVICEAPISDEVICEV1EditSafeCityOsdResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditSafeCityOsdResponse_Type_OneOfCase) {
  DEVICEAPISDEVICEV1EditSafeCityOsdResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1EditSafeCityOsdResponse_Type_OneOfCase_Data_p = 1,
  DEVICEAPISDEVICEV1EditSafeCityOsdResponse_Type_OneOfCase_Error = 2,
};

/**
 * Ответ на запрос редактирования настроек OSD
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1EditSafeCityOsdResponse : GPBMessage

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

/** Настройки OSD */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1SafeCityOsd *data_p;

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

@end

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

#pragma mark - DEVICEAPISDEVICEV1EditSafeCityOsdResponse_Error

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditSafeCityOsdResponse_Error_FieldNumber) {
  DEVICEAPISDEVICEV1EditSafeCityOsdResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditSafeCityOsdResponse_Error_Reason_OneOfCase) {
  DEVICEAPISDEVICEV1EditSafeCityOsdResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1EditSafeCityOsdResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

#pragma mark - DEVICEAPISDEVICEV1GetSafeCityOsdRequest

/**
 * Запрос получения настроек OSD
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1GetSafeCityOsdRequest : GPBMessage

@end

#pragma mark - DEVICEAPISDEVICEV1GetSafeCityOsdResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetSafeCityOsdResponse_FieldNumber) {
  DEVICEAPISDEVICEV1GetSafeCityOsdResponse_FieldNumber_Data_p = 1,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetSafeCityOsdResponse_Type_OneOfCase) {
  DEVICEAPISDEVICEV1GetSafeCityOsdResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1GetSafeCityOsdResponse_Type_OneOfCase_Data_p = 1,
};

/**
 * Ответ на запрос получения настроек OSD
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1GetSafeCityOsdResponse : GPBMessage

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

/** Настройки OSD */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1SafeCityOsd *data_p;

@end

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

#pragma mark - DEVICEAPISDEVICEV1SafeCityOsd

typedef GPB_ENUM(DEVICEAPISDEVICEV1SafeCityOsd_FieldNumber) {
  DEVICEAPISDEVICEV1SafeCityOsd_FieldNumber_IsOsdEnabled = 1,
  DEVICEAPISDEVICEV1SafeCityOsd_FieldNumber_Textline = 2,
  DEVICEAPISDEVICEV1SafeCityOsd_FieldNumber_Textsize = 3,
  DEVICEAPISDEVICEV1SafeCityOsd_FieldNumber_PlacementType = 4,
  DEVICEAPISDEVICEV1SafeCityOsd_FieldNumber_ShowDatetimeType = 5,
  DEVICEAPISDEVICEV1SafeCityOsd_FieldNumber_IsShowFps = 6,
  DEVICEAPISDEVICEV1SafeCityOsd_FieldNumber_IsShowBitrate = 7,
  DEVICEAPISDEVICEV1SafeCityOsd_FieldNumber_IsShowCountOfStreams = 8,
  DEVICEAPISDEVICEV1SafeCityOsd_FieldNumber_IsShowNameOfDevice = 9,
};

/**
 * Настройки OSD
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1SafeCityOsd : GPBMessage

/** Флаг включения OSD */
@property(nonatomic, readwrite) BOOL isOsdEnabled;

/** Текст */
@property(nonatomic, readwrite, copy, null_resettable) NSString *textline;

/** Размер текста, пикселей */
@property(nonatomic, readwrite) int32_t textsize;

/** Размещение текста */
@property(nonatomic, readwrite) DEVICEAPISDEVICEV1SafeCityOsd_PlacementType placementType;

/** Вариант добавления даты */
@property(nonatomic, readwrite) DEVICEAPISDEVICEV1SafeCityOsd_ShowDatetimeType showDatetimeType;

/** Флаг отображения количества кадров в секунду */
@property(nonatomic, readwrite) BOOL isShowFps;

/** Флаг отображения битрейта */
@property(nonatomic, readwrite) BOOL isShowBitrate;

/** Флаг отображения количества потоков */
@property(nonatomic, readwrite) BOOL isShowCountOfStreams;

/** Флаг отображения имени устройства */
@property(nonatomic, readwrite) BOOL isShowNameOfDevice;

@end

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

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

NS_ASSUME_NONNULL_END

CF_EXTERN_C_END

#pragma clang diagnostic pop

// @@protoc_insertion_point(global_scope)

// clang-format on
