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

namespace Keyapis\Device\V1\ConfigureDeviceResultTask;

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

/**
 * Результат конфигурации устройства
 *
 * Generated from protobuf message <code>keyapis.device.v1.ConfigureDeviceResultTask.Settings</code>
 */
class Settings extends \Google\Protobuf\Internal\Message
{
    /**
     * Установка пресета
     *
     * Generated from protobuf field <code>.keyapis.device.v1.ConfigureDeviceResultTask.Settings.State preset = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    protected $preset = null;
    /**
     * Настройка SIP-аккаунта
     *
     * Generated from protobuf field <code>.keyapis.device.v1.ConfigureDeviceResultTask.Settings.State sip_account = 2;</code>
     */
    protected $sip_account = null;
    /**
     * Настройка сип-номеров в помещениях
     *
     * Generated from protobuf field <code>.keyapis.device.v1.ConfigureDeviceResultTask.Settings.SipRooms sip_rooms = 3;</code>
     */
    protected $sip_rooms = null;
    /**
     * Настройка калитки
     *
     * Generated from protobuf field <code>.keyapis.device.v1.ConfigureDeviceResultTask.Settings.State gate = 4;</code>
     */
    protected $gate = null;
    /**
     * Настройка ключей
     *
     * Generated from protobuf field <code>.keyapis.device.v1.ConfigureDeviceResultTask.Settings.Rfids rfids = 5;</code>
     */
    protected $rfids = null;
    /**
     * Настройка кодов
     *
     * Generated from protobuf field <code>.keyapis.device.v1.ConfigureDeviceResultTask.Settings.Codes codes = 6;</code>
     */
    protected $codes = null;
    /**
     * Настройка sl3
     *
     * Generated from protobuf field <code>.keyapis.device.v1.ConfigureDeviceResultTask.Settings.State sl3 = 7;</code>
     */
    protected $sl3 = null;
    /**
     * Настройки вызова экстренной службы
     *
     * Generated from protobuf field <code>.keyapis.device.v1.ConfigureDeviceResultTask.Settings.State emergency_call_settings = 8;</code>
     */
    protected $emergency_call_settings = null;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\State $preset
     *           Установка пресета
     *     @type \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\State $sip_account
     *           Настройка SIP-аккаунта
     *     @type \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\SipRooms $sip_rooms
     *           Настройка сип-номеров в помещениях
     *     @type \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\State $gate
     *           Настройка калитки
     *     @type \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\Rfids $rfids
     *           Настройка ключей
     *     @type \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\Codes $codes
     *           Настройка кодов
     *     @type \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\State $sl3
     *           Настройка sl3
     *     @type \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\State $emergency_call_settings
     *           Настройки вызова экстренной службы
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Keyapis\Device\V1\KeyapisDeviceEventsV1::initOnce();
        parent::__construct($data);
    }

    /**
     * Установка пресета
     *
     * Generated from protobuf field <code>.keyapis.device.v1.ConfigureDeviceResultTask.Settings.State preset = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\State|null
     */
    public function getPreset()
    {
        return $this->preset;
    }

    public function hasPreset()
    {
        return isset($this->preset);
    }

    public function clearPreset()
    {
        unset($this->preset);
    }

    /**
     * Установка пресета
     *
     * Generated from protobuf field <code>.keyapis.device.v1.ConfigureDeviceResultTask.Settings.State preset = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\State $var
     * @return $this
     */
    public function setPreset($var)
    {
        GPBUtil::checkMessage($var, \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\State::class);
        $this->preset = $var;

        return $this;
    }

    /**
     * Настройка SIP-аккаунта
     *
     * Generated from protobuf field <code>.keyapis.device.v1.ConfigureDeviceResultTask.Settings.State sip_account = 2;</code>
     * @return \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\State|null
     */
    public function getSipAccount()
    {
        return $this->sip_account;
    }

    public function hasSipAccount()
    {
        return isset($this->sip_account);
    }

    public function clearSipAccount()
    {
        unset($this->sip_account);
    }

    /**
     * Настройка SIP-аккаунта
     *
     * Generated from protobuf field <code>.keyapis.device.v1.ConfigureDeviceResultTask.Settings.State sip_account = 2;</code>
     * @param \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\State $var
     * @return $this
     */
    public function setSipAccount($var)
    {
        GPBUtil::checkMessage($var, \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\State::class);
        $this->sip_account = $var;

        return $this;
    }

    /**
     * Настройка сип-номеров в помещениях
     *
     * Generated from protobuf field <code>.keyapis.device.v1.ConfigureDeviceResultTask.Settings.SipRooms sip_rooms = 3;</code>
     * @return \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\SipRooms|null
     */
    public function getSipRooms()
    {
        return $this->sip_rooms;
    }

    public function hasSipRooms()
    {
        return isset($this->sip_rooms);
    }

    public function clearSipRooms()
    {
        unset($this->sip_rooms);
    }

    /**
     * Настройка сип-номеров в помещениях
     *
     * Generated from protobuf field <code>.keyapis.device.v1.ConfigureDeviceResultTask.Settings.SipRooms sip_rooms = 3;</code>
     * @param \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\SipRooms $var
     * @return $this
     */
    public function setSipRooms($var)
    {
        GPBUtil::checkMessage($var, \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\SipRooms::class);
        $this->sip_rooms = $var;

        return $this;
    }

    /**
     * Настройка калитки
     *
     * Generated from protobuf field <code>.keyapis.device.v1.ConfigureDeviceResultTask.Settings.State gate = 4;</code>
     * @return \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\State|null
     */
    public function getGate()
    {
        return $this->gate;
    }

    public function hasGate()
    {
        return isset($this->gate);
    }

    public function clearGate()
    {
        unset($this->gate);
    }

    /**
     * Настройка калитки
     *
     * Generated from protobuf field <code>.keyapis.device.v1.ConfigureDeviceResultTask.Settings.State gate = 4;</code>
     * @param \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\State $var
     * @return $this
     */
    public function setGate($var)
    {
        GPBUtil::checkMessage($var, \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\State::class);
        $this->gate = $var;

        return $this;
    }

    /**
     * Настройка ключей
     *
     * Generated from protobuf field <code>.keyapis.device.v1.ConfigureDeviceResultTask.Settings.Rfids rfids = 5;</code>
     * @return \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\Rfids|null
     */
    public function getRfids()
    {
        return $this->rfids;
    }

    public function hasRfids()
    {
        return isset($this->rfids);
    }

    public function clearRfids()
    {
        unset($this->rfids);
    }

    /**
     * Настройка ключей
     *
     * Generated from protobuf field <code>.keyapis.device.v1.ConfigureDeviceResultTask.Settings.Rfids rfids = 5;</code>
     * @param \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\Rfids $var
     * @return $this
     */
    public function setRfids($var)
    {
        GPBUtil::checkMessage($var, \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\Rfids::class);
        $this->rfids = $var;

        return $this;
    }

    /**
     * Настройка кодов
     *
     * Generated from protobuf field <code>.keyapis.device.v1.ConfigureDeviceResultTask.Settings.Codes codes = 6;</code>
     * @return \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\Codes|null
     */
    public function getCodes()
    {
        return $this->codes;
    }

    public function hasCodes()
    {
        return isset($this->codes);
    }

    public function clearCodes()
    {
        unset($this->codes);
    }

    /**
     * Настройка кодов
     *
     * Generated from protobuf field <code>.keyapis.device.v1.ConfigureDeviceResultTask.Settings.Codes codes = 6;</code>
     * @param \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\Codes $var
     * @return $this
     */
    public function setCodes($var)
    {
        GPBUtil::checkMessage($var, \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\Codes::class);
        $this->codes = $var;

        return $this;
    }

    /**
     * Настройка sl3
     *
     * Generated from protobuf field <code>.keyapis.device.v1.ConfigureDeviceResultTask.Settings.State sl3 = 7;</code>
     * @return \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\State|null
     */
    public function getSl3()
    {
        return $this->sl3;
    }

    public function hasSl3()
    {
        return isset($this->sl3);
    }

    public function clearSl3()
    {
        unset($this->sl3);
    }

    /**
     * Настройка sl3
     *
     * Generated from protobuf field <code>.keyapis.device.v1.ConfigureDeviceResultTask.Settings.State sl3 = 7;</code>
     * @param \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\State $var
     * @return $this
     */
    public function setSl3($var)
    {
        GPBUtil::checkMessage($var, \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\State::class);
        $this->sl3 = $var;

        return $this;
    }

    /**
     * Настройки вызова экстренной службы
     *
     * Generated from protobuf field <code>.keyapis.device.v1.ConfigureDeviceResultTask.Settings.State emergency_call_settings = 8;</code>
     * @return \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\State|null
     */
    public function getEmergencyCallSettings()
    {
        return $this->emergency_call_settings;
    }

    public function hasEmergencyCallSettings()
    {
        return isset($this->emergency_call_settings);
    }

    public function clearEmergencyCallSettings()
    {
        unset($this->emergency_call_settings);
    }

    /**
     * Настройки вызова экстренной службы
     *
     * Generated from protobuf field <code>.keyapis.device.v1.ConfigureDeviceResultTask.Settings.State emergency_call_settings = 8;</code>
     * @param \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\State $var
     * @return $this
     */
    public function setEmergencyCallSettings($var)
    {
        GPBUtil::checkMessage($var, \Keyapis\Device\V1\ConfigureDeviceResultTask\Settings\State::class);
        $this->emergency_call_settings = $var;

        return $this;
    }

}

// Adding a class alias for backwards compatibility with the previous class name.
class_alias(Settings::class, \Keyapis\Device\V1\ConfigureDeviceResultTask_Settings::class);

