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

namespace Keyapis\Device\V1;

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

/**
 * Фильтр для Trunk-конфигураций
 *
 * Generated from protobuf message <code>keyapis.device.v1.TrunkConfigFilter</code>
 */
class TrunkConfigFilter extends \Google\Protobuf\Internal\Message
{
    /**
     * Фильтр по ОРПОН идентификаторам города
     *
     * Generated from protobuf field <code>repeated int64 city_orpon_ids = 1;</code>
     */
    private $city_orpon_ids;
    /**
     * Фильтр по IP-адресам
     *
     * Generated from protobuf field <code>repeated string ip_addresses = 2;</code>
     */
    private $ip_addresses;
    /**
     * Показывать удаленные
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue show_deleted = 3;</code>
     */
    protected $show_deleted = null;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type array<int>|array<string>|\Google\Protobuf\Internal\RepeatedField $city_orpon_ids
     *           Фильтр по ОРПОН идентификаторам города
     *     @type array<string>|\Google\Protobuf\Internal\RepeatedField $ip_addresses
     *           Фильтр по IP-адресам
     *     @type \Google\Protobuf\BoolValue $show_deleted
     *           Показывать удаленные
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Keyapis\Device\V1\KeyapisDeviceTrunkConfig::initOnce();
        parent::__construct($data);
    }

    /**
     * Фильтр по ОРПОН идентификаторам города
     *
     * Generated from protobuf field <code>repeated int64 city_orpon_ids = 1;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getCityOrponIds()
    {
        return $this->city_orpon_ids;
    }

    /**
     * Фильтр по ОРПОН идентификаторам города
     *
     * Generated from protobuf field <code>repeated int64 city_orpon_ids = 1;</code>
     * @param array<int>|array<string>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setCityOrponIds($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::INT64);
        $this->city_orpon_ids = $arr;

        return $this;
    }

    /**
     * Фильтр по IP-адресам
     *
     * Generated from protobuf field <code>repeated string ip_addresses = 2;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getIpAddresses()
    {
        return $this->ip_addresses;
    }

    /**
     * Фильтр по IP-адресам
     *
     * Generated from protobuf field <code>repeated string ip_addresses = 2;</code>
     * @param array<string>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setIpAddresses($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
        $this->ip_addresses = $arr;

        return $this;
    }

    /**
     * Показывать удаленные
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue show_deleted = 3;</code>
     * @return \Google\Protobuf\BoolValue|null
     */
    public function getShowDeleted()
    {
        return $this->show_deleted;
    }

    public function hasShowDeleted()
    {
        return isset($this->show_deleted);
    }

    public function clearShowDeleted()
    {
        unset($this->show_deleted);
    }

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

     * Показывать удаленные
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue show_deleted = 3;</code>
     * @return bool|null
     */
    public function getShowDeletedUnwrapped()
    {
        return $this->readWrapperValue("show_deleted");
    }

    /**
     * Показывать удаленные
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue show_deleted = 3;</code>
     * @param \Google\Protobuf\BoolValue $var
     * @return $this
     */
    public function setShowDeleted($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
        $this->show_deleted = $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 show_deleted = 3;</code>
     * @param bool|null $var
     * @return $this
     */
    public function setShowDeletedUnwrapped($var)
    {
        $this->writeWrapperValue("show_deleted", $var);
        return $this;}

}

