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

namespace Keyapis\Device\V1;

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

/**
 * Фильтр устройств
 *
 * Generated from protobuf message <code>keyapis.device.v1.DeviceFilter</code>
 */
class DeviceFilter extends \Google\Protobuf\Internal\Message
{
    /**
     * По идентификаторам компании владельца
     *
     * Generated from protobuf field <code>repeated int32 owner_company_ids = 1;</code>
     */
    private $owner_company_ids;
    /**
     * Поиск по тексту.
     * Если значение не передано то поиск по нему не производится.
     * # Диапазон: 3..64.
     * # Поиск производится по полям:
     * # - Наименование;
     * # - MAC-адрес;
     * # - Список тегов устройства;
     * # - Сетевой адрес;
     * # - Серийный номер
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue text = 2;</code>
     */
    protected $text = null;
    /**
     * Идентификатор квартирограммы
     *
     * Generated from protobuf field <code>repeated int32 flatgramm_ids = 3;</code>
     */
    private $flatgramm_ids;
    /**
     * Серийный номер
     *
     * Generated from protobuf field <code>repeated string serial_numbers = 4;</code>
     */
    private $serial_numbers;
    /**
     * Статус устройства
     *
     * Generated from protobuf field <code>repeated .keyapis.device.v1.Device.StatusType device_status_types = 5;</code>
     */
    private $device_status_types;
    /**
     * Тип назначения устройства
     *
     * Generated from protobuf field <code>repeated .keyapis.device.v1.Device.Type device_types = 6;</code>
     */
    private $device_types;
    /**
     * Модель устройства
     *
     * Generated from protobuf field <code>repeated .keyapis.device.v1.Device.ModelType device_model_types = 7;</code>
     */
    private $device_model_types;
    /**
     * Переадресация на консъержа
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue is_concierge_enabled = 8;</code>
     */
    protected $is_concierge_enabled = null;
    /**
     * Диспетчеризация
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue is_dispatching_enabled = 9;</code>
     */
    protected $is_dispatching_enabled = null;
    /**
     * Поиск по публичному номеру диспетчеризации.
     * Если значение не передано то поиск по нему не производится.
     * # Диапазон: 3..64
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue dispatching_public_number = 10;</code>
     */
    protected $dispatching_public_number = null;
    /**
     * Версия аппаратного обеспенения.
     * # Диапазон: 3..64
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue hardware_version = 11;</code>
     */
    protected $hardware_version = null;
    /**
     * Версия программного обеспенения.
     * # Диапазон: 3..64
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue software_version = 12;</code>
     */
    protected $software_version = null;
    /**
     * Автозамена пароля
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue is_autochange_password_enabled = 13;</code>
     */
    protected $is_autochange_password_enabled = null;
    /**
     * ABC-номер
     *
     * Generated from protobuf field <code>repeated string abc_number = 14;</code>
     */
    private $abc_number;
    /**
     * Идентификаторы камер
     *
     * Generated from protobuf field <code>repeated string camera_ids = 15;</code>
     */
    private $camera_ids;
    /**
     * Фильтр по статусу синхронизации (SyncStatus.status_type)
     *
     * Generated from protobuf field <code>repeated .keyapis.device.v1.SyncStatus.StatusType sync_status_status_types = 16;</code>
     */
    private $sync_status_status_types;
    /**
     * Пороговое значение количества попыток синхронизации.
     * Возвращает записи, у которых sync_retry_count меньше этого значения
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value sync_retry_count_less_then = 17;</code>
     */
    protected $sync_retry_count_less_then = null;
    /**
     * От даты успешной синхронизации включительно (>=)
     *
     * Generated from protobuf field <code>.google.protobuf.Timestamp begin_sync_successful_at = 18;</code>
     */
    protected $begin_sync_successful_at = null;
    /**
     * До даты успешной синхронизации (<)
     *
     * Generated from protobuf field <code>.google.protobuf.Timestamp end_sync_successful_at = 19;</code>
     */
    protected $end_sync_successful_at = null;
    /**
     * От даты синхронизации включительно (>=)
     *
     * Generated from protobuf field <code>.google.protobuf.Timestamp begin_sync_at = 20;</code>
     */
    protected $begin_sync_at = null;
    /**
     * До даты синхронизации (<)
     *
     * Generated from protobuf field <code>.google.protobuf.Timestamp end_sync_at = 21;</code>
     */
    protected $end_sync_at = null;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type array<int>|\Google\Protobuf\Internal\RepeatedField $owner_company_ids
     *           По идентификаторам компании владельца
     *     @type \Google\Protobuf\StringValue $text
     *           Поиск по тексту.
     *           Если значение не передано то поиск по нему не производится.
     *           # Диапазон: 3..64.
     *           # Поиск производится по полям:
     *           # - Наименование;
     *           # - MAC-адрес;
     *           # - Список тегов устройства;
     *           # - Сетевой адрес;
     *           # - Серийный номер
     *     @type array<int>|\Google\Protobuf\Internal\RepeatedField $flatgramm_ids
     *           Идентификатор квартирограммы
     *     @type array<string>|\Google\Protobuf\Internal\RepeatedField $serial_numbers
     *           Серийный номер
     *     @type array<int>|\Google\Protobuf\Internal\RepeatedField $device_status_types
     *           Статус устройства
     *     @type array<int>|\Google\Protobuf\Internal\RepeatedField $device_types
     *           Тип назначения устройства
     *     @type array<int>|\Google\Protobuf\Internal\RepeatedField $device_model_types
     *           Модель устройства
     *     @type \Google\Protobuf\BoolValue $is_concierge_enabled
     *           Переадресация на консъержа
     *     @type \Google\Protobuf\BoolValue $is_dispatching_enabled
     *           Диспетчеризация
     *     @type \Google\Protobuf\StringValue $dispatching_public_number
     *           Поиск по публичному номеру диспетчеризации.
     *           Если значение не передано то поиск по нему не производится.
     *           # Диапазон: 3..64
     *     @type \Google\Protobuf\StringValue $hardware_version
     *           Версия аппаратного обеспенения.
     *           # Диапазон: 3..64
     *     @type \Google\Protobuf\StringValue $software_version
     *           Версия программного обеспенения.
     *           # Диапазон: 3..64
     *     @type \Google\Protobuf\BoolValue $is_autochange_password_enabled
     *           Автозамена пароля
     *     @type array<string>|\Google\Protobuf\Internal\RepeatedField $abc_number
     *           ABC-номер
     *     @type array<string>|\Google\Protobuf\Internal\RepeatedField $camera_ids
     *           Идентификаторы камер
     *     @type array<int>|\Google\Protobuf\Internal\RepeatedField $sync_status_status_types
     *           Фильтр по статусу синхронизации (SyncStatus.status_type)
     *     @type \Google\Protobuf\Int32Value $sync_retry_count_less_then
     *           Пороговое значение количества попыток синхронизации.
     *           Возвращает записи, у которых sync_retry_count меньше этого значения
     *     @type \Google\Protobuf\Timestamp $begin_sync_successful_at
     *           От даты успешной синхронизации включительно (>=)
     *     @type \Google\Protobuf\Timestamp $end_sync_successful_at
     *           До даты успешной синхронизации (<)
     *     @type \Google\Protobuf\Timestamp $begin_sync_at
     *           От даты синхронизации включительно (>=)
     *     @type \Google\Protobuf\Timestamp $end_sync_at
     *           До даты синхронизации (<)
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Keyapis\Device\V1\KeyapisDeviceDeviceV1::initOnce();
        parent::__construct($data);
    }

    /**
     * По идентификаторам компании владельца
     *
     * Generated from protobuf field <code>repeated int32 owner_company_ids = 1;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getOwnerCompanyIds()
    {
        return $this->owner_company_ids;
    }

    /**
     * По идентификаторам компании владельца
     *
     * Generated from protobuf field <code>repeated int32 owner_company_ids = 1;</code>
     * @param array<int>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setOwnerCompanyIds($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::INT32);
        $this->owner_company_ids = $arr;

        return $this;
    }

    /**
     * Поиск по тексту.
     * Если значение не передано то поиск по нему не производится.
     * # Диапазон: 3..64.
     * # Поиск производится по полям:
     * # - Наименование;
     * # - MAC-адрес;
     * # - Список тегов устройства;
     * # - Сетевой адрес;
     * # - Серийный номер
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue text = 2;</code>
     * @return \Google\Protobuf\StringValue|null
     */
    public function getText()
    {
        return $this->text;
    }

    public function hasText()
    {
        return isset($this->text);
    }

    public function clearText()
    {
        unset($this->text);
    }

    /**
     * Returns the unboxed value from <code>getText()</code>

     * Поиск по тексту.
     * Если значение не передано то поиск по нему не производится.
     * # Диапазон: 3..64.
     * # Поиск производится по полям:
     * # - Наименование;
     * # - MAC-адрес;
     * # - Список тегов устройства;
     * # - Сетевой адрес;
     * # - Серийный номер
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue text = 2;</code>
     * @return string|null
     */
    public function getTextUnwrapped()
    {
        return $this->readWrapperValue("text");
    }

    /**
     * Поиск по тексту.
     * Если значение не передано то поиск по нему не производится.
     * # Диапазон: 3..64.
     * # Поиск производится по полям:
     * # - Наименование;
     * # - MAC-адрес;
     * # - Список тегов устройства;
     * # - Сетевой адрес;
     * # - Серийный номер
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue text = 2;</code>
     * @param \Google\Protobuf\StringValue $var
     * @return $this
     */
    public function setText($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
        $this->text = $var;

        return $this;
    }

    /**
     * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.

     * Поиск по тексту.
     * Если значение не передано то поиск по нему не производится.
     * # Диапазон: 3..64.
     * # Поиск производится по полям:
     * # - Наименование;
     * # - MAC-адрес;
     * # - Список тегов устройства;
     * # - Сетевой адрес;
     * # - Серийный номер
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue text = 2;</code>
     * @param string|null $var
     * @return $this
     */
    public function setTextUnwrapped($var)
    {
        $this->writeWrapperValue("text", $var);
        return $this;}

    /**
     * Идентификатор квартирограммы
     *
     * Generated from protobuf field <code>repeated int32 flatgramm_ids = 3;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getFlatgrammIds()
    {
        return $this->flatgramm_ids;
    }

    /**
     * Идентификатор квартирограммы
     *
     * Generated from protobuf field <code>repeated int32 flatgramm_ids = 3;</code>
     * @param array<int>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setFlatgrammIds($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::INT32);
        $this->flatgramm_ids = $arr;

        return $this;
    }

    /**
     * Серийный номер
     *
     * Generated from protobuf field <code>repeated string serial_numbers = 4;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getSerialNumbers()
    {
        return $this->serial_numbers;
    }

    /**
     * Серийный номер
     *
     * Generated from protobuf field <code>repeated string serial_numbers = 4;</code>
     * @param array<string>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setSerialNumbers($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
        $this->serial_numbers = $arr;

        return $this;
    }

    /**
     * Статус устройства
     *
     * Generated from protobuf field <code>repeated .keyapis.device.v1.Device.StatusType device_status_types = 5;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getDeviceStatusTypes()
    {
        return $this->device_status_types;
    }

    /**
     * Статус устройства
     *
     * Generated from protobuf field <code>repeated .keyapis.device.v1.Device.StatusType device_status_types = 5;</code>
     * @param array<int>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setDeviceStatusTypes($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::ENUM, \Keyapis\Device\V1\Device\StatusType::class);
        $this->device_status_types = $arr;

        return $this;
    }

    /**
     * Тип назначения устройства
     *
     * Generated from protobuf field <code>repeated .keyapis.device.v1.Device.Type device_types = 6;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getDeviceTypes()
    {
        return $this->device_types;
    }

    /**
     * Тип назначения устройства
     *
     * Generated from protobuf field <code>repeated .keyapis.device.v1.Device.Type device_types = 6;</code>
     * @param array<int>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setDeviceTypes($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::ENUM, \Keyapis\Device\V1\Device\Type::class);
        $this->device_types = $arr;

        return $this;
    }

    /**
     * Модель устройства
     *
     * Generated from protobuf field <code>repeated .keyapis.device.v1.Device.ModelType device_model_types = 7;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getDeviceModelTypes()
    {
        return $this->device_model_types;
    }

    /**
     * Модель устройства
     *
     * Generated from protobuf field <code>repeated .keyapis.device.v1.Device.ModelType device_model_types = 7;</code>
     * @param array<int>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setDeviceModelTypes($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::ENUM, \Keyapis\Device\V1\Device\ModelType::class);
        $this->device_model_types = $arr;

        return $this;
    }

    /**
     * Переадресация на консъержа
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue is_concierge_enabled = 8;</code>
     * @return \Google\Protobuf\BoolValue|null
     */
    public function getIsConciergeEnabled()
    {
        return $this->is_concierge_enabled;
    }

    public function hasIsConciergeEnabled()
    {
        return isset($this->is_concierge_enabled);
    }

    public function clearIsConciergeEnabled()
    {
        unset($this->is_concierge_enabled);
    }

    /**
     * Returns the unboxed value from <code>getIsConciergeEnabled()</code>

     * Переадресация на консъержа
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue is_concierge_enabled = 8;</code>
     * @return bool|null
     */
    public function getIsConciergeEnabledUnwrapped()
    {
        return $this->readWrapperValue("is_concierge_enabled");
    }

    /**
     * Переадресация на консъержа
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue is_concierge_enabled = 8;</code>
     * @param \Google\Protobuf\BoolValue $var
     * @return $this
     */
    public function setIsConciergeEnabled($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
        $this->is_concierge_enabled = $var;

        return $this;
    }

    /**
     * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.

     * Переадресация на консъержа
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue is_concierge_enabled = 8;</code>
     * @param bool|null $var
     * @return $this
     */
    public function setIsConciergeEnabledUnwrapped($var)
    {
        $this->writeWrapperValue("is_concierge_enabled", $var);
        return $this;}

    /**
     * Диспетчеризация
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue is_dispatching_enabled = 9;</code>
     * @return \Google\Protobuf\BoolValue|null
     */
    public function getIsDispatchingEnabled()
    {
        return $this->is_dispatching_enabled;
    }

    public function hasIsDispatchingEnabled()
    {
        return isset($this->is_dispatching_enabled);
    }

    public function clearIsDispatchingEnabled()
    {
        unset($this->is_dispatching_enabled);
    }

    /**
     * Returns the unboxed value from <code>getIsDispatchingEnabled()</code>

     * Диспетчеризация
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue is_dispatching_enabled = 9;</code>
     * @return bool|null
     */
    public function getIsDispatchingEnabledUnwrapped()
    {
        return $this->readWrapperValue("is_dispatching_enabled");
    }

    /**
     * Диспетчеризация
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue is_dispatching_enabled = 9;</code>
     * @param \Google\Protobuf\BoolValue $var
     * @return $this
     */
    public function setIsDispatchingEnabled($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
        $this->is_dispatching_enabled = $var;

        return $this;
    }

    /**
     * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.

     * Диспетчеризация
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue is_dispatching_enabled = 9;</code>
     * @param bool|null $var
     * @return $this
     */
    public function setIsDispatchingEnabledUnwrapped($var)
    {
        $this->writeWrapperValue("is_dispatching_enabled", $var);
        return $this;}

    /**
     * Поиск по публичному номеру диспетчеризации.
     * Если значение не передано то поиск по нему не производится.
     * # Диапазон: 3..64
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue dispatching_public_number = 10;</code>
     * @return \Google\Protobuf\StringValue|null
     */
    public function getDispatchingPublicNumber()
    {
        return $this->dispatching_public_number;
    }

    public function hasDispatchingPublicNumber()
    {
        return isset($this->dispatching_public_number);
    }

    public function clearDispatchingPublicNumber()
    {
        unset($this->dispatching_public_number);
    }

    /**
     * Returns the unboxed value from <code>getDispatchingPublicNumber()</code>

     * Поиск по публичному номеру диспетчеризации.
     * Если значение не передано то поиск по нему не производится.
     * # Диапазон: 3..64
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue dispatching_public_number = 10;</code>
     * @return string|null
     */
    public function getDispatchingPublicNumberUnwrapped()
    {
        return $this->readWrapperValue("dispatching_public_number");
    }

    /**
     * Поиск по публичному номеру диспетчеризации.
     * Если значение не передано то поиск по нему не производится.
     * # Диапазон: 3..64
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue dispatching_public_number = 10;</code>
     * @param \Google\Protobuf\StringValue $var
     * @return $this
     */
    public function setDispatchingPublicNumber($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
        $this->dispatching_public_number = $var;

        return $this;
    }

    /**
     * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.

     * Поиск по публичному номеру диспетчеризации.
     * Если значение не передано то поиск по нему не производится.
     * # Диапазон: 3..64
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue dispatching_public_number = 10;</code>
     * @param string|null $var
     * @return $this
     */
    public function setDispatchingPublicNumberUnwrapped($var)
    {
        $this->writeWrapperValue("dispatching_public_number", $var);
        return $this;}

    /**
     * Версия аппаратного обеспенения.
     * # Диапазон: 3..64
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue hardware_version = 11;</code>
     * @return \Google\Protobuf\StringValue|null
     */
    public function getHardwareVersion()
    {
        return $this->hardware_version;
    }

    public function hasHardwareVersion()
    {
        return isset($this->hardware_version);
    }

    public function clearHardwareVersion()
    {
        unset($this->hardware_version);
    }

    /**
     * Returns the unboxed value from <code>getHardwareVersion()</code>

     * Версия аппаратного обеспенения.
     * # Диапазон: 3..64
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue hardware_version = 11;</code>
     * @return string|null
     */
    public function getHardwareVersionUnwrapped()
    {
        return $this->readWrapperValue("hardware_version");
    }

    /**
     * Версия аппаратного обеспенения.
     * # Диапазон: 3..64
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue hardware_version = 11;</code>
     * @param \Google\Protobuf\StringValue $var
     * @return $this
     */
    public function setHardwareVersion($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
        $this->hardware_version = $var;

        return $this;
    }

    /**
     * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.

     * Версия аппаратного обеспенения.
     * # Диапазон: 3..64
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue hardware_version = 11;</code>
     * @param string|null $var
     * @return $this
     */
    public function setHardwareVersionUnwrapped($var)
    {
        $this->writeWrapperValue("hardware_version", $var);
        return $this;}

    /**
     * Версия программного обеспенения.
     * # Диапазон: 3..64
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue software_version = 12;</code>
     * @return \Google\Protobuf\StringValue|null
     */
    public function getSoftwareVersion()
    {
        return $this->software_version;
    }

    public function hasSoftwareVersion()
    {
        return isset($this->software_version);
    }

    public function clearSoftwareVersion()
    {
        unset($this->software_version);
    }

    /**
     * Returns the unboxed value from <code>getSoftwareVersion()</code>

     * Версия программного обеспенения.
     * # Диапазон: 3..64
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue software_version = 12;</code>
     * @return string|null
     */
    public function getSoftwareVersionUnwrapped()
    {
        return $this->readWrapperValue("software_version");
    }

    /**
     * Версия программного обеспенения.
     * # Диапазон: 3..64
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue software_version = 12;</code>
     * @param \Google\Protobuf\StringValue $var
     * @return $this
     */
    public function setSoftwareVersion($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
        $this->software_version = $var;

        return $this;
    }

    /**
     * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.

     * Версия программного обеспенения.
     * # Диапазон: 3..64
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue software_version = 12;</code>
     * @param string|null $var
     * @return $this
     */
    public function setSoftwareVersionUnwrapped($var)
    {
        $this->writeWrapperValue("software_version", $var);
        return $this;}

    /**
     * Автозамена пароля
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue is_autochange_password_enabled = 13;</code>
     * @return \Google\Protobuf\BoolValue|null
     */
    public function getIsAutochangePasswordEnabled()
    {
        return $this->is_autochange_password_enabled;
    }

    public function hasIsAutochangePasswordEnabled()
    {
        return isset($this->is_autochange_password_enabled);
    }

    public function clearIsAutochangePasswordEnabled()
    {
        unset($this->is_autochange_password_enabled);
    }

    /**
     * Returns the unboxed value from <code>getIsAutochangePasswordEnabled()</code>

     * Автозамена пароля
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue is_autochange_password_enabled = 13;</code>
     * @return bool|null
     */
    public function getIsAutochangePasswordEnabledUnwrapped()
    {
        return $this->readWrapperValue("is_autochange_password_enabled");
    }

    /**
     * Автозамена пароля
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue is_autochange_password_enabled = 13;</code>
     * @param \Google\Protobuf\BoolValue $var
     * @return $this
     */
    public function setIsAutochangePasswordEnabled($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
        $this->is_autochange_password_enabled = $var;

        return $this;
    }

    /**
     * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.

     * Автозамена пароля
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue is_autochange_password_enabled = 13;</code>
     * @param bool|null $var
     * @return $this
     */
    public function setIsAutochangePasswordEnabledUnwrapped($var)
    {
        $this->writeWrapperValue("is_autochange_password_enabled", $var);
        return $this;}

    /**
     * ABC-номер
     *
     * Generated from protobuf field <code>repeated string abc_number = 14;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getAbcNumber()
    {
        return $this->abc_number;
    }

    /**
     * ABC-номер
     *
     * Generated from protobuf field <code>repeated string abc_number = 14;</code>
     * @param array<string>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setAbcNumber($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
        $this->abc_number = $arr;

        return $this;
    }

    /**
     * Идентификаторы камер
     *
     * Generated from protobuf field <code>repeated string camera_ids = 15;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getCameraIds()
    {
        return $this->camera_ids;
    }

    /**
     * Идентификаторы камер
     *
     * Generated from protobuf field <code>repeated string camera_ids = 15;</code>
     * @param array<string>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setCameraIds($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
        $this->camera_ids = $arr;

        return $this;
    }

    /**
     * Фильтр по статусу синхронизации (SyncStatus.status_type)
     *
     * Generated from protobuf field <code>repeated .keyapis.device.v1.SyncStatus.StatusType sync_status_status_types = 16;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getSyncStatusStatusTypes()
    {
        return $this->sync_status_status_types;
    }

    /**
     * Фильтр по статусу синхронизации (SyncStatus.status_type)
     *
     * Generated from protobuf field <code>repeated .keyapis.device.v1.SyncStatus.StatusType sync_status_status_types = 16;</code>
     * @param array<int>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setSyncStatusStatusTypes($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::ENUM, \Keyapis\Device\V1\SyncStatus\StatusType::class);
        $this->sync_status_status_types = $arr;

        return $this;
    }

    /**
     * Пороговое значение количества попыток синхронизации.
     * Возвращает записи, у которых sync_retry_count меньше этого значения
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value sync_retry_count_less_then = 17;</code>
     * @return \Google\Protobuf\Int32Value|null
     */
    public function getSyncRetryCountLessThen()
    {
        return $this->sync_retry_count_less_then;
    }

    public function hasSyncRetryCountLessThen()
    {
        return isset($this->sync_retry_count_less_then);
    }

    public function clearSyncRetryCountLessThen()
    {
        unset($this->sync_retry_count_less_then);
    }

    /**
     * Returns the unboxed value from <code>getSyncRetryCountLessThen()</code>

     * Пороговое значение количества попыток синхронизации.
     * Возвращает записи, у которых sync_retry_count меньше этого значения
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value sync_retry_count_less_then = 17;</code>
     * @return int|null
     */
    public function getSyncRetryCountLessThenUnwrapped()
    {
        return $this->readWrapperValue("sync_retry_count_less_then");
    }

    /**
     * Пороговое значение количества попыток синхронизации.
     * Возвращает записи, у которых sync_retry_count меньше этого значения
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value sync_retry_count_less_then = 17;</code>
     * @param \Google\Protobuf\Int32Value $var
     * @return $this
     */
    public function setSyncRetryCountLessThen($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\Int32Value::class);
        $this->sync_retry_count_less_then = $var;

        return $this;
    }

    /**
     * Sets the field by wrapping a primitive type in a Google\Protobuf\Int32Value object.

     * Пороговое значение количества попыток синхронизации.
     * Возвращает записи, у которых sync_retry_count меньше этого значения
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value sync_retry_count_less_then = 17;</code>
     * @param int|null $var
     * @return $this
     */
    public function setSyncRetryCountLessThenUnwrapped($var)
    {
        $this->writeWrapperValue("sync_retry_count_less_then", $var);
        return $this;}

    /**
     * От даты успешной синхронизации включительно (>=)
     *
     * Generated from protobuf field <code>.google.protobuf.Timestamp begin_sync_successful_at = 18;</code>
     * @return \Google\Protobuf\Timestamp|null
     */
    public function getBeginSyncSuccessfulAt()
    {
        return $this->begin_sync_successful_at;
    }

    public function hasBeginSyncSuccessfulAt()
    {
        return isset($this->begin_sync_successful_at);
    }

    public function clearBeginSyncSuccessfulAt()
    {
        unset($this->begin_sync_successful_at);
    }

    /**
     * От даты успешной синхронизации включительно (>=)
     *
     * Generated from protobuf field <code>.google.protobuf.Timestamp begin_sync_successful_at = 18;</code>
     * @param \Google\Protobuf\Timestamp $var
     * @return $this
     */
    public function setBeginSyncSuccessfulAt($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
        $this->begin_sync_successful_at = $var;

        return $this;
    }

    /**
     * До даты успешной синхронизации (<)
     *
     * Generated from protobuf field <code>.google.protobuf.Timestamp end_sync_successful_at = 19;</code>
     * @return \Google\Protobuf\Timestamp|null
     */
    public function getEndSyncSuccessfulAt()
    {
        return $this->end_sync_successful_at;
    }

    public function hasEndSyncSuccessfulAt()
    {
        return isset($this->end_sync_successful_at);
    }

    public function clearEndSyncSuccessfulAt()
    {
        unset($this->end_sync_successful_at);
    }

    /**
     * До даты успешной синхронизации (<)
     *
     * Generated from protobuf field <code>.google.protobuf.Timestamp end_sync_successful_at = 19;</code>
     * @param \Google\Protobuf\Timestamp $var
     * @return $this
     */
    public function setEndSyncSuccessfulAt($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
        $this->end_sync_successful_at = $var;

        return $this;
    }

    /**
     * От даты синхронизации включительно (>=)
     *
     * Generated from protobuf field <code>.google.protobuf.Timestamp begin_sync_at = 20;</code>
     * @return \Google\Protobuf\Timestamp|null
     */
    public function getBeginSyncAt()
    {
        return $this->begin_sync_at;
    }

    public function hasBeginSyncAt()
    {
        return isset($this->begin_sync_at);
    }

    public function clearBeginSyncAt()
    {
        unset($this->begin_sync_at);
    }

    /**
     * От даты синхронизации включительно (>=)
     *
     * Generated from protobuf field <code>.google.protobuf.Timestamp begin_sync_at = 20;</code>
     * @param \Google\Protobuf\Timestamp $var
     * @return $this
     */
    public function setBeginSyncAt($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
        $this->begin_sync_at = $var;

        return $this;
    }

    /**
     * До даты синхронизации (<)
     *
     * Generated from protobuf field <code>.google.protobuf.Timestamp end_sync_at = 21;</code>
     * @return \Google\Protobuf\Timestamp|null
     */
    public function getEndSyncAt()
    {
        return $this->end_sync_at;
    }

    public function hasEndSyncAt()
    {
        return isset($this->end_sync_at);
    }

    public function clearEndSyncAt()
    {
        unset($this->end_sync_at);
    }

    /**
     * До даты синхронизации (<)
     *
     * Generated from protobuf field <code>.google.protobuf.Timestamp end_sync_at = 21;</code>
     * @param \Google\Protobuf\Timestamp $var
     * @return $this
     */
    public function setEndSyncAt($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
        $this->end_sync_at = $var;

        return $this;
    }

}

