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

namespace Deviceapis\Device\V1;

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

/**
 * Квартира
 *
 * Generated from protobuf message <code>deviceapis.device.v1.Room</code>
 */
class Room extends \Google\Protobuf\Internal\Message
{
    /**
     * Номер квартиры
     *
     * Generated from protobuf field <code>string room_number = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $room_number = '';
    /**
     * Номер Sip-переадресации вызова.
     * Диапазон: 5..200
     *
     * Generated from protobuf field <code>string sip_forwarding_number = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $sip_forwarding_number = '';
    /**
     * Признак блокировки аналоговой (CMS) или адресно-цифровой (digital headset) трубки
     *
     * Generated from protobuf field <code>bool is_analog_phone_blocked = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $is_analog_phone_blocked = false;
    protected $type;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type string $room_number
     *           Номер квартиры
     *     @type string $sip_forwarding_number
     *           Номер Sip-переадресации вызова.
     *           Диапазон: 5..200
     *     @type string $analog_phone_cms_number
     *           Номер координатно-матричной аналоговой трубки.
     *           Где пример значения K1E9D8 - это К1 = коммутатор 1; Е9 = единицы 9; Д8 = десятки 8.
     *           Паттерн: /^[A-Za-z]\d[A-Za-z]\d[A-Za-z]\d$/
     *     @type int $analog_phone_digital_number
     *           Номер цифровой трубки.
     *           Диапазон: 1..255
     *     @type bool $is_analog_phone_blocked
     *           Признак блокировки аналоговой (CMS) или адресно-цифровой (digital headset) трубки
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Deviceapis\Device\V1\DeviceapisDeviceRoomV1::initOnce();
        parent::__construct($data);
    }

    /**
     * Номер квартиры
     *
     * Generated from protobuf field <code>string room_number = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return string
     */
    public function getRoomNumber()
    {
        return $this->room_number;
    }

    /**
     * Номер квартиры
     *
     * Generated from protobuf field <code>string room_number = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param string $var
     * @return $this
     */
    public function setRoomNumber($var)
    {
        GPBUtil::checkString($var, True);
        $this->room_number = $var;

        return $this;
    }

    /**
     * Номер Sip-переадресации вызова.
     * Диапазон: 5..200
     *
     * Generated from protobuf field <code>string sip_forwarding_number = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return string
     */
    public function getSipForwardingNumber()
    {
        return $this->sip_forwarding_number;
    }

    /**
     * Номер Sip-переадресации вызова.
     * Диапазон: 5..200
     *
     * Generated from protobuf field <code>string sip_forwarding_number = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param string $var
     * @return $this
     */
    public function setSipForwardingNumber($var)
    {
        GPBUtil::checkString($var, True);
        $this->sip_forwarding_number = $var;

        return $this;
    }

    /**
     * Номер координатно-матричной аналоговой трубки.
     * Где пример значения K1E9D8 - это К1 = коммутатор 1; Е9 = единицы 9; Д8 = десятки 8.
     * Паттерн: /^[A-Za-z]\d[A-Za-z]\d[A-Za-z]\d$/
     *
     * Generated from protobuf field <code>string analog_phone_cms_number = 3 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return string
     */
    public function getAnalogPhoneCmsNumber()
    {
        return $this->readOneof(3);
    }

    public function hasAnalogPhoneCmsNumber()
    {
        return $this->hasOneof(3);
    }

    /**
     * Номер координатно-матричной аналоговой трубки.
     * Где пример значения K1E9D8 - это К1 = коммутатор 1; Е9 = единицы 9; Д8 = десятки 8.
     * Паттерн: /^[A-Za-z]\d[A-Za-z]\d[A-Za-z]\d$/
     *
     * Generated from protobuf field <code>string analog_phone_cms_number = 3 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param string $var
     * @return $this
     */
    public function setAnalogPhoneCmsNumber($var)
    {
        GPBUtil::checkString($var, True);
        $this->writeOneof(3, $var);

        return $this;
    }

    /**
     * Номер цифровой трубки.
     * Диапазон: 1..255
     *
     * Generated from protobuf field <code>int32 analog_phone_digital_number = 4 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return int
     */
    public function getAnalogPhoneDigitalNumber()
    {
        return $this->readOneof(4);
    }

    public function hasAnalogPhoneDigitalNumber()
    {
        return $this->hasOneof(4);
    }

    /**
     * Номер цифровой трубки.
     * Диапазон: 1..255
     *
     * Generated from protobuf field <code>int32 analog_phone_digital_number = 4 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param int $var
     * @return $this
     */
    public function setAnalogPhoneDigitalNumber($var)
    {
        GPBUtil::checkInt32($var);
        $this->writeOneof(4, $var);

        return $this;
    }

    /**
     * Признак блокировки аналоговой (CMS) или адресно-цифровой (digital headset) трубки
     *
     * Generated from protobuf field <code>bool is_analog_phone_blocked = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return bool
     */
    public function getIsAnalogPhoneBlocked()
    {
        return $this->is_analog_phone_blocked;
    }

    /**
     * Признак блокировки аналоговой (CMS) или адресно-цифровой (digital headset) трубки
     *
     * Generated from protobuf field <code>bool is_analog_phone_blocked = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param bool $var
     * @return $this
     */
    public function setIsAnalogPhoneBlocked($var)
    {
        GPBUtil::checkBool($var);
        $this->is_analog_phone_blocked = $var;

        return $this;
    }

    /**
     * @return string
     */
    public function getType()
    {
        return $this->whichOneof("type");
    }

}

