<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: deviceapis/device/v1/deviceapis_device_system_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.DeviceInfo</code>
 */
class DeviceInfo extends \Google\Protobuf\Internal\Message
{
    /**
     * Версия программного обеспечения
     *
     * Generated from protobuf field <code>string firmware_version = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $firmware_version = '';
    /**
     * Версия аппаратного обеспечения
     *
     * Generated from protobuf field <code>string hardware_version = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $hardware_version = '';
    /**
     * Модель
     *
     * Generated from protobuf field <code>string model = 3 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $model = '';
    /**
     * MAC-адрес.
     * Диапазон: 17..17.
     * Паттерн: /^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/
     *
     * Generated from protobuf field <code>string mac_address = 4 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $mac_address = '';
    /**
     * IP адрес.
     * Диапазон: 7..15.
     * Паттерн: /^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
     *
     * Generated from protobuf field <code>string ip = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $ip = '';
    /**
     * Серийный номер
     *
     * Generated from protobuf field <code>string serial_number = 6 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $serial_number = '';
    /**
     * Время работы в секундах.
     * Диапазон: 0..2147483647
     *
     * Generated from protobuf field <code>int32 uptime = 7 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $uptime = 0;
    /**
     * Версия программного обеспечения микроконтроллера
     *
     * Generated from protobuf field <code>string mc_firmware_version = 8 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $mc_firmware_version = '';

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type string $firmware_version
     *           Версия программного обеспечения
     *     @type string $hardware_version
     *           Версия аппаратного обеспечения
     *     @type string $model
     *           Модель
     *     @type string $mac_address
     *           MAC-адрес.
     *           Диапазон: 17..17.
     *           Паттерн: /^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/
     *     @type string $ip
     *           IP адрес.
     *           Диапазон: 7..15.
     *           Паттерн: /^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
     *     @type string $serial_number
     *           Серийный номер
     *     @type int $uptime
     *           Время работы в секундах.
     *           Диапазон: 0..2147483647
     *     @type string $mc_firmware_version
     *           Версия программного обеспечения микроконтроллера
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Deviceapis\Device\V1\DeviceapisDeviceSystemV1::initOnce();
        parent::__construct($data);
    }

    /**
     * Версия программного обеспечения
     *
     * Generated from protobuf field <code>string firmware_version = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return string
     */
    public function getFirmwareVersion()
    {
        return $this->firmware_version;
    }

    /**
     * Версия программного обеспечения
     *
     * Generated from protobuf field <code>string firmware_version = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param string $var
     * @return $this
     */
    public function setFirmwareVersion($var)
    {
        GPBUtil::checkString($var, True);
        $this->firmware_version = $var;

        return $this;
    }

    /**
     * Версия аппаратного обеспечения
     *
     * Generated from protobuf field <code>string hardware_version = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return string
     */
    public function getHardwareVersion()
    {
        return $this->hardware_version;
    }

    /**
     * Версия аппаратного обеспечения
     *
     * Generated from protobuf field <code>string hardware_version = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param string $var
     * @return $this
     */
    public function setHardwareVersion($var)
    {
        GPBUtil::checkString($var, True);
        $this->hardware_version = $var;

        return $this;
    }

    /**
     * Модель
     *
     * Generated from protobuf field <code>string model = 3 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return string
     */
    public function getModel()
    {
        return $this->model;
    }

    /**
     * Модель
     *
     * Generated from protobuf field <code>string model = 3 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param string $var
     * @return $this
     */
    public function setModel($var)
    {
        GPBUtil::checkString($var, True);
        $this->model = $var;

        return $this;
    }

    /**
     * MAC-адрес.
     * Диапазон: 17..17.
     * Паттерн: /^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/
     *
     * Generated from protobuf field <code>string mac_address = 4 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return string
     */
    public function getMacAddress()
    {
        return $this->mac_address;
    }

    /**
     * MAC-адрес.
     * Диапазон: 17..17.
     * Паттерн: /^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/
     *
     * Generated from protobuf field <code>string mac_address = 4 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param string $var
     * @return $this
     */
    public function setMacAddress($var)
    {
        GPBUtil::checkString($var, True);
        $this->mac_address = $var;

        return $this;
    }

    /**
     * IP адрес.
     * Диапазон: 7..15.
     * Паттерн: /^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
     *
     * Generated from protobuf field <code>string ip = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return string
     */
    public function getIp()
    {
        return $this->ip;
    }

    /**
     * IP адрес.
     * Диапазон: 7..15.
     * Паттерн: /^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
     *
     * Generated from protobuf field <code>string ip = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param string $var
     * @return $this
     */
    public function setIp($var)
    {
        GPBUtil::checkString($var, True);
        $this->ip = $var;

        return $this;
    }

    /**
     * Серийный номер
     *
     * Generated from protobuf field <code>string serial_number = 6 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return string
     */
    public function getSerialNumber()
    {
        return $this->serial_number;
    }

    /**
     * Серийный номер
     *
     * Generated from protobuf field <code>string serial_number = 6 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param string $var
     * @return $this
     */
    public function setSerialNumber($var)
    {
        GPBUtil::checkString($var, True);
        $this->serial_number = $var;

        return $this;
    }

    /**
     * Время работы в секундах.
     * Диапазон: 0..2147483647
     *
     * Generated from protobuf field <code>int32 uptime = 7 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return int
     */
    public function getUptime()
    {
        return $this->uptime;
    }

    /**
     * Время работы в секундах.
     * Диапазон: 0..2147483647
     *
     * Generated from protobuf field <code>int32 uptime = 7 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param int $var
     * @return $this
     */
    public function setUptime($var)
    {
        GPBUtil::checkInt32($var);
        $this->uptime = $var;

        return $this;
    }

    /**
     * Версия программного обеспечения микроконтроллера
     *
     * Generated from protobuf field <code>string mc_firmware_version = 8 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return string
     */
    public function getMcFirmwareVersion()
    {
        return $this->mc_firmware_version;
    }

    /**
     * Версия программного обеспечения микроконтроллера
     *
     * Generated from protobuf field <code>string mc_firmware_version = 8 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param string $var
     * @return $this
     */
    public function setMcFirmwareVersion($var)
    {
        GPBUtil::checkString($var, True);
        $this->mc_firmware_version = $var;

        return $this;
    }

}

