<?php
 
 
 

namespace PhpWA\Protocol\Proto\DeviceProps;

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




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


    protected $fullSyncDaysLimit = null;
    


    protected $fullSyncSizeMbLimit = null;
    


    protected $storageQuotaMb = null;
    


    protected $inlineInitialPayloadInE2EeMsg = null;
    


    protected $recentSyncDaysLimit = null;
    


    protected $supportCallLogHistory = null;
    


    protected $supportBotUserAgentChatHistory = null;
    


    protected $supportCagReactionsAndPolls = null;
    


    protected $supportBizHostedMsg = null;
    


    protected $supportRecentSyncChunkMessageCountTuning = null;
    


    protected $supportHostedGroupMsg = null;
    


    protected $supportFbidBotChatHistory = null;
    


    protected $supportAddOnHistorySyncMigration = null;
    


    protected $supportMessageAssociation = null;
    


    protected $supportGroupHistory = null;
    


    protected $onDemandReady = null;
    


    protected $supportGuestChat = null;
    


    protected $completeOnDemandReady = null;
    


    protected $thumbnailSyncDaysLimit = null;

    


























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

    



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

    public function hasFullSyncDaysLimit()
    {
        return isset($this->fullSyncDaysLimit);
    }

    public function clearFullSyncDaysLimit()
    {
        unset($this->fullSyncDaysLimit);
    }

    




    public function setFullSyncDaysLimit($var)
    {
        GPBUtil::checkUint32($var);
        $this->fullSyncDaysLimit = $var;

        return $this;
    }

    



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

    public function hasFullSyncSizeMbLimit()
    {
        return isset($this->fullSyncSizeMbLimit);
    }

    public function clearFullSyncSizeMbLimit()
    {
        unset($this->fullSyncSizeMbLimit);
    }

    




    public function setFullSyncSizeMbLimit($var)
    {
        GPBUtil::checkUint32($var);
        $this->fullSyncSizeMbLimit = $var;

        return $this;
    }

    



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

    public function hasStorageQuotaMb()
    {
        return isset($this->storageQuotaMb);
    }

    public function clearStorageQuotaMb()
    {
        unset($this->storageQuotaMb);
    }

    




    public function setStorageQuotaMb($var)
    {
        GPBUtil::checkUint32($var);
        $this->storageQuotaMb = $var;

        return $this;
    }

    



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

    public function hasInlineInitialPayloadInE2EeMsg()
    {
        return isset($this->inlineInitialPayloadInE2EeMsg);
    }

    public function clearInlineInitialPayloadInE2EeMsg()
    {
        unset($this->inlineInitialPayloadInE2EeMsg);
    }

    




    public function setInlineInitialPayloadInE2EeMsg($var)
    {
        GPBUtil::checkBool($var);
        $this->inlineInitialPayloadInE2EeMsg = $var;

        return $this;
    }

    



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

    public function hasRecentSyncDaysLimit()
    {
        return isset($this->recentSyncDaysLimit);
    }

    public function clearRecentSyncDaysLimit()
    {
        unset($this->recentSyncDaysLimit);
    }

    




    public function setRecentSyncDaysLimit($var)
    {
        GPBUtil::checkUint32($var);
        $this->recentSyncDaysLimit = $var;

        return $this;
    }

    



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

    public function hasSupportCallLogHistory()
    {
        return isset($this->supportCallLogHistory);
    }

    public function clearSupportCallLogHistory()
    {
        unset($this->supportCallLogHistory);
    }

    




    public function setSupportCallLogHistory($var)
    {
        GPBUtil::checkBool($var);
        $this->supportCallLogHistory = $var;

        return $this;
    }

    



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

    public function hasSupportBotUserAgentChatHistory()
    {
        return isset($this->supportBotUserAgentChatHistory);
    }

    public function clearSupportBotUserAgentChatHistory()
    {
        unset($this->supportBotUserAgentChatHistory);
    }

    




    public function setSupportBotUserAgentChatHistory($var)
    {
        GPBUtil::checkBool($var);
        $this->supportBotUserAgentChatHistory = $var;

        return $this;
    }

    



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

    public function hasSupportCagReactionsAndPolls()
    {
        return isset($this->supportCagReactionsAndPolls);
    }

    public function clearSupportCagReactionsAndPolls()
    {
        unset($this->supportCagReactionsAndPolls);
    }

    




    public function setSupportCagReactionsAndPolls($var)
    {
        GPBUtil::checkBool($var);
        $this->supportCagReactionsAndPolls = $var;

        return $this;
    }

    



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

    public function hasSupportBizHostedMsg()
    {
        return isset($this->supportBizHostedMsg);
    }

    public function clearSupportBizHostedMsg()
    {
        unset($this->supportBizHostedMsg);
    }

    




    public function setSupportBizHostedMsg($var)
    {
        GPBUtil::checkBool($var);
        $this->supportBizHostedMsg = $var;

        return $this;
    }

    



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

    public function hasSupportRecentSyncChunkMessageCountTuning()
    {
        return isset($this->supportRecentSyncChunkMessageCountTuning);
    }

    public function clearSupportRecentSyncChunkMessageCountTuning()
    {
        unset($this->supportRecentSyncChunkMessageCountTuning);
    }

    




    public function setSupportRecentSyncChunkMessageCountTuning($var)
    {
        GPBUtil::checkBool($var);
        $this->supportRecentSyncChunkMessageCountTuning = $var;

        return $this;
    }

    



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

    public function hasSupportHostedGroupMsg()
    {
        return isset($this->supportHostedGroupMsg);
    }

    public function clearSupportHostedGroupMsg()
    {
        unset($this->supportHostedGroupMsg);
    }

    




    public function setSupportHostedGroupMsg($var)
    {
        GPBUtil::checkBool($var);
        $this->supportHostedGroupMsg = $var;

        return $this;
    }

    



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

    public function hasSupportFbidBotChatHistory()
    {
        return isset($this->supportFbidBotChatHistory);
    }

    public function clearSupportFbidBotChatHistory()
    {
        unset($this->supportFbidBotChatHistory);
    }

    




    public function setSupportFbidBotChatHistory($var)
    {
        GPBUtil::checkBool($var);
        $this->supportFbidBotChatHistory = $var;

        return $this;
    }

    



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

    public function hasSupportAddOnHistorySyncMigration()
    {
        return isset($this->supportAddOnHistorySyncMigration);
    }

    public function clearSupportAddOnHistorySyncMigration()
    {
        unset($this->supportAddOnHistorySyncMigration);
    }

    




    public function setSupportAddOnHistorySyncMigration($var)
    {
        GPBUtil::checkBool($var);
        $this->supportAddOnHistorySyncMigration = $var;

        return $this;
    }

    



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

    public function hasSupportMessageAssociation()
    {
        return isset($this->supportMessageAssociation);
    }

    public function clearSupportMessageAssociation()
    {
        unset($this->supportMessageAssociation);
    }

    




    public function setSupportMessageAssociation($var)
    {
        GPBUtil::checkBool($var);
        $this->supportMessageAssociation = $var;

        return $this;
    }

    



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

    public function hasSupportGroupHistory()
    {
        return isset($this->supportGroupHistory);
    }

    public function clearSupportGroupHistory()
    {
        unset($this->supportGroupHistory);
    }

    




    public function setSupportGroupHistory($var)
    {
        GPBUtil::checkBool($var);
        $this->supportGroupHistory = $var;

        return $this;
    }

    



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

    public function hasOnDemandReady()
    {
        return isset($this->onDemandReady);
    }

    public function clearOnDemandReady()
    {
        unset($this->onDemandReady);
    }

    




    public function setOnDemandReady($var)
    {
        GPBUtil::checkBool($var);
        $this->onDemandReady = $var;

        return $this;
    }

    



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

    public function hasSupportGuestChat()
    {
        return isset($this->supportGuestChat);
    }

    public function clearSupportGuestChat()
    {
        unset($this->supportGuestChat);
    }

    




    public function setSupportGuestChat($var)
    {
        GPBUtil::checkBool($var);
        $this->supportGuestChat = $var;

        return $this;
    }

    



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

    public function hasCompleteOnDemandReady()
    {
        return isset($this->completeOnDemandReady);
    }

    public function clearCompleteOnDemandReady()
    {
        unset($this->completeOnDemandReady);
    }

    




    public function setCompleteOnDemandReady($var)
    {
        GPBUtil::checkBool($var);
        $this->completeOnDemandReady = $var;

        return $this;
    }

    



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

    public function hasThumbnailSyncDaysLimit()
    {
        return isset($this->thumbnailSyncDaysLimit);
    }

    public function clearThumbnailSyncDaysLimit()
    {
        unset($this->thumbnailSyncDaysLimit);
    }

    




    public function setThumbnailSyncDaysLimit($var)
    {
        GPBUtil::checkUint32($var);
        $this->thumbnailSyncDaysLimit = $var;

        return $this;
    }

}

