<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: deviceapis/device/v1/deviceapis_device_fr_v1.proto

namespace Deviceapis\Device\V1;

use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;

/**
 * Настройки Face Recognition
 *
 * Generated from protobuf message <code>deviceapis.device.v1.Facerec</code>
 */
class Facerec extends \Google\Protobuf\Internal\Message
{
    /**
     * Флаг включения Face Recognition
     *
     * Generated from protobuf field <code>bool is_enabled = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $is_enabled = false;
    /**
     * Адрес
     *
     * Generated from protobuf field <code>string main_address = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $main_address = '';
    /**
     * Альтернативный адрес
     *
     * Generated from protobuf field <code>string alt_address = 3 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $alt_address = '';
    /**
     * Путь запроса к серверу
     *
     * Generated from protobuf field <code>string request = 4 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $request = '';
    /**
     * Токен
     *
     * Generated from protobuf field <code>string authorization = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $authorization = '';
    /**
     * Идентификаторы групп профилей в identix
     *
     * Generated from protobuf field <code>repeated string groups = 6 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    private $groups;
    /**
     * Индекс реле.
     * Диапазон: 1..32767
     *
     * Generated from protobuf field <code>int32 relay_index = 7 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $relay_index = 0;
    /**
     * Интервал отправки, миллисекунд
     *
     * Generated from protobuf field <code>int32 send_interval = 8 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $send_interval = 0;
    /**
     * Доступность FR
     *
     * Generated from protobuf field <code>float face_liveness = 9 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $face_liveness = 0.0;
    /**
     * Минимальный размер лица, пикселей
     *
     * Generated from protobuf field <code>int32 min_face_size = 10 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $min_face_size = 0;
    /**
     * Максимальный размер лица, пикселей
     *
     * Generated from protobuf field <code>int32 max_face_size = 11 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $max_face_size = 0;
    /**
     * Добавление размера, процентов
     *
     * Generated from protobuf field <code>int32 add_size = 12 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $add_size = 0;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type bool $is_enabled
     *           Флаг включения Face Recognition
     *     @type string $main_address
     *           Адрес
     *     @type string $alt_address
     *           Альтернативный адрес
     *     @type string $request
     *           Путь запроса к серверу
     *     @type string $authorization
     *           Токен
     *     @type array<string>|\Google\Protobuf\Internal\RepeatedField $groups
     *           Идентификаторы групп профилей в identix
     *     @type int $relay_index
     *           Индекс реле.
     *           Диапазон: 1..32767
     *     @type int $send_interval
     *           Интервал отправки, миллисекунд
     *     @type float $face_liveness
     *           Доступность FR
     *     @type int $min_face_size
     *           Минимальный размер лица, пикселей
     *     @type int $max_face_size
     *           Максимальный размер лица, пикселей
     *     @type int $add_size
     *           Добавление размера, процентов
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Deviceapis\Device\V1\DeviceapisDeviceFrV1::initOnce();
        parent::__construct($data);
    }

    /**
     * Флаг включения Face Recognition
     *
     * Generated from protobuf field <code>bool is_enabled = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return bool
     */
    public function getIsEnabled()
    {
        return $this->is_enabled;
    }

    /**
     * Флаг включения Face Recognition
     *
     * Generated from protobuf field <code>bool is_enabled = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param bool $var
     * @return $this
     */
    public function setIsEnabled($var)
    {
        GPBUtil::checkBool($var);
        $this->is_enabled = $var;

        return $this;
    }

    /**
     * Адрес
     *
     * Generated from protobuf field <code>string main_address = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return string
     */
    public function getMainAddress()
    {
        return $this->main_address;
    }

    /**
     * Адрес
     *
     * Generated from protobuf field <code>string main_address = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param string $var
     * @return $this
     */
    public function setMainAddress($var)
    {
        GPBUtil::checkString($var, True);
        $this->main_address = $var;

        return $this;
    }

    /**
     * Альтернативный адрес
     *
     * Generated from protobuf field <code>string alt_address = 3 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return string
     */
    public function getAltAddress()
    {
        return $this->alt_address;
    }

    /**
     * Альтернативный адрес
     *
     * Generated from protobuf field <code>string alt_address = 3 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param string $var
     * @return $this
     */
    public function setAltAddress($var)
    {
        GPBUtil::checkString($var, True);
        $this->alt_address = $var;

        return $this;
    }

