<?php
 
 
 

namespace PhpWA\Protocol\Proto;

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




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


    protected $senderKeyId = null;
    


    protected $senderChainKey = null;
    


    protected $senderSigningKey = null;
    


    private $senderMessageKeys;

    











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

    



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

    public function hasSenderKeyId()
    {
        return isset($this->senderKeyId);
    }

    public function clearSenderKeyId()
    {
        unset($this->senderKeyId);
    }

    




    public function setSenderKeyId($var)
    {
        GPBUtil::checkUint32($var);
        $this->senderKeyId = $var;

        return $this;
    }

    



    public function getSenderChainKey()
    {
        return $this->senderChainKey;
    }

    public function hasSenderChainKey()
    {
        return isset($this->senderChainKey);
    }

    public function clearSenderChainKey()
    {
        unset($this->senderChainKey);
    }

    




    public function setSenderChainKey($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\SenderKeyStateStructure\SenderChainKey::class);
        $this->senderChainKey = $var;

        return $this;
    }

    



    public function getSenderSigningKey()
    {
        return $this->senderSigningKey;
    }

    public function hasSenderSigningKey()
    {
        return isset($this->senderSigningKey);
    }

    public function clearSenderSigningKey()
    {
        unset($this->senderSigningKey);
    }

    




    public function setSenderSigningKey($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\SenderKeyStateStructure\SenderSigningKey::class);
        $this->senderSigningKey = $var;

        return $this;
    }

    



    public function getSenderMessageKeys()
    {
        return $this->senderMessageKeys;
    }

    




    public function setSenderMessageKeys($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \PhpWA\Protocol\Proto\SenderKeyStateStructure\SenderMessageKey::class);
        $this->senderMessageKeys = $arr;

        return $this;
    }

}

