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

namespace Deviceapis\Device\V1;

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

/**
 *Sip-аккаунт
 *
 * Generated from protobuf message <code>deviceapis.device.v1.SipAccount</code>
 */
class SipAccount extends \Google\Protobuf\Internal\Message
{
    /**
     * ID Sip-аккаунта
     *
     * Generated from protobuf field <code>string account_id = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $account_id = '';
    /**
     * Имя
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue name = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $name = null;
    /**
     * Номер
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue number = 3 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $number = null;
    /**
     * Имя пользователя
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue user = 4 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $user = null;
    /**
     * Пароль.
     * Не возвращается с сервера.
     * TODO: в генерации сваггера не показывать INPUT_ONLY поля в ответах
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue password = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $password = null;
    /**
     * Адрес REG-сервера.
     * Сетевой адрес и порт.
     * Пример: 192.168.0.1:5060, reg.acme.io:5060
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue reg_server_address = 6 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $reg_server_address = null;
    /**
     * Адрес SIP-сервера.
     * Сетевой адрес и порт.
     * Пример: 192.168.0.1:5060, sip.acme.io:5060
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue sip_server_address = 7 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $sip_server_address = null;
    /**
     * Адрес SIP-прокси.
     * Сетевой адрес и порт.
     * Пример: 192.168.0.1:5060, proxy.acme.io:5060
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue sip_proxy_address = 8 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $sip_proxy_address = null;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type string $account_id
     *           ID Sip-аккаунта
     *     @type \Google\Protobuf\StringValue $name
     *           Имя
     *     @type \Google\Protobuf\StringValue $number
     *           Номер
     *     @type \Google\Protobuf\StringValue $user
     *           Имя пользователя
     *     @type \Google\Protobuf\StringValue $password
     *           Пароль.
     *           Не возвращается с сервера.
     *           TODO: в генерации сваггера не показывать INPUT_ONLY поля в ответах
     *     @type \Google\Protobuf\StringValue $reg_server_address
     *           Адрес REG-сервера.
     *           Сетевой адрес и порт.
     *           Пример: 192.168.0.1:5060, reg.acme.io:5060
     *     @type \Google\Protobuf\StringValue $sip_server_address
     *           Адрес SIP-сервера.
     *           Сетевой адрес и порт.
     *           Пример: 192.168.0.1:5060, sip.acme.io:5060
     *     @type \Google\Protobuf\StringValue $sip_proxy_address
     *           Адрес SIP-прокси.
     *           Сетевой адрес и порт.
     *           Пример: 192.168.0.1:5060, proxy.acme.io:5060
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Deviceapis\Device\V1\DeviceapisDeviceSipV1::initOnce();
        parent::__construct($data);
    }

    /**
     * ID Sip-аккаунта
     *
     * Generated from protobuf field <code>string account_id = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return string
     */
    public function getAccountId()
    {
        return $this->account_id;
    }

    /**
     * ID Sip-аккаунта
     *
     * Generated from protobuf field <code>string account_id = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param string $var
     * @return $this
     */
    public function setAccountId($var)
    {
        GPBUtil::checkString($var, True);
        $this->account_id = $var;

        return $this;
    }

    /**
     * Имя
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue name = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return \Google\Protobuf\StringValue|null
     */
    public function getName()
    {
        return $this->name;
    }

    public function hasName()
    {
        return isset($this->name);
    }

    public function clearName()
    {
        unset($this->name);
    }

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

     * Имя
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue name = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return string|null
     */
    public function getNameUnwrapped()
    {
        return $this->readWrapperValue("name");
    }

    /**
     * Имя
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue name = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param \Google\Protobuf\StringValue $var
     * @return $this
     */
    public function setName($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
        $this->name = $var;

        return $this;
    }

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

     * Имя
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue name = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param string|null $var
     * @return $this
     */
    public function setNameUnwrapped($var)
    {
        $this->writeWrapperValue("name", $var);
        return $this;}

