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

namespace OS\PB;

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

/**
 * The BLEAssetTrackEvent is meant to pack as much information into one message as possible to reduce data usage, hence repeated fields are used
 * The following triggers a BLEAssetTrackEvent:
 * 1. When a new BLE asset is seen, an item will be added to AssetsNew, it is given an Id by the Asset Tracking Gateway
 * 2. When a BLE asset is no longer seen, the id of the BLEAsset will be added to AssetsLost after a timeout occurs (default 1 minute). 
 * 3. Every hour (default), the Asset Tracking Gateway will add all the current ids still seen to BLEAssetsCurrent_byId
 * To keep the timestamp data usage low per BLE Asset, the tsMinus field is populated with the difference in time from when EventMessage.ts field is generated
 *
 * Generated from protobuf message <code>OS.PB.BleAssetTrackEvent</code>
 */
class BleAssetTrackEvent extends \Google\Protobuf\Internal\Message
{
    /**
     * Generated from protobuf field <code>repeated uint32 New_id = 1;</code>
     */
    private $New_id;
    /**
     * Generated from protobuf field <code>repeated uint64 New_macAddress = 2;</code>
     */
    private $New_macAddress;
    /**
     * Generated from protobuf field <code>repeated bytes New_rawData = 3;</code>
     */
    private $New_rawData;
    /**
     * Generated from protobuf field <code>repeated sint32 New_rssi = 4;</code>
     */
    private $New_rssi;
    /**
     * Generated from protobuf field <code>repeated uint32 New_tsMinus = 5;</code>
     */
    private $New_tsMinus;
    /**
     * Generated from protobuf field <code>repeated uint32 Lost_id = 8;</code>
     */
    private $Lost_id;
    /**
     * Generated from protobuf field <code>repeated sint32 Lost_rssi = 9;</code>
     */
    private $Lost_rssi;
    /**
     * Generated from protobuf field <code>repeated uint32 Lost_tsMinus = 10;</code>
     */
    private $Lost_tsMinus;
    /**
     * Generated from protobuf field <code>repeated uint32 Current_id = 12;</code>
     */
    private $Current_id;
    /**
     * Generated from protobuf field <code>repeated sint32 Current_rssi = 13;</code>
     */
    private $Current_rssi;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type int[] $New_id
     *     @type int[]|string[] $New_macAddress
     *     @type string[] $New_rawData
     *     @type int[] $New_rssi
     *     @type int[] $New_tsMinus
     *     @type int[] $Lost_id
     *     @type int[] $Lost_rssi
     *     @type int[] $Lost_tsMinus
     *     @type int[] $Current_id
     *     @type int[] $Current_rssi
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Bleassettrack::initOnce();
        parent::__construct($data);
    }

    /**
     * Generated from protobuf field <code>repeated uint32 New_id = 1;</code>
     * @return RepeatedField<int>
     */
    public function getNewId()
    {
        return $this->New_id;
    }

    /**
     * Generated from protobuf field <code>repeated uint32 New_id = 1;</code>
     * @param int[] $var
     * @return $this
     */
    public function setNewId($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::UINT32);
        $this->New_id = $arr;

        return $this;
    }

    /**
     * Generated from protobuf field <code>repeated uint64 New_macAddress = 2;</code>
     * @return RepeatedField<int>|RepeatedField<string>
     */
    public function getNewMacAddress()
    {
        return $this->New_macAddress;
    }

    /**
     * Generated from protobuf field <code>repeated uint64 New_macAddress = 2;</code>
     * @param int[]|string[] $var
     * @return $this
     */
    public function setNewMacAddress($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::UINT64);
        $this->New_macAddress = $arr;

        return $this;
    }

    /**
     * Generated from protobuf field <code>repeated bytes New_rawData = 3;</code>
     * @return RepeatedField<string>
     */
    public function getNewRawData()
    {
        return $this->New_rawData;
    }

    /**
     * Generated from protobuf field <code>repeated bytes New_rawData = 3;</code>
     * @param string[] $var
     * @return $this
     */
    public function setNewRawData($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::BYTES);
        $this->New_rawData = $arr;

        return $this;
    }

    /**
     * Generated from protobuf field <code>repeated sint32 New_rssi = 4;</code>
     * @return RepeatedField<int>
     */
    public function getNewRssi()
    {
        return $this->New_rssi;
    }

    /**
     * Generated from protobuf field <code>repeated sint32 New_rssi = 4;</code>
     * @param int[] $var
     * @return $this
     */
    public function setNewRssi($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::SINT32);
        $this->New_rssi = $arr;

        return $this;
    }

    /**
     * Generated from protobuf field <code>repeated uint32 New_tsMinus = 5;</code>
     * @return RepeatedField<int>
     */
    public function getNewTsMinus()
    {
        return $this->New_tsMinus;
    }

    /**
     * Generated from protobuf field <code>repeated uint32 New_tsMinus = 5;</code>
     * @param int[] $var
     * @return $this
     */
    public function setNewTsMinus($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::UINT32);
        $this->New_tsMinus = $arr;

        return $this;
    }

    /**
     * Generated from protobuf field <code>repeated uint32 Lost_id = 8;</code>
     * @return RepeatedField<int>
     */
    public function getLostId()
    {
        return $this->Lost_id;
    }

    /**
     * Generated from protobuf field <code>repeated uint32 Lost_id = 8;</code>
     * @param int[] $var
     * @return $this
     */
    public function setLostId($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::UINT32);
        $this->Lost_id = $arr;

        return $this;
    }

    /**
     * Generated from protobuf field <code>repeated sint32 Lost_rssi = 9;</code>
     * @return RepeatedField<int>
     */
    public function getLostRssi()
    {
        return $this->Lost_rssi;
    }

    /**
     * Generated from protobuf field <code>repeated sint32 Lost_rssi = 9;</code>
     * @param int[] $var
     * @return $this
     */
    public function setLostRssi($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::SINT32);
        $this->Lost_rssi = $arr;

        return $this;
    }

    /**
     * Generated from protobuf field <code>repeated uint32 Lost_tsMinus = 10;</code>
     * @return RepeatedField<int>
     */
    public function getLostTsMinus()
    {
        return $this->Lost_tsMinus;
    }

    /**
     * Generated from protobuf field <code>repeated uint32 Lost_tsMinus = 10;</code>
     * @param int[] $var
     * @return $this
     */
    public function setLostTsMinus($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::UINT32);
        $this->Lost_tsMinus = $arr;

        return $this;
    }

    /**
     * Generated from protobuf field <code>repeated uint32 Current_id = 12;</code>
     * @return RepeatedField<int>
     */
    public function getCurrentId()
    {
        return $this->Current_id;
    }

    /**
     * Generated from protobuf field <code>repeated uint32 Current_id = 12;</code>
     * @param int[] $var
     * @return $this
     */
    public function setCurrentId($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::UINT32);
        $this->Current_id = $arr;

        return $this;
    }

    /**
     * Generated from protobuf field <code>repeated sint32 Current_rssi = 13;</code>
     * @return RepeatedField<int>
     */
    public function getCurrentRssi()
    {
        return $this->Current_rssi;
    }

    /**
     * Generated from protobuf field <code>repeated sint32 Current_rssi = 13;</code>
     * @param int[] $var
     * @return $this
     */
    public function setCurrentRssi($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::SINT32);
        $this->Current_rssi = $arr;

        return $this;
    }

}

