<?php
 
 
 

namespace PhpWA\Protocol\Proto;

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




class PatchDebugData extends \Google\Protobuf\Internal\Message
{
    


    protected $currentLthash = null;
    


    protected $newLthash = null;
    


    protected $patchVersion = null;
    


    protected $collectionName = null;
    


    protected $firstFourBytesFromAHashOfSnapshotMacKey = null;
    


    protected $newLthashSubtract = null;
    


    protected $numberAdd = null;
    


    protected $numberRemove = null;
    


    protected $numberOverride = null;
    


    protected $senderPlatform = null;
    


    protected $isSenderPrimary = null;

    


















    public function __construct($data = NULL) {
        \PhpWA\Protocol\Proto\Metadata\WAProto::initOnce();
        parent::__construct($data);
    }

    



    public function getCurrentLthash()
    {
        return isset($this->currentLthash) ? $this->currentLthash : '';
    }

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

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

    




    public function setCurrentLthash($var)
    {
        GPBUtil::checkString($var, False);
        $this->currentLthash = $var;

        return $this;
    }

    



    public function getNewLthash()
    {
        return isset($this->newLthash) ? $this->newLthash : '';
    }

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

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

    




    public function setNewLthash($var)
    {
        GPBUtil::checkString($var, False);
        $this->newLthash = $var;

        return $this;
    }

    



    public function getPatchVersion()
    {
        return isset($this->patchVersion) ? $this->patchVersion : '';
    }

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

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

    




    public function setPatchVersion($var)
    {
        GPBUtil::checkString($var, False);
        $this->patchVersion = $var;

        return $this;
    }

    



    public function getCollectionName()
    {
        return isset($this->collectionName) ? $this->collectionName : '';
    }

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

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

    




    public function setCollectionName($var)
    {
        GPBUtil::checkString($var, False);
        $this->collectionName = $var;

        return $this;
    }

    



    public function getFirstFourBytesFromAHashOfSnapshotMacKey()
    {
        return isset($this->firstFourBytesFromAHashOfSnapshotMacKey) ? $this->firstFourBytesFromAHashOfSnapshotMacKey : '';
    }

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

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

    




    public function setFirstFourBytesFromAHashOfSnapshotMacKey($var)
    {
        GPBUtil::checkString($var, False);
        $this->firstFourBytesFromAHashOfSnapshotMacKey = $var;

        return $this;
    }

    



    public function getNewLthashSubtract()
    {
        return isset($this->newLthashSubtract) ? $this->newLthashSubtract : '';
    }

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

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

    




    public function setNewLthashSubtract($var)
    {
        GPBUtil::checkString($var, False);
        $this->newLthashSubtract = $var;

        return $this;
    }

    



    public function getNumberAdd()
    {
        return isset($this->numberAdd) ? $this->numberAdd : 0;
    }

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

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

    




    public function setNumberAdd($var)
    {
        GPBUtil::checkInt32($var);
        $this->numberAdd = $var;

        return $this;
    }

    



    public function getNumberRemove()
    {
        return isset($this->numberRemove) ? $this->numberRemove : 0;
    }

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

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

    




    public function setNumberRemove($var)
    {
        GPBUtil::checkInt32($var);
        $this->numberRemove = $var;

        return $this;
    }

    



    public function getNumberOverride()
    {
        return isset($this->numberOverride) ? $this->numberOverride : 0;
    }

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

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

    




    public function setNumberOverride($var)
    {
        GPBUtil::checkInt32($var);
        $this->numberOverride = $var;

        return $this;
    }

    



    public function getSenderPlatform()
    {
        return isset($this->senderPlatform) ? $this->senderPlatform : 0;
    }

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

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

    




    public function setSenderPlatform($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\PatchDebugData\Platform::class);
        $this->senderPlatform = $var;

        return $this;
    }

    



    public function getIsSenderPrimary()
    {
        return isset($this->isSenderPrimary) ? $this->isSenderPrimary : false;
    }

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

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

    




    public function setIsSenderPrimary($var)
    {
        GPBUtil::checkBool($var);
        $this->isSenderPrimary = $var;

        return $this;
    }

}

