# Протокол

## Оглавление

- [deviceapis/device/v1/deviceapis_device_safe_osd_v1.proto](#deviceapis_device_v1_deviceapis_device_safe_osd_v1-proto)
    - [SafeCityOsdService](#deviceapis-device-v1-SafeCityOsdService)
  
    - [EditSafeCityOsdRequest](#deviceapis-device-v1-EditSafeCityOsdRequest)
    - [EditSafeCityOsdResponse](#deviceapis-device-v1-EditSafeCityOsdResponse)
    - [EditSafeCityOsdResponse.Error](#deviceapis-device-v1-EditSafeCityOsdResponse-Error)
    - [GetSafeCityOsdRequest](#deviceapis-device-v1-GetSafeCityOsdRequest)
    - [GetSafeCityOsdResponse](#deviceapis-device-v1-GetSafeCityOsdResponse)
    - [SafeCityOsd](#deviceapis-device-v1-SafeCityOsd)
  
    - [SafeCityOsd.PlacementType](#deviceapis-device-v1-SafeCityOsd-PlacementType)
    - [SafeCityOsd.ShowDatetimeType](#deviceapis-device-v1-SafeCityOsd-ShowDatetimeType)
  


## [Схема классов](/svg/protos/key/deviceapis/device/v1/deviceapis_device_safe_osd_v1.proto.svg)
<a href="/svg/protos/key/deviceapis/device/v1/deviceapis_device_safe_osd_v1.proto.svg"><img src="/svg/protos/key/deviceapis/device/v1/deviceapis_device_safe_osd_v1.proto.svg" alt="/svg/protos/key/deviceapis/device/v1/deviceapis_device_safe_osd_v1.proto.svg" style="height:100%;"></a>




<a name="deviceapis_device_v1_deviceapis_device_safe_osd_v1-proto"></a>

## [deviceapis/device/v1/deviceapis_device_safe_osd_v1.proto](/protos/key/deviceapis/device/v1/deviceapis_device_safe_osd_v1.proto)
Спецификация АПИ управления сущностью SafeCityOsd


<a name="deviceapis-device-v1-SafeCityOsdService"></a>

### SafeCityOsdService
 Сервис управления настройками OSD

| Название метода | Описание | Тип запроса | Тип ответа |
| --------------- | -------- | ----------- | -----------|
| <a id="deviceapis-device-v1-EditSafeCityOsd"></a> [EditSafeCityOsd](#deviceapis-device-v1-EditSafeCityOsd) | Метод редактирования настроек OSD | [deviceapis.device.v1.EditSafeCityOsdRequest](#deviceapis-device-v1-EditSafeCityOsdRequest) | [deviceapis.device.v1.EditSafeCityOsdResponse](#deviceapis-device-v1-EditSafeCityOsdResponse) |
| <a id="deviceapis-device-v1-GetSafeCityOsd"></a> [GetSafeCityOsd](#deviceapis-device-v1-GetSafeCityOsd) | Метод получения настроек OSD | [deviceapis.device.v1.GetSafeCityOsdRequest](#deviceapis-device-v1-GetSafeCityOsdRequest) | [deviceapis.device.v1.GetSafeCityOsdResponse](#deviceapis-device-v1-GetSafeCityOsdResponse) |

 <!-- end services -->


<a name="deviceapis-device-v1-EditSafeCityOsdRequest"></a>


### [EditSafeCityOsdRequest](#deviceapis-device-v1-EditSafeCityOsdRequest)
 Запрос редактирования настроек OSD


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-EditSafeCityOsdRequest-data"></a> [data](#deviceapis-device-v1-EditSafeCityOsdRequest-data) | Настройки OSD |    [deviceapis.device.v1.SafeCityOsd](#deviceapis-device-v1-SafeCityOsd) | REQUIRED|
| <a id="deviceapis-device-v1-EditSafeCityOsdRequest-update_mask"></a> [update_mask](#deviceapis-device-v1-EditSafeCityOsdRequest-update_mask) | Маска полей обновления |    [google.protobuf.FieldMask](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|






<a name="deviceapis-device-v1-EditSafeCityOsdResponse"></a>


### [EditSafeCityOsdResponse](#deviceapis-device-v1-EditSafeCityOsdResponse)
 Ответ на запрос редактирования настроек OSD


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-EditSafeCityOsdResponse-data"></a> [data](#deviceapis-device-v1-EditSafeCityOsdResponse-data) | Настройки OSD |  optional  [deviceapis.device.v1.SafeCityOsd](#deviceapis-device-v1-SafeCityOsd) | <nil>|
| <a id="deviceapis-device-v1-EditSafeCityOsdResponse-error"></a> [error](#deviceapis-device-v1-EditSafeCityOsdResponse-error) | Ошибка |  optional  [deviceapis.device.v1.EditSafeCityOsdResponse.Error](#deviceapis-device-v1-EditSafeCityOsdResponse-Error) | <nil>|






<a name="deviceapis-device-v1-EditSafeCityOsdResponse-Error"></a>


### [EditSafeCityOsdResponse.Error](#deviceapis-device-v1-EditSafeCityOsdResponse-Error)
 Ошибка запроса


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-EditSafeCityOsdResponse-Error-validation"></a> [validation](#deviceapis-device-v1-EditSafeCityOsdResponse-Error-validation) | Ошибка валидации |  optional  [deviceapis.device.v1.ValidationError](#deviceapis-device-v1-ValidationError) | <nil>|






<a name="deviceapis-device-v1-GetSafeCityOsdRequest"></a>


### [GetSafeCityOsdRequest](#deviceapis-device-v1-GetSafeCityOsdRequest)
 Запрос получения настроек OSD






<a name="deviceapis-device-v1-GetSafeCityOsdResponse"></a>


### [GetSafeCityOsdResponse](#deviceapis-device-v1-GetSafeCityOsdResponse)
 Ответ на запрос получения настроек OSD


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-GetSafeCityOsdResponse-data"></a> [data](#deviceapis-device-v1-GetSafeCityOsdResponse-data) | Настройки OSD |  optional  [deviceapis.device.v1.SafeCityOsd](#deviceapis-device-v1-SafeCityOsd) | <nil>|






<a name="deviceapis-device-v1-SafeCityOsd"></a>


### [SafeCityOsd](#deviceapis-device-v1-SafeCityOsd)
 Настройки OSD


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-SafeCityOsd-is_osd_enabled"></a> [is_osd_enabled](#deviceapis-device-v1-SafeCityOsd-is_osd_enabled) | Флаг включения OSD |    [bool](#scalar-types) | <nil>|
| <a id="deviceapis-device-v1-SafeCityOsd-textline"></a> [textline](#deviceapis-device-v1-SafeCityOsd-textline) | Текст |    [string](#scalar-types) | <nil>|
| <a id="deviceapis-device-v1-SafeCityOsd-textsize"></a> [textsize](#deviceapis-device-v1-SafeCityOsd-textsize) | Размер текста, пикселей |    [int32](#scalar-types) | <nil>|
| <a id="deviceapis-device-v1-SafeCityOsd-placement_type"></a> [placement_type](#deviceapis-device-v1-SafeCityOsd-placement_type) | Размещение текста |    [deviceapis.device.v1.SafeCityOsd.PlacementType](#deviceapis-device-v1-SafeCityOsd-PlacementType) | <nil>|
| <a id="deviceapis-device-v1-SafeCityOsd-show_datetime_type"></a> [show_datetime_type](#deviceapis-device-v1-SafeCityOsd-show_datetime_type) | Вариант добавления даты |    [deviceapis.device.v1.SafeCityOsd.ShowDatetimeType](#deviceapis-device-v1-SafeCityOsd-ShowDatetimeType) | <nil>|
| <a id="deviceapis-device-v1-SafeCityOsd-is_show_fps"></a> [is_show_fps](#deviceapis-device-v1-SafeCityOsd-is_show_fps) | Флаг отображения количества кадров в секунду |    [bool](#scalar-types) | <nil>|
| <a id="deviceapis-device-v1-SafeCityOsd-is_show_bitrate"></a> [is_show_bitrate](#deviceapis-device-v1-SafeCityOsd-is_show_bitrate) | Флаг отображения битрейта |    [bool](#scalar-types) | <nil>|
| <a id="deviceapis-device-v1-SafeCityOsd-is_show_count_of_streams"></a> [is_show_count_of_streams](#deviceapis-device-v1-SafeCityOsd-is_show_count_of_streams) | Флаг отображения количества потоков |    [bool](#scalar-types) | <nil>|
| <a id="deviceapis-device-v1-SafeCityOsd-is_show_name_of_device"></a> [is_show_name_of_device](#deviceapis-device-v1-SafeCityOsd-is_show_name_of_device) | Флаг отображения имени устройства |    [bool](#scalar-types) | <nil>|





 <!-- end messages -->



<a name="deviceapis-device-v1-SafeCityOsd-PlacementType"></a>

### [SafeCityOsd.PlacementType](#deviceapis-device-v1-SafeCityOsd-PlacementType)
 Тип размещения текста

| Номер | Тип | Название |
| ----- | --- | -------- |
| 0 | <a id="deviceapis-device-v1-SafeCityOsd-PlacementType-PLACEMENT_TYPE_UNKNOWN"></a> [PLACEMENT_TYPE_UNKNOWN](#deviceapis-device-v1-SafeCityOsd-PlacementType-PLACEMENT_TYPE_UNKNOWN) | Значение не указано |
| 1 | <a id="deviceapis-device-v1-SafeCityOsd-PlacementType-TOP_LEFT"></a> [TOP_LEFT](#deviceapis-device-v1-SafeCityOsd-PlacementType-TOP_LEFT) | Сверху слева |
| 2 | <a id="deviceapis-device-v1-SafeCityOsd-PlacementType-TOP_RIGHT"></a> [TOP_RIGHT](#deviceapis-device-v1-SafeCityOsd-PlacementType-TOP_RIGHT) | Сверху справа |
| 3 | <a id="deviceapis-device-v1-SafeCityOsd-PlacementType-BOTTOM_LEFT"></a> [BOTTOM_LEFT](#deviceapis-device-v1-SafeCityOsd-PlacementType-BOTTOM_LEFT) | Снизу слева |
| 4 | <a id="deviceapis-device-v1-SafeCityOsd-PlacementType-BOTTOM_RIGHT"></a> [BOTTOM_RIGHT](#deviceapis-device-v1-SafeCityOsd-PlacementType-BOTTOM_RIGHT) | Снизу справа |




<a name="deviceapis-device-v1-SafeCityOsd-ShowDatetimeType"></a>

### [SafeCityOsd.ShowDatetimeType](#deviceapis-device-v1-SafeCityOsd-ShowDatetimeType)
 Тип добавления формата даты

| Номер | Тип | Название |
| ----- | --- | -------- |
| 0 | <a id="deviceapis-device-v1-SafeCityOsd-ShowDatetimeType-SHOW_DATETIME_TYPE_UNKNOWN"></a> [SHOW_DATETIME_TYPE_UNKNOWN](#deviceapis-device-v1-SafeCityOsd-ShowDatetimeType-SHOW_DATETIME_TYPE_UNKNOWN) | Значение не указано |
| 1 | <a id="deviceapis-device-v1-SafeCityOsd-ShowDatetimeType-ABSENT"></a> [ABSENT](#deviceapis-device-v1-SafeCityOsd-ShowDatetimeType-ABSENT) | Формат отсутствует |
| 2 | <a id="deviceapis-device-v1-SafeCityOsd-ShowDatetimeType-DAY_TIME"></a> [DAY_TIME](#deviceapis-device-v1-SafeCityOsd-ShowDatetimeType-DAY_TIME) | День и время yyyy-mm-dd HH:MM:SS |
| 3 | <a id="deviceapis-device-v1-SafeCityOsd-ShowDatetimeType-TIME"></a> [TIME](#deviceapis-device-v1-SafeCityOsd-ShowDatetimeType-TIME) | Время HH:MM:SS |


 <!-- end enums -->

 <!-- end HasExtensions -->



## Скалярные типы значений
<a id="scalar-types"></a>

| .proto Type | Примечание | Python | Go | Ruby | C# | C++ | Java | PHP |
| ----------- | ---------- | ------ | -- | ---- | -- | --- | ---- | --- |
| [double](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) |  | float | float64 | Float | double | double | double | float |
| [float](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) |  | float | float32 | Float | float | float | float | float |
| [int32](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int | int32 | Bignum or Fixnum (as required) | int | int32 | int | integer |
| [int64](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int/long | int64 | Bignum | long | int64 | long | integer/string |
| [uint32](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. | int/long | uint32 | Bignum or Fixnum (as required) | uint | uint32 | int | integer |
| [uint64](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. | int/long | uint64 | Bignum or Fixnum (as required) | ulong | uint64 | long | integer/string |
| [sint32](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int | int32 | Bignum or Fixnum (as required) | int | int32 | int | integer |
| [sint64](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int/long | int64 | Bignum | long | int64 | long | integer/string |
| [fixed32](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | int | uint32 | Bignum or Fixnum (as required) | uint | uint32 | int | integer |
| [fixed64](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | int/long | uint64 | Bignum | ulong | uint64 | long | integer/string |
| [sfixed32](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Always four bytes. | int | int32 | Bignum or Fixnum (as required) | int | int32 | int | integer |
| [sfixed64](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Always eight bytes. | int/long | int64 | Bignum | long | int64 | long | integer/string |
| [bool](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) |  | boolean | bool | TrueClass/FalseClass | bool | bool | boolean | boolean |
| [string](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | A string must always contain UTF-8 encoded or 7-bit ASCII text. | str/unicode | string | String (UTF-8) | string | string | String | string |
| [bytes](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | May contain any arbitrary sequence of bytes. | str | []byte | String (ASCII-8BIT) | ByteString | string | ByteString | string |

