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

namespace PhpWA\Protocol\Proto;

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

/**
 * Generated from protobuf message <code>proto.PatchDebugData</code>
 */
class PatchDebugData extends \Google\Protobuf\Internal\Message
{
    /**
     * Generated from protobuf field <code>optional bytes currentLthash = 1;</code>
     */
    protected $currentLthash = null;
    /**
     * Generated from protobuf field <code>optional bytes newLthash = 2;</code>
     */
    protected $newLthash = null;
    /**
     * Generated from protobuf field <code>optional bytes patchVersion = 3;</code>
     */
    protected $patchVersion = null;
    /**
     * Generated from protobuf field <code>optional bytes collectionName = 4;</code>
     */
    protected $collectionName = null;
    /**
     * Generated from protobuf field <code>optional bytes firstFourBytesFromAHashOfSnapshotMacKey = 5;</code>
     */
    protected $firstFourBytesFromAHashOfSnapshotMacKey = null;
    /**
     * Generated from protobuf field <code>optional bytes newLthashSubtract = 6;</code>
     */
    protected $newLthashSubtract = null;
    /**
     * Generated from protobuf field <code>optional int32 numberAdd = 7;</code>
     */
    protected $numberAdd = null;
    /**
     * Generated from protobuf field <code>optional int32 numberRemove = 8;</code>
     */
    protected $numberRemove = null;
    /**
     * Generated from protobuf field <code>optional int32 numberOverride = 9;</code>
     */
    protected $numberOverride = null;
    /**
     * Generated from protobuf field <code>optional .proto.PatchDebugData.Platform senderPlatform = 10;</code>
     */
    protected $senderPlatform = null;
    /**
     * Generated from protobuf field <code>optional bool isSenderPrimary = 11;</code>
     */
    protected $isSenderPrimary = null;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type string $currentLthash
     *     @type string $newLthash
     *     @type string $patchVersion
     *     @type string $collectionName
     *     @type string $firstFourBytesFromAHashOfSnapshotMacKey
     *     @type string $newLthashSubtract
     *     @type int $numberAdd
     *     @type int $numberRemove
     *     @type int $numberOverride
     *     @type int $senderPlatform
     *     @type bool $isSenderPrimary
     * }
     */
    public function __construct($data = NULL) {
        \PhpWA\Protocol\Proto\Metadata\WAProto::initOnce();
        parent::__construct($data);
    }

    /**
     * Generated from protobuf field <code>optional bytes currentLthash = 1;</code>
     * @return string
     */
    public function getCurrentLthash()
    {
        return isset($this->currentLthash) ? $this->currentLthash : '';
    }

    public function hasCurrentLthash()
    {
        return isset($this->currentLthash);
    }

    public function clearCurrentLthash()
    {
        unset($this->currentLthash);
    }

    /**
     * Generated from protobuf field <code>optional bytes currentLthash = 1;</code>
     * @param string $var
     * @return $this
     */
    public function setCurrentLthash($var)
    {
        GPBUtil::checkString($var, False);
        $this->currentLthash = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional bytes newLthash = 2;</code>
     * @return string
     */
    public function getNewLthash()
    {
        return isset($this->newLthash) ? $this->newLthash : '';
    }

    public function hasNewLthash()
    {
        return isset($this->newLthash);
    }

    public function clearNewLthash()
    {
        unset($this->newLthash);
    }

    /**
     * Generated from protobuf field <code>optional bytes newLthash = 2;</code>
     * @param string $var
     * @return $this
     */
    public function setNewLthash($var)
    {
        GPBUtil::checkString($var, False);
        $this->newLthash = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional bytes patchVersion = 3;</code>
     * @return string
     */
    public function getPatchVersion()
    {
        return isset($this->patchVersion) ? $this->patchVersion : '';
    }

    public function hasPatchVersion()
    {
        return isset($this->patchVersion);
    }

    public function clearPatchVersion()
    {
        unset($this->patchVersion);
    }

    /**
     * Generated from protobuf field <code>optional bytes patchVersion = 3;</code>
     * @param string $var
     * @return $this
     */
    public function setPatchVersion($var)
    {
        GPBUtil::checkString($var, False);
        $this->patchVersion = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional bytes collectionName = 4;</code>
     * @return string
     */
    public function getCollectionName()
    {
        return isset($this->collectionName) ? $this->collectionName : '';
    }

    public function hasCollectionName()
    {
        return isset($this->collectionName);
    }

    public function clearCollectionName()
    {
        unset($this->collectionName);
    }

    /**
     * Generated from protobuf field <code>optional bytes collectionName = 4;</code>
     * @param string $var
     * @return $this
     */
    public function setCollectionName($var)
    {
        GPBUtil::checkString($var, False);
        $this->collectionName = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional bytes firstFourBytesFromAHashOfSnapshotMacKey = 5;</code>
     * @return string
     */
    public function getFirstFourBytesFromAHashOfSnapshotMacKey()
    {
        return isset($this->firstFourBytesFromAHashOfSnapshotMacKey) ? $this->firstFourBytesFromAHashOfSnapshotMacKey : '';
    }

    public function hasFirstFourBytesFromAHashOfSnapshotMacKey()
    {
        return isset($this->firstFourBytesFromAHashOfSnapshotMacKey);
    }

    public function clearFirstFourBytesFromAHashOfSnapshotMacKey()
    {
        unset($this->firstFourBytesFromAHashOfSnapshotMacKey);
    }

    /**
     * Generated from protobuf field <code>optional bytes firstFourBytesFromAHashOfSnapshotMacKey = 5;</code>
     * @param string $var
     * @return $this
     */
    public function setFirstFourBytesFromAHashOfSnapshotMacKey($var)
    {
        GPBUtil::checkString($var, False);
        $this->firstFourBytesFromAHashOfSnapshotMacKey = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional bytes newLthashSubtract = 6;</code>
     * @return string
     */
    public function getNewLthashSubtract()
    {
        return isset($this->newLthashSubtract) ? $this->newLthashSubtract : '';
    }

    public function hasNewLthashSubtract()
    {
        return isset($this->newLthashSubtract);
    }

    public function clearNewLthashSubtract()
    {
        unset($this->newLthashSubtract);
    }

    /**
     * Generated from protobuf field <code>optional bytes newLthashSubtract = 6;</code>
     * @param string $var
     * @return $this
     */
    public function setNewLthashSubtract($var)
    {
        GPBUtil::checkString($var, False);
        $this->newLthashSubtract = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional int32 numberAdd = 7;</code>
     * @return int
     */
    public function getNumberAdd()
    {
        return isset($this->numberAdd) ? $this->numberAdd : 0;
    }

    public function hasNumberAdd()
    {
        return isset($this->numberAdd);
    }

    public function clearNumberAdd()
    {
        unset($this->numberAdd);
    }

    /**
     * Generated from protobuf field <code>optional int32 numberAdd = 7;</code>
     * @param int $var
     * @return $this
     */
    public function setNumberAdd($var)
    {
        GPBUtil::checkInt32($var);
        $this->numberAdd = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional int32 numberRemove = 8;</code>
     * @return int
     */
    public function getNumberRemove()
    {
        return isset($this->numberRemove) ? $this->numberRemove : 0;
    }

    public function hasNumberRemove()
    {
        return isset($this->numberRemove);
    }

    public function clearNumberRemove()
    {
        unset($this->numberRemove);
    }

    /**
     * Generated from protobuf field <code>optional int32 numberRemove = 8;</code>
     * @param int $var
     * @return $this
     */
    public function setNumberRemove($var)
    {
        GPBUtil::checkInt32($var);
        $this->numberRemove = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional int32 numberOverride = 9;</code>
     * @return int
     */
    public function getNumberOverride()
    {
        return isset($this->numberOverride) ? $this->numberOverride : 0;
    }

    public function hasNumberOverride()
    {
        return isset($this->numberOverride);
    }

    public function clearNumberOverride()
    {
        unset($this->numberOverride);
    }

    /**
     * Generated from protobuf field <code>optional int32 numberOverride = 9;</code>
     * @param int $var
     * @return $this
     */
    public function setNumberOverride($var)
    {
        GPBUtil::checkInt32($var);
        $this->numberOverride = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.PatchDebugData.Platform senderPlatform = 10;</code>
     * @return int
     */
    public function getSenderPlatform()
    {
        return isset($this->senderPlatform) ? $this->senderPlatform : 0;
    }

    public function hasSenderPlatform()
    {
        return isset($this->senderPlatform);
    }

    public function clearSenderPlatform()
    {
        unset($this->senderPlatform);
    }

    /**
     * Generated from protobuf field <code>optional .proto.PatchDebugData.Platform senderPlatform = 10;</code>
     * @param int $var
     * @return $this
     */
    public function setSenderPlatform($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\PatchDebugData\Platform::class);
        $this->senderPlatform = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional bool isSenderPrimary = 11;</code>
     * @return bool
     */
    public function getIsSenderPrimary()
    {
        return isset($this->isSenderPrimary) ? $this->isSenderPrimary : false;
    }

    public function hasIsSenderPrimary()
    {
        return isset($this->isSenderPrimary);
    }

    public function clearIsSenderPrimary()
    {
        unset($this->isSenderPrimary);
    }

    /**
     * Generated from protobuf field <code>optional bool isSenderPrimary = 11;</code>
     * @param bool $var
     * @return $this
     */
    public function setIsSenderPrimary($var)
    {
        GPBUtil::checkBool($var);
        $this->isSenderPrimary = $var;

        return $this;
    }

}

