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

namespace PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage;

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

/**
 * Generated from protobuf message <code>proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult</code>
 */
class PeerDataOperationResult extends \Google\Protobuf\Internal\Message
{
    /**
     * Generated from protobuf field <code>optional .proto.MediaRetryNotification.ResultType mediaUploadResult = 1;</code>
     */
    protected $mediaUploadResult = null;
    /**
     * Generated from protobuf field <code>optional .proto.Message.StickerMessage stickerMessage = 2;</code>
     */
    protected $stickerMessage = null;
    /**
     * Generated from protobuf field <code>optional .proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse linkPreviewResponse = 3;</code>
     */
    protected $linkPreviewResponse = null;
    /**
     * Generated from protobuf field <code>optional .proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse placeholderMessageResendResponse = 4;</code>
     */
    protected $placeholderMessageResendResponse = null;
    /**
     * Generated from protobuf field <code>optional .proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.WaffleNonceFetchResponse waffleNonceFetchRequestResponse = 5;</code>
     */
    protected $waffleNonceFetchRequestResponse = null;
    /**
     * Generated from protobuf field <code>optional .proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandRequestResponse fullHistorySyncOnDemandRequestResponse = 6;</code>
     */
    protected $fullHistorySyncOnDemandRequestResponse = null;
    /**
     * Generated from protobuf field <code>optional .proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.CompanionMetaNonceFetchResponse companionMetaNonceFetchRequestResponse = 7;</code>
     */
    protected $companionMetaNonceFetchRequestResponse = null;
    /**
     * Generated from protobuf field <code>optional .proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.SyncDSnapshotFatalRecoveryResponse syncdSnapshotFatalRecoveryResponse = 8;</code>
     */
    protected $syncdSnapshotFatalRecoveryResponse = null;
    /**
     * Generated from protobuf field <code>optional .proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.CompanionCanonicalUserNonceFetchResponse companionCanonicalUserNonceFetchRequestResponse = 9;</code>
     */
    protected $companionCanonicalUserNonceFetchRequestResponse = null;
    /**
     * Generated from protobuf field <code>optional .proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.HistorySyncChunkRetryResponse historySyncChunkRetryResponse = 10;</code>
     */
    protected $historySyncChunkRetryResponse = null;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type int $mediaUploadResult
     *     @type \PhpWA\Protocol\Proto\Message\StickerMessage $stickerMessage
     *     @type \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\LinkPreviewResponse $linkPreviewResponse
     *     @type \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\PlaceholderMessageResendResponse $placeholderMessageResendResponse
     *     @type \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\WaffleNonceFetchResponse $waffleNonceFetchRequestResponse
     *     @type \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\FullHistorySyncOnDemandRequestResponse $fullHistorySyncOnDemandRequestResponse
     *     @type \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\CompanionMetaNonceFetchResponse $companionMetaNonceFetchRequestResponse
     *     @type \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\SyncDSnapshotFatalRecoveryResponse $syncdSnapshotFatalRecoveryResponse
     *     @type \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\CompanionCanonicalUserNonceFetchResponse $companionCanonicalUserNonceFetchRequestResponse
     *     @type \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\HistorySyncChunkRetryResponse $historySyncChunkRetryResponse
     * }
     */
    public function __construct($data = NULL) {
        \PhpWA\Protocol\Proto\Metadata\WAProto::initOnce();
        parent::__construct($data);
    }

    /**
     * Generated from protobuf field <code>optional .proto.MediaRetryNotification.ResultType mediaUploadResult = 1;</code>
     * @return int
     */
    public function getMediaUploadResult()
    {
        return isset($this->mediaUploadResult) ? $this->mediaUploadResult : 0;
    }

    public function hasMediaUploadResult()
    {
        return isset($this->mediaUploadResult);
    }

    public function clearMediaUploadResult()
    {
        unset($this->mediaUploadResult);
    }

    /**
     * Generated from protobuf field <code>optional .proto.MediaRetryNotification.ResultType mediaUploadResult = 1;</code>
     * @param int $var
     * @return $this
     */
    public function setMediaUploadResult($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\MediaRetryNotification\ResultType::class);
        $this->mediaUploadResult = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.Message.StickerMessage stickerMessage = 2;</code>
     * @return \PhpWA\Protocol\Proto\Message\StickerMessage|null
     */
    public function getStickerMessage()
    {
        return $this->stickerMessage;
    }

    public function hasStickerMessage()
    {
        return isset($this->stickerMessage);
    }

    public function clearStickerMessage()
    {
        unset($this->stickerMessage);
    }

    /**
     * Generated from protobuf field <code>optional .proto.Message.StickerMessage stickerMessage = 2;</code>
     * @param \PhpWA\Protocol\Proto\Message\StickerMessage $var
     * @return $this
     */
    public function setStickerMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\StickerMessage::class);
        $this->stickerMessage = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse linkPreviewResponse = 3;</code>
     * @return \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\LinkPreviewResponse|null
     */
    public function getLinkPreviewResponse()
    {
        return $this->linkPreviewResponse;
    }

    public function hasLinkPreviewResponse()
    {
        return isset($this->linkPreviewResponse);
    }

    public function clearLinkPreviewResponse()
    {
        unset($this->linkPreviewResponse);
    }

    /**
     * Generated from protobuf field <code>optional .proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse linkPreviewResponse = 3;</code>
     * @param \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\LinkPreviewResponse $var
     * @return $this
     */
    public function setLinkPreviewResponse($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\LinkPreviewResponse::class);
        $this->linkPreviewResponse = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse placeholderMessageResendResponse = 4;</code>
     * @return \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\PlaceholderMessageResendResponse|null
     */
    public function getPlaceholderMessageResendResponse()
    {
        return $this->placeholderMessageResendResponse;
    }

    public function hasPlaceholderMessageResendResponse()
    {
        return isset($this->placeholderMessageResendResponse);
    }

    public function clearPlaceholderMessageResendResponse()
    {
        unset($this->placeholderMessageResendResponse);
    }

    /**
     * Generated from protobuf field <code>optional .proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse placeholderMessageResendResponse = 4;</code>
     * @param \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\PlaceholderMessageResendResponse $var
     * @return $this
     */
    public function setPlaceholderMessageResendResponse($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\PlaceholderMessageResendResponse::class);
        $this->placeholderMessageResendResponse = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.WaffleNonceFetchResponse waffleNonceFetchRequestResponse = 5;</code>
     * @return \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\WaffleNonceFetchResponse|null
     */
    public function getWaffleNonceFetchRequestResponse()
    {
        return $this->waffleNonceFetchRequestResponse;
    }

    public function hasWaffleNonceFetchRequestResponse()
    {
        return isset($this->waffleNonceFetchRequestResponse);
    }

    public function clearWaffleNonceFetchRequestResponse()
    {
        unset($this->waffleNonceFetchRequestResponse);
    }

    /**
     * Generated from protobuf field <code>optional .proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.WaffleNonceFetchResponse waffleNonceFetchRequestResponse = 5;</code>
     * @param \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\WaffleNonceFetchResponse $var
     * @return $this
     */
    public function setWaffleNonceFetchRequestResponse($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\WaffleNonceFetchResponse::class);
        $this->waffleNonceFetchRequestResponse = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandRequestResponse fullHistorySyncOnDemandRequestResponse = 6;</code>
     * @return \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\FullHistorySyncOnDemandRequestResponse|null
     */
    public function getFullHistorySyncOnDemandRequestResponse()
    {
        return $this->fullHistorySyncOnDemandRequestResponse;
    }

    public function hasFullHistorySyncOnDemandRequestResponse()
    {
        return isset($this->fullHistorySyncOnDemandRequestResponse);
    }

    public function clearFullHistorySyncOnDemandRequestResponse()
    {
        unset($this->fullHistorySyncOnDemandRequestResponse);
    }

    /**
     * Generated from protobuf field <code>optional .proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandRequestResponse fullHistorySyncOnDemandRequestResponse = 6;</code>
     * @param \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\FullHistorySyncOnDemandRequestResponse $var
     * @return $this
     */
    public function setFullHistorySyncOnDemandRequestResponse($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\FullHistorySyncOnDemandRequestResponse::class);
        $this->fullHistorySyncOnDemandRequestResponse = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.CompanionMetaNonceFetchResponse companionMetaNonceFetchRequestResponse = 7;</code>
     * @return \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\CompanionMetaNonceFetchResponse|null
     */
    public function getCompanionMetaNonceFetchRequestResponse()
    {
        return $this->companionMetaNonceFetchRequestResponse;
    }

    public function hasCompanionMetaNonceFetchRequestResponse()
    {
        return isset($this->companionMetaNonceFetchRequestResponse);
    }

    public function clearCompanionMetaNonceFetchRequestResponse()
    {
        unset($this->companionMetaNonceFetchRequestResponse);
    }

    /**
     * Generated from protobuf field <code>optional .proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.CompanionMetaNonceFetchResponse companionMetaNonceFetchRequestResponse = 7;</code>
     * @param \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\CompanionMetaNonceFetchResponse $var
     * @return $this
     */
    public function setCompanionMetaNonceFetchRequestResponse($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\CompanionMetaNonceFetchResponse::class);
        $this->companionMetaNonceFetchRequestResponse = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.SyncDSnapshotFatalRecoveryResponse syncdSnapshotFatalRecoveryResponse = 8;</code>
     * @return \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\SyncDSnapshotFatalRecoveryResponse|null
     */
    public function getSyncdSnapshotFatalRecoveryResponse()
    {
        return $this->syncdSnapshotFatalRecoveryResponse;
    }

    public function hasSyncdSnapshotFatalRecoveryResponse()
    {
        return isset($this->syncdSnapshotFatalRecoveryResponse);
    }

    public function clearSyncdSnapshotFatalRecoveryResponse()
    {
        unset($this->syncdSnapshotFatalRecoveryResponse);
    }

    /**
     * Generated from protobuf field <code>optional .proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.SyncDSnapshotFatalRecoveryResponse syncdSnapshotFatalRecoveryResponse = 8;</code>
     * @param \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\SyncDSnapshotFatalRecoveryResponse $var
     * @return $this
     */
    public function setSyncdSnapshotFatalRecoveryResponse($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\SyncDSnapshotFatalRecoveryResponse::class);
        $this->syncdSnapshotFatalRecoveryResponse = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.CompanionCanonicalUserNonceFetchResponse companionCanonicalUserNonceFetchRequestResponse = 9;</code>
     * @return \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\CompanionCanonicalUserNonceFetchResponse|null
     */
    public function getCompanionCanonicalUserNonceFetchRequestResponse()
    {
        return $this->companionCanonicalUserNonceFetchRequestResponse;
    }

    public function hasCompanionCanonicalUserNonceFetchRequestResponse()
    {
        return isset($this->companionCanonicalUserNonceFetchRequestResponse);
    }

    public function clearCompanionCanonicalUserNonceFetchRequestResponse()
    {
        unset($this->companionCanonicalUserNonceFetchRequestResponse);
    }

    /**
     * Generated from protobuf field <code>optional .proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.CompanionCanonicalUserNonceFetchResponse companionCanonicalUserNonceFetchRequestResponse = 9;</code>
     * @param \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\CompanionCanonicalUserNonceFetchResponse $var
     * @return $this
     */
    public function setCompanionCanonicalUserNonceFetchRequestResponse($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\CompanionCanonicalUserNonceFetchResponse::class);
        $this->companionCanonicalUserNonceFetchRequestResponse = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.HistorySyncChunkRetryResponse historySyncChunkRetryResponse = 10;</code>
     * @return \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\HistorySyncChunkRetryResponse|null
     */
    public function getHistorySyncChunkRetryResponse()
    {
        return $this->historySyncChunkRetryResponse;
    }

    public function hasHistorySyncChunkRetryResponse()
    {
        return isset($this->historySyncChunkRetryResponse);
    }

    public function clearHistorySyncChunkRetryResponse()
    {
        unset($this->historySyncChunkRetryResponse);
    }

    /**
     * Generated from protobuf field <code>optional .proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.HistorySyncChunkRetryResponse historySyncChunkRetryResponse = 10;</code>
     * @param \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\HistorySyncChunkRetryResponse $var
     * @return $this
     */
    public function setHistorySyncChunkRetryResponse($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\PeerDataOperationRequestResponseMessage\PeerDataOperationResult\HistorySyncChunkRetryResponse::class);
        $this->historySyncChunkRetryResponse = $var;

        return $this;
    }

}