    /**
     * Номер
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue number = 3 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return \Google\Protobuf\StringValue|null
     */
    public function getNumber()
    {
        return $this->number;
    }

    public function hasNumber()
    {
        return isset($this->number);
    }

    public function clearNumber()
    {
        unset($this->number);
    }

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

     * Номер
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue number = 3 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return string|null
     */
    public function getNumberUnwrapped()
    {
        return $this->readWrapperValue("number");
    }

    /**
     * Номер
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue number = 3 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param \Google\Protobuf\StringValue $var
     * @return $this
     */
    public function setNumber($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
        $this->number = $var;

        return $this;
    }

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

     * Номер
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue number = 3 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param string|null $var
     * @return $this
     */
    public function setNumberUnwrapped($var)
    {
        $this->writeWrapperValue("number", $var);
        return $this;}

    /**
     * Имя пользователя
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue user = 4 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return \Google\Protobuf\StringValue|null
     */
    public function getUser()
    {
        return $this->user;
    }

    public function hasUser()
    {
        return isset($this->user);
    }

    public function clearUser()
    {
        unset($this->user);
    }

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

     * Имя пользователя
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue user = 4 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return string|null
     */
    public function getUserUnwrapped()
    {
        return $this->readWrapperValue("user");
    }

    /**
     * Имя пользователя
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue user = 4 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param \Google\Protobuf\StringValue $var
     * @return $this
     */
    public function setUser($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
        $this->user = $var;

        return $this;
    }

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

     * Имя пользователя
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue user = 4 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param string|null $var
     * @return $this
     */
    public function setUserUnwrapped($var)
    {
        $this->writeWrapperValue("user", $var);
        return $this;}

    /**
     * Пароль.
     * Не возвращается с сервера.
     * TODO: в генерации сваггера не показывать INPUT_ONLY поля в ответах
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue password = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return \Google\Protobuf\StringValue|null
     */
    public function getPassword()
    {
        return $this->password;
    }

    public function hasPassword()
    {
        return isset($this->password);
    }

    public function clearPassword()
    {
        unset($this->password);
    }

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

     * Пароль.
     * Не возвращается с сервера.
     * TODO: в генерации сваггера не показывать INPUT_ONLY поля в ответах
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue password = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return string|null
     */
    public function getPasswordUnwrapped()
    {
        return $this->readWrapperValue("password");
    }

    /**
     * Пароль.
     * Не возвращается с сервера.
     * TODO: в генерации сваггера не показывать INPUT_ONLY поля в ответах
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue password = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param \Google\Protobuf\StringValue $var
     * @return $this
     */
    public function setPassword($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
        $this->password = $var;

        return $this;
    }

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

     * Пароль.
     * Не возвращается с сервера.
     * TODO: в генерации сваггера не показывать INPUT_ONLY поля в ответах
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue password = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param string|null $var
     * @return $this
     */
    public function setPasswordUnwrapped($var)
    {
        $this->writeWrapperValue("password", $var);
        return $this;}

    /**
     * Адрес REG-сервера.
     * Сетевой адрес и порт.
     * Пример: 192.168.0.1:5060, reg.acme.io:5060
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue reg_server_address = 6 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return \Google\Protobuf\StringValue|null
     */
    public function getRegServerAddress()
    {
        return $this->reg_server_address;
    }

    public function hasRegServerAddress()
    {
        return isset($this->reg_server_address);
    }

    public function clearRegServerAddress()
    {
        unset($this->reg_server_address);
    }

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

     * Адрес REG-сервера.
     * Сетевой адрес и порт.
     * Пример: 192.168.0.1:5060, reg.acme.io:5060
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue reg_server_address = 6 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return string|null
     */
    public function getRegServerAddressUnwrapped()
    {
        return $this->readWrapperValue("reg_server_address");
    }

