<?php

/**
 * Generated by phpSPO model generator 2020-05-26T22:12:31+00:00 
 */
namespace Office365\Graph;

use Office365\Runtime\ClientObject;
use Office365\Runtime\ResourcePath;
class ManagedDevice extends ClientObject
{
    /**
     * @return string
     */
    public function getUserId()
    {
        if (!$this->isPropertyAvailable("UserId")) {
            return null;
        }
        return $this->getProperty("UserId");
    }
    /**
     * @var string
     */
    public function setUserId($value)
    {
        $this->setProperty("UserId", $value, true);
    }
    /**
     * @return string
     */
    public function getDeviceName()
    {
        if (!$this->isPropertyAvailable("DeviceName")) {
            return null;
        }
        return $this->getProperty("DeviceName");
    }
    /**
     * @var string
     */
    public function setDeviceName($value)
    {
        $this->setProperty("DeviceName", $value, true);
    }
    /**
     * @return string
     */
    public function getOperatingSystem()
    {
        if (!$this->isPropertyAvailable("OperatingSystem")) {
            return null;
        }
        return $this->getProperty("OperatingSystem");
    }
    /**
     * @var string
     */
    public function setOperatingSystem($value)
    {
        $this->setProperty("OperatingSystem", $value, true);
    }
    /**
     * @return string
     */
    public function getJailBroken()
    {
        if (!$this->isPropertyAvailable("JailBroken")) {
            return null;
        }
        return $this->getProperty("JailBroken");
    }
    /**
     * @var string
     */
    public function setJailBroken($value)
    {
        $this->setProperty("JailBroken", $value, true);
    }
    /**
     * @return string
     */
    public function getOsVersion()
    {
        if (!$this->isPropertyAvailable("OsVersion")) {
            return null;
        }
        return $this->getProperty("OsVersion");
    }
    /**
     * @var string
     */
    public function setOsVersion($value)
    {
        $this->setProperty("OsVersion", $value, true);
    }
    /**
     * @return bool
     */
    public function getEasActivated()
    {
        if (!$this->isPropertyAvailable("EasActivated")) {
            return null;
        }
        return $this->getProperty("EasActivated");
    }
    /**
     * @var bool
     */
    public function setEasActivated($value)
    {
        $this->setProperty("EasActivated", $value, true);
    }
    /**
     * @return string
     */
    public function getEasDeviceId()
    {
        if (!$this->isPropertyAvailable("EasDeviceId")) {
            return null;
        }
        return $this->getProperty("EasDeviceId");
    }
    /**
     * @var string
     */
    public function setEasDeviceId($value)
    {
        $this->setProperty("EasDeviceId", $value, true);
    }
    /**
     * @return bool
     */
    public function getAzureADRegistered()
    {
        if (!$this->isPropertyAvailable("AzureADRegistered")) {
            return null;
        }
        return $this->getProperty("AzureADRegistered");
    }
    /**
     * @var bool
     */
    public function setAzureADRegistered($value)
    {
        $this->setProperty("AzureADRegistered", $value, true);
    }
    /**
     * @return string
     */
    public function getActivationLockBypassCode()
    {
        if (!$this->isPropertyAvailable("ActivationLockBypassCode")) {
            return null;
        }
        return $this->getProperty("ActivationLockBypassCode");
    }
    /**
     * @var string
     */
    public function setActivationLockBypassCode($value)
    {
        $this->setProperty("ActivationLockBypassCode", $value, true);
    }
    /**
     * @return string
     */
    public function getEmailAddress()
    {
        if (!$this->isPropertyAvailable("EmailAddress")) {
            return null;
        }
        return $this->getProperty("EmailAddress");
    }
    /**
     * @var string
     */
    public function setEmailAddress($value)
    {
        $this->setProperty("EmailAddress", $value, true);
    }
    /**
     * @return string
     */
    public function getAzureADDeviceId()
    {
        if (!$this->isPropertyAvailable("AzureADDeviceId")) {
            return null;
        }
        return $this->getProperty("AzureADDeviceId");
    }
    /**
     * @var string
     */
    public function setAzureADDeviceId($value)
    {
        $this->setProperty("AzureADDeviceId", $value, true);
    }
    /**
     * @return string
     */
    public function getDeviceCategoryDisplayName()
    {
        if (!$this->isPropertyAvailable("DeviceCategoryDisplayName")) {
            return null;
        }
        return $this->getProperty("DeviceCategoryDisplayName");
    }
    /**
     * @var string
     */
    public function setDeviceCategoryDisplayName($value)
    {
        $this->setProperty("DeviceCategoryDisplayName", $value, true);
    }
    /**
     * @return bool
     */
    public function getIsSupervised()
    {
        if (!$this->isPropertyAvailable("IsSupervised")) {
            return null;
        }
        return $this->getProperty("IsSupervised");
    }
    /**
     * @var bool
     */
    public function setIsSupervised($value)
    {
        $this->setProperty("IsSupervised", $value, true);
    }
    /**
     * @return string
     */
    public function getRemoteAssistanceSessionUrl()
    {
        if (!$this->isPropertyAvailable("RemoteAssistanceSessionUrl")) {
            return null;
        }
        return $this->getProperty("RemoteAssistanceSessionUrl");
    }
    /**
     * @var string
     */
    public function setRemoteAssistanceSessionUrl($value)
    {
        $this->setProperty("RemoteAssistanceSessionUrl", $value, true);
    }
    /**
     * @return string
     */
    public function getRemoteAssistanceSessionErrorDetails()
    {
        if (!$this->isPropertyAvailable("RemoteAssistanceSessionErrorDetails")) {
            return null;
        }
        return $this->getProperty("RemoteAssistanceSessionErrorDetails");
    }
    /**
     * @var string
     */
    public function setRemoteAssistanceSessionErrorDetails($value)
    {
        $this->setProperty("RemoteAssistanceSessionErrorDetails", $value, true);
    }
    /**
     * @return bool
     */
    public function getIsEncrypted()
    {
        if (!$this->isPropertyAvailable("IsEncrypted")) {
            return null;
        }
        return $this->getProperty("IsEncrypted");
    }
    /**
     * @var bool
     */
    public function setIsEncrypted($value)
    {
        $this->setProperty("IsEncrypted", $value, true);
    }
    /**
     * @return string
     */
    public function getUserPrincipalName()
    {
        if (!$this->isPropertyAvailable("UserPrincipalName")) {
            return null;
        }
        return $this->getProperty("UserPrincipalName");
    }
    /**
     * @var string
     */
    public function setUserPrincipalName($value)
    {
        $this->setProperty("UserPrincipalName", $value, true);
    }
    /**
     * @return string
     */
    public function getModel()
    {
        if (!$this->isPropertyAvailable("Model")) {
            return null;
        }
        return $this->getProperty("Model");
    }
    /**
     * @var string
     */
    public function setModel($value)
    {
        $this->setProperty("Model", $value, true);
    }
    /**
     * @return string
     */
    public function getManufacturer()
    {
        if (!$this->isPropertyAvailable("Manufacturer")) {
            return null;
        }
        return $this->getProperty("Manufacturer");
    }
    /**
     * @var string
     */
    public function setManufacturer($value)
    {
        $this->setProperty("Manufacturer", $value, true);
    }
    /**
     * @return string
     */
    public function getImei()
    {
        if (!$this->isPropertyAvailable("Imei")) {
            return null;
        }
        return $this->getProperty("Imei");
    }
    /**
     * @var string
     */
    public function setImei($value)
    {
        $this->setProperty("Imei", $value, true);
    }
    /**
     * @return string
     */
    public function getSerialNumber()
    {
        if (!$this->isPropertyAvailable("SerialNumber")) {
            return null;
        }
        return $this->getProperty("SerialNumber");
    }
    /**
     * @var string
     */
    public function setSerialNumber($value)
    {
        $this->setProperty("SerialNumber", $value, true);
    }
    /**
     * @return string
     */
    public function getPhoneNumber()
    {
        if (!$this->isPropertyAvailable("PhoneNumber")) {
            return null;
        }
        return $this->getProperty("PhoneNumber");
    }
    /**
     * @var string
     */
    public function setPhoneNumber($value)
    {
        $this->setProperty("PhoneNumber", $value, true);
    }
    /**
     * @return string
     */
    public function getAndroidSecurityPatchLevel()
    {
        if (!$this->isPropertyAvailable("AndroidSecurityPatchLevel")) {
            return null;
        }
        return $this->getProperty("AndroidSecurityPatchLevel");
    }
    /**
     * @var string
     */
    public function setAndroidSecurityPatchLevel($value)
    {
        $this->setProperty("AndroidSecurityPatchLevel", $value, true);
    }
    /**
     * @return string
     */
    public function getUserDisplayName()
    {
        if (!$this->isPropertyAvailable("UserDisplayName")) {
            return null;
        }
        return $this->getProperty("UserDisplayName");
    }
    /**
     * @var string
     */
    public function setUserDisplayName($value)
    {
        $this->setProperty("UserDisplayName", $value, true);
    }
    /**
     * @return string
     */
    public function getWiFiMacAddress()
    {
        if (!$this->isPropertyAvailable("WiFiMacAddress")) {
            return null;
        }
        return $this->getProperty("WiFiMacAddress");
    }
    /**
     * @var string
     */
    public function setWiFiMacAddress($value)
    {
        $this->setProperty("WiFiMacAddress", $value, true);
    }
    /**
     * @return string
     */
    public function getSubscriberCarrier()
    {
        if (!$this->isPropertyAvailable("SubscriberCarrier")) {
            return null;
        }
        return $this->getProperty("SubscriberCarrier");
    }
    /**
     * @var string
     */
    public function setSubscriberCarrier($value)
    {
        $this->setProperty("SubscriberCarrier", $value, true);
    }
    /**
     * @return string
     */
    public function getMeid()
    {
        if (!$this->isPropertyAvailable("Meid")) {
            return null;
        }
        return $this->getProperty("Meid");
    }
    /**
     * @var string
     */
    public function setMeid($value)
    {
        $this->setProperty("Meid", $value, true);
    }
    /**
     * @return integer
     */
    public function getTotalStorageSpaceInBytes()
    {
        if (!$this->isPropertyAvailable("TotalStorageSpaceInBytes")) {
            return null;
        }
        return $this->getProperty("TotalStorageSpaceInBytes");
    }
    /**
     * @var integer
     */
    public function setTotalStorageSpaceInBytes($value)
    {
        $this->setProperty("TotalStorageSpaceInBytes", $value, true);
    }
    /**
     * @return integer
     */
    public function getFreeStorageSpaceInBytes()
    {
        if (!$this->isPropertyAvailable("FreeStorageSpaceInBytes")) {
            return null;
        }
        return $this->getProperty("FreeStorageSpaceInBytes");
    }
    /**
     * @var integer
     */
    public function setFreeStorageSpaceInBytes($value)
    {
        $this->setProperty("FreeStorageSpaceInBytes", $value, true);
    }
    /**
     * @return string
     */
    public function getManagedDeviceName()
    {
        if (!$this->isPropertyAvailable("ManagedDeviceName")) {
            return null;
        }
        return $this->getProperty("ManagedDeviceName");
    }
    /**
     * @var string
     */
    public function setManagedDeviceName($value)
    {
        $this->setProperty("ManagedDeviceName", $value, true);
    }
    /**
     * @return ConfigurationManagerClientEnabledFeatures
     */
    public function getConfigurationManagerClientEnabledFeatures()
    {
        if (!$this->isPropertyAvailable("ConfigurationManagerClientEnabledFeatures")) {
            return null;
        }
        return $this->getProperty("ConfigurationManagerClientEnabledFeatures");
    }
    /**
     * @var ConfigurationManagerClientEnabledFeatures
     */
    public function setConfigurationManagerClientEnabledFeatures($value)
    {
        $this->setProperty("ConfigurationManagerClientEnabledFeatures", $value, true);
    }
    /**
     * @return DeviceHealthAttestationState
     */
    public function getDeviceHealthAttestationState()
    {
        if (!$this->isPropertyAvailable("DeviceHealthAttestationState")) {
            return null;
        }
        return $this->getProperty("DeviceHealthAttestationState");
    }
    /**
     * @var DeviceHealthAttestationState
     */
    public function setDeviceHealthAttestationState($value)
    {
        $this->setProperty("DeviceHealthAttestationState", $value, true);
    }
    /**
     * @return DeviceCategory
     */
    public function getDeviceCategory()
    {
        if (!$this->isPropertyAvailable("DeviceCategory")) {
            $this->setProperty("DeviceCategory", new DeviceCategory($this->getContext(), new ResourcePath("DeviceCategory", $this->getResourcePath())));
        }
        return $this->getProperty("DeviceCategory");
    }
}