<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: ethernet.proto

namespace OS\PB;

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

/**
 * Generated from protobuf message <code>OS.PB.EthernetResponse</code>
 */
class EthernetResponse extends \Google\Protobuf\Internal\Message
{
    /**
     * Generated from protobuf field <code>.OS.PB.EthernetConfig Config = 1;</code>
     */
    protected $Config = null;
    /**
     * The MAC address set for the ethernet phy
     *
     * Generated from protobuf field <code>bytes MACAddress = 3;</code>
     */
    protected $MACAddress = '';
    /**
     * The IPv4 address currently assigned by DHCP server or statically assigned
     *
     * Generated from protobuf field <code>bytes LocalIPv4Address = 5;</code>
     */
    protected $LocalIPv4Address = '';
    /**
     * The subnet mask, typically 255.255.255.0
     *
     * Generated from protobuf field <code>bytes LocalSubnetMask = 6;</code>
     */
    protected $LocalSubnetMask = '';
    /**
     * The IPv6 address current 
     *
     * Generated from protobuf field <code>bytes LocalIPv6Address = 7;</code>
     */
    protected $LocalIPv6Address = '';
    /**
     * if present, will be the default gateway's IP address
     *
     * Generated from protobuf field <code>bytes GatewayIPAddress = 10;</code>
     */
    protected $GatewayIPAddress = '';
    /**
     * If present, will be the DHCP server's IP address
     *
     * Generated from protobuf field <code>bytes DHCPServerIPAddress = 11;</code>
     */
    protected $DHCPServerIPAddress = '';

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type \OS\PB\EthernetConfig $Config
     *     @type string $MACAddress
     *           The MAC address set for the ethernet phy
     *     @type string $LocalIPv4Address
     *           The IPv4 address currently assigned by DHCP server or statically assigned
     *     @type string $LocalSubnetMask
     *           The subnet mask, typically 255.255.255.0
     *     @type string $LocalIPv6Address
     *           The IPv6 address current 
     *     @type string $GatewayIPAddress
     *           if present, will be the default gateway's IP address
     *     @type string $DHCPServerIPAddress
     *           If present, will be the DHCP server's IP address
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Ethernet::initOnce();
        parent::__construct($data);
    }

    /**
     * Generated from protobuf field <code>.OS.PB.EthernetConfig Config = 1;</code>
     * @return \OS\PB\EthernetConfig|null
     */
    public function getConfig()
    {
        return $this->Config;
    }

    public function hasConfig()
    {
        return isset($this->Config);
    }

    public function clearConfig()
    {
        unset($this->Config);
    }

    /**
     * Generated from protobuf field <code>.OS.PB.EthernetConfig Config = 1;</code>
     * @param \OS\PB\EthernetConfig $var
     * @return $this
     */
    public function setConfig($var)
    {
        GPBUtil::checkMessage($var, \OS\PB\EthernetConfig::class);
        $this->Config = $var;

        return $this;
    }

    /**
     * The MAC address set for the ethernet phy
     *
     * Generated from protobuf field <code>bytes MACAddress = 3;</code>
     * @return string
     */
    public function getMACAddress()
    {
        return $this->MACAddress;
    }

    /**
     * The MAC address set for the ethernet phy
     *
     * Generated from protobuf field <code>bytes MACAddress = 3;</code>
     * @param string $var
     * @return $this
     */
    public function setMACAddress($var)
    {
        GPBUtil::checkString($var, False);
        $this->MACAddress = $var;

        return $this;
    }

    /**
     * The IPv4 address currently assigned by DHCP server or statically assigned
     *
     * Generated from protobuf field <code>bytes LocalIPv4Address = 5;</code>
     * @return string
     */
    public function getLocalIPv4Address()
    {
        return $this->LocalIPv4Address;
    }

    /**
     * The IPv4 address currently assigned by DHCP server or statically assigned
     *
     * Generated from protobuf field <code>bytes LocalIPv4Address = 5;</code>
     * @param string $var
     * @return $this
     */
    public function setLocalIPv4Address($var)
    {
        GPBUtil::checkString($var, False);
        $this->LocalIPv4Address = $var;

        return $this;
    }

    /**
     * The subnet mask, typically 255.255.255.0
     *
     * Generated from protobuf field <code>bytes LocalSubnetMask = 6;</code>
     * @return string
     */
    public function getLocalSubnetMask()
    {
        return $this->LocalSubnetMask;
    }

    /**
     * The subnet mask, typically 255.255.255.0
     *
     * Generated from protobuf field <code>bytes LocalSubnetMask = 6;</code>
     * @param string $var
     * @return $this
     */
    public function setLocalSubnetMask($var)
    {
        GPBUtil::checkString($var, False);
        $this->LocalSubnetMask = $var;

        return $this;
    }

    /**
     * The IPv6 address current 
     *
     * Generated from protobuf field <code>bytes LocalIPv6Address = 7;</code>
     * @return string
     */
    public function getLocalIPv6Address()
    {
        return $this->LocalIPv6Address;
    }

    /**
     * The IPv6 address current 
     *
     * Generated from protobuf field <code>bytes LocalIPv6Address = 7;</code>
     * @param string $var
     * @return $this
     */
    public function setLocalIPv6Address($var)
    {
        GPBUtil::checkString($var, False);
        $this->LocalIPv6Address = $var;

        return $this;
    }

    /**
     * if present, will be the default gateway's IP address
     *
     * Generated from protobuf field <code>bytes GatewayIPAddress = 10;</code>
     * @return string
     */
    public function getGatewayIPAddress()
    {
        return $this->GatewayIPAddress;
    }

    /**
     * if present, will be the default gateway's IP address
     *
     * Generated from protobuf field <code>bytes GatewayIPAddress = 10;</code>
     * @param string $var
     * @return $this
     */
    public function setGatewayIPAddress($var)
    {
        GPBUtil::checkString($var, False);
        $this->GatewayIPAddress = $var;

        return $this;
    }

    /**
     * If present, will be the DHCP server's IP address
     *
     * Generated from protobuf field <code>bytes DHCPServerIPAddress = 11;</code>
     * @return string
     */
    public function getDHCPServerIPAddress()
    {
        return $this->DHCPServerIPAddress;
    }

    /**
     * If present, will be the DHCP server's IP address
     *
     * Generated from protobuf field <code>bytes DHCPServerIPAddress = 11;</code>
     * @param string $var
     * @return $this
     */
    public function setDHCPServerIPAddress($var)
    {
        GPBUtil::checkString($var, False);
        $this->DHCPServerIPAddress = $var;

        return $this;
    }

}

