<?php
 
 
 

namespace PhpWA\Protocol\Proto;

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




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


    protected $chatLockSupportLevel = null;
    


    protected $lidMigration = null;
    


    protected $businessBroadcast = null;
    


    protected $userHasAvatar = null;
    


    protected $memberNameTagPrimarySupport = null;

    












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

    



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

    public function hasChatLockSupportLevel()
    {
        return isset($this->chatLockSupportLevel);
    }

    public function clearChatLockSupportLevel()
    {
        unset($this->chatLockSupportLevel);
    }

    




    public function setChatLockSupportLevel($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\DeviceCapabilities\ChatLockSupportLevel::class);
        $this->chatLockSupportLevel = $var;

        return $this;
    }

    



    public function getLidMigration()
    {
        return $this->lidMigration;
    }

    public function hasLidMigration()
    {
        return isset($this->lidMigration);
    }

    public function clearLidMigration()
    {
        unset($this->lidMigration);
    }

    




    public function setLidMigration($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\DeviceCapabilities\LIDMigration::class);
        $this->lidMigration = $var;

        return $this;
    }

    



    public function getBusinessBroadcast()
    {
        return $this->businessBroadcast;
    }

    public function hasBusinessBroadcast()
    {
        return isset($this->businessBroadcast);
    }

    public function clearBusinessBroadcast()
    {
        unset($this->businessBroadcast);
    }

    




    public function setBusinessBroadcast($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\DeviceCapabilities\BusinessBroadcast::class);
        $this->businessBroadcast = $var;

        return $this;
    }

    



    public function getUserHasAvatar()
    {
        return $this->userHasAvatar;
    }

    public function hasUserHasAvatar()
    {
        return isset($this->userHasAvatar);
    }

    public function clearUserHasAvatar()
    {
        unset($this->userHasAvatar);
    }

    




    public function setUserHasAvatar($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\DeviceCapabilities\UserHasAvatar::class);
        $this->userHasAvatar = $var;

        return $this;
    }

    



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

    public function hasMemberNameTagPrimarySupport()
    {
        return isset($this->memberNameTagPrimarySupport);
    }

    public function clearMemberNameTagPrimarySupport()
    {
        unset($this->memberNameTagPrimarySupport);
    }

    




    public function setMemberNameTagPrimarySupport($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\DeviceCapabilities\MemberNameTagPrimarySupport::class);
        $this->memberNameTagPrimarySupport = $var;

        return $this;
    }

}