    /**
     * Путь запроса к серверу
     *
     * Generated from protobuf field <code>string request = 4 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return string
     */
    public function getRequest()
    {
        return $this->request;
    }

    /**
     * Путь запроса к серверу
     *
     * Generated from protobuf field <code>string request = 4 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param string $var
     * @return $this
     */
    public function setRequest($var)
    {
        GPBUtil::checkString($var, True);
        $this->request = $var;

        return $this;
    }

    /**
     * Токен
     *
     * Generated from protobuf field <code>string authorization = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return string
     */
    public function getAuthorization()
    {
        return $this->authorization;
    }

    /**
     * Токен
     *
     * Generated from protobuf field <code>string authorization = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param string $var
     * @return $this
     */
    public function setAuthorization($var)
    {
        GPBUtil::checkString($var, True);
        $this->authorization = $var;

        return $this;
    }

    /**
     * Идентификаторы групп профилей в identix
     *
     * Generated from protobuf field <code>repeated string groups = 6 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getGroups()
    {
        return $this->groups;
    }

    /**
     * Идентификаторы групп профилей в identix
     *
     * Generated from protobuf field <code>repeated string groups = 6 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param array<string>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setGroups($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
        $this->groups = $arr;

        return $this;
    }

    /**
     * Индекс реле.
     * Диапазон: 1..32767
     *
     * Generated from protobuf field <code>int32 relay_index = 7 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return int
     */
    public function getRelayIndex()
    {
        return $this->relay_index;
    }

    /**
     * Индекс реле.
     * Диапазон: 1..32767
     *
     * Generated from protobuf field <code>int32 relay_index = 7 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param int $var
     * @return $this
     */
    public function setRelayIndex($var)
    {
        GPBUtil::checkInt32($var);
        $this->relay_index = $var;

        return $this;
    }

    /**
     * Интервал отправки, миллисекунд
     *
     * Generated from protobuf field <code>int32 send_interval = 8 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return int
     */
    public function getSendInterval()
    {
        return $this->send_interval;
    }

    /**
     * Интервал отправки, миллисекунд
     *
     * Generated from protobuf field <code>int32 send_interval = 8 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param int $var
     * @return $this
     */
    public function setSendInterval($var)
    {
        GPBUtil::checkInt32($var);
        $this->send_interval = $var;

        return $this;
    }

    /**
     * Доступность FR
     *
     * Generated from protobuf field <code>float face_liveness = 9 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return float
     */
    public function getFaceLiveness()
    {
        return $this->face_liveness;
    }

    /**
     * Доступность FR
     *
     * Generated from protobuf field <code>float face_liveness = 9 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param float $var
     * @return $this
     */
    public function setFaceLiveness($var)
    {
        GPBUtil::checkFloat($var);
        $this->face_liveness = $var;

        return $this;
    }

    /**
     * Минимальный размер лица, пикселей
     *
     * Generated from protobuf field <code>int32 min_face_size = 10 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return int
     */
    public function getMinFaceSize()
    {
        return $this->min_face_size;
    }

    /**
     * Минимальный размер лица, пикселей
     *
     * Generated from protobuf field <code>int32 min_face_size = 10 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param int $var
     * @return $this
     */
    public function setMinFaceSize($var)
    {
        GPBUtil::checkInt32($var);
        $this->min_face_size = $var;

        return $this;
    }

    /**
     * Максимальный размер лица, пикселей
     *
     * Generated from protobuf field <code>int32 max_face_size = 11 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return int
     */
    public function getMaxFaceSize()
    {
        return $this->max_face_size;
    }

    /**
     * Максимальный размер лица, пикселей
     *
     * Generated from protobuf field <code>int32 max_face_size = 11 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param int $var
     * @return $this
     */
    public function setMaxFaceSize($var)
    {
        GPBUtil::checkInt32($var);
        $this->max_face_size = $var;

        return $this;
    }

    /**
     * Добавление размера, процентов
     *
     * Generated from protobuf field <code>int32 add_size = 12 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return int
     */
    public function getAddSize()
    {
        return $this->add_size;
    }

    /**
     * Добавление размера, процентов
     *
     * Generated from protobuf field <code>int32 add_size = 12 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param int $var
     * @return $this
     */
    public function setAddSize($var)
    {
        GPBUtil::checkInt32($var);
        $this->add_size = $var;

        return $this;
    }

}

