<?php
 
 
 

namespace PhpWA\Protocol\Proto\SessionStructure;

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




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


    protected $sequence = null;
    


    protected $localBaseKey = null;
    


    protected $localBaseKeyPrivate = null;
    


    protected $localRatchetKey = null;
    


    protected $localRatchetKeyPrivate = null;
    


    protected $localIdentityKey = null;
    


    protected $localIdentityKeyPrivate = null;

    














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

    



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

    public function hasSequence()
    {
        return isset($this->sequence);
    }

    public function clearSequence()
    {
        unset($this->sequence);
    }

    




    public function setSequence($var)
    {
        GPBUtil::checkUint32($var);
        $this->sequence = $var;

        return $this;
    }

    



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

    public function hasLocalBaseKey()
    {
        return isset($this->localBaseKey);
    }

    public function clearLocalBaseKey()
    {
        unset($this->localBaseKey);
    }

    




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

        return $this;
    }

    



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

    public function hasLocalBaseKeyPrivate()
    {
        return isset($this->localBaseKeyPrivate);
    }

    public function clearLocalBaseKeyPrivate()
    {
        unset($this->localBaseKeyPrivate);
    }

    




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

        return $this;
    }

    



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

    public function hasLocalRatchetKey()
    {
        return isset($this->localRatchetKey);
    }

    public function clearLocalRatchetKey()
    {
        unset($this->localRatchetKey);
    }

    




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

        return $this;
    }

    



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

    public function hasLocalRatchetKeyPrivate()
    {
        return isset($this->localRatchetKeyPrivate);
    }

    public function clearLocalRatchetKeyPrivate()
    {
        unset($this->localRatchetKeyPrivate);
    }

    




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

        return $this;
    }

    



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

    public function hasLocalIdentityKey()
    {
        return isset($this->localIdentityKey);
    }

    public function clearLocalIdentityKey()
    {
        unset($this->localIdentityKey);
    }

    




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

        return $this;
    }

    



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

    public function hasLocalIdentityKeyPrivate()
    {
        return isset($this->localIdentityKeyPrivate);
    }

    public function clearLocalIdentityKeyPrivate()
    {
        unset($this->localIdentityKeyPrivate);
    }

    




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

        return $this;
    }

}

