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

namespace PhpWA\Protocol\Proto\SessionStructure;

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

/**
 * Generated from protobuf message <code>proto.SessionStructure.PendingKeyExchange</code>
 */
class PendingKeyExchange extends \Google\Protobuf\Internal\Message
{
    /**
     * Generated from protobuf field <code>optional uint32 sequence = 1;</code>
     */
    protected $sequence = null;
    /**
     * Generated from protobuf field <code>optional bytes localBaseKey = 2;</code>
     */
    protected $localBaseKey = null;
    /**
     * Generated from protobuf field <code>optional bytes localBaseKeyPrivate = 3;</code>
     */
    protected $localBaseKeyPrivate = null;
    /**
     * Generated from protobuf field <code>optional bytes localRatchetKey = 4;</code>
     */
    protected $localRatchetKey = null;
    /**
     * Generated from protobuf field <code>optional bytes localRatchetKeyPrivate = 5;</code>
     */
    protected $localRatchetKeyPrivate = null;
    /**
     * Generated from protobuf field <code>optional bytes localIdentityKey = 7;</code>
     */
    protected $localIdentityKey = null;
    /**
     * Generated from protobuf field <code>optional bytes localIdentityKeyPrivate = 8;</code>
     */
    protected $localIdentityKeyPrivate = null;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type int $sequence
     *     @type string $localBaseKey
     *     @type string $localBaseKeyPrivate
     *     @type string $localRatchetKey
     *     @type string $localRatchetKeyPrivate
     *     @type string $localIdentityKey
     *     @type string $localIdentityKeyPrivate
     * }
     */
    public function __construct($data = NULL) {
        \PhpWA\Protocol\Proto\Metadata\WAProto::initOnce();
        parent::__construct($data);
    }

    /**
     * Generated from protobuf field <code>optional uint32 sequence = 1;</code>
     * @return int
     */
    public function getSequence()
    {
        return isset($this->sequence) ? $this->sequence : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional uint32 sequence = 1;</code>
     * @param int $var
     * @return $this
     */
    public function setSequence($var)
    {
        GPBUtil::checkUint32($var);
        $this->sequence = $var;

        return $this;
    }

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

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

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

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

        return $this;
    }

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

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

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

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

        return $this;
    }

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

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

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

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

        return $this;
    }

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

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

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

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

        return $this;
    }

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

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

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

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

        return $this;
    }

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

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

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

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

        return $this;
    }

}