    /**
     * Адрес REG-сервера.
     * Сетевой адрес и порт.
     * Пример: 192.168.0.1:5060, reg.acme.io:5060
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue reg_server_address = 6 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param \Google\Protobuf\StringValue $var
     * @return $this
     */
    public function setRegServerAddress($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
        $this->reg_server_address = $var;

        return $this;
    }

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

     * Адрес REG-сервера.
     * Сетевой адрес и порт.
     * Пример: 192.168.0.1:5060, reg.acme.io:5060
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue reg_server_address = 6 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param string|null $var
     * @return $this
     */
    public function setRegServerAddressUnwrapped($var)
    {
        $this->writeWrapperValue("reg_server_address", $var);
        return $this;}

    /**
     * Адрес SIP-сервера.
     * Сетевой адрес и порт.
     * Пример: 192.168.0.1:5060, sip.acme.io:5060
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue sip_server_address = 7 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return \Google\Protobuf\StringValue|null
     */
    public function getSipServerAddress()
    {
        return $this->sip_server_address;
    }

    public function hasSipServerAddress()
    {
        return isset($this->sip_server_address);
    }

    public function clearSipServerAddress()
    {
        unset($this->sip_server_address);
    }

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

     * Адрес SIP-сервера.
     * Сетевой адрес и порт.
     * Пример: 192.168.0.1:5060, sip.acme.io:5060
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue sip_server_address = 7 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return string|null
     */
    public function getSipServerAddressUnwrapped()
    {
        return $this->readWrapperValue("sip_server_address");
    }

    /**
     * Адрес SIP-сервера.
     * Сетевой адрес и порт.
     * Пример: 192.168.0.1:5060, sip.acme.io:5060
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue sip_server_address = 7 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param \Google\Protobuf\StringValue $var
     * @return $this
     */
    public function setSipServerAddress($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
        $this->sip_server_address = $var;

        return $this;
    }

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

     * Адрес SIP-сервера.
     * Сетевой адрес и порт.
     * Пример: 192.168.0.1:5060, sip.acme.io:5060
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue sip_server_address = 7 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param string|null $var
     * @return $this
     */
    public function setSipServerAddressUnwrapped($var)
    {
        $this->writeWrapperValue("sip_server_address", $var);
        return $this;}

    /**
     * Адрес SIP-прокси.
     * Сетевой адрес и порт.
     * Пример: 192.168.0.1:5060, proxy.acme.io:5060
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue sip_proxy_address = 8 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return \Google\Protobuf\StringValue|null
     */
    public function getSipProxyAddress()
    {
        return $this->sip_proxy_address;
    }

    public function hasSipProxyAddress()
    {
        return isset($this->sip_proxy_address);
    }

    public function clearSipProxyAddress()
    {
        unset($this->sip_proxy_address);
    }

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

     * Адрес SIP-прокси.
     * Сетевой адрес и порт.
     * Пример: 192.168.0.1:5060, proxy.acme.io:5060
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue sip_proxy_address = 8 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return string|null
     */
    public function getSipProxyAddressUnwrapped()
    {
        return $this->readWrapperValue("sip_proxy_address");
    }

    /**
     * Адрес SIP-прокси.
     * Сетевой адрес и порт.
     * Пример: 192.168.0.1:5060, proxy.acme.io:5060
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue sip_proxy_address = 8 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param \Google\Protobuf\StringValue $var
     * @return $this
     */
    public function setSipProxyAddress($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
        $this->sip_proxy_address = $var;

        return $this;
    }

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

     * Адрес SIP-прокси.
     * Сетевой адрес и порт.
     * Пример: 192.168.0.1:5060, proxy.acme.io:5060
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue sip_proxy_address = 8 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param string|null $var
     * @return $this
     */
    public function setSipProxyAddressUnwrapped($var)
    {
        $this->writeWrapperValue("sip_proxy_address", $var);
        return $this;}

}

