<?php

namespace \Losc\CucmBundle\Model\Webservice\StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for RSNMPUser StructType
 * @subpackage Structs
 */
class RSNMPUser extends AbstractStructBase
{
    /**
     * The userName
     * @var string
     */
    public $userName;
    /**
     * The authRequired
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $authRequired;
    /**
     * The authPassword
     * @var string
     */
    public $authPassword;
    /**
     * The authProtocol
     * @var string
     */
    public $authProtocol;
    /**
     * The privacyRequired
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $privacyRequired;
    /**
     * The privacyPassword
     * @var string
     */
    public $privacyPassword;
    /**
     * The privacyProtocol
     * @var string
     */
    public $privacyProtocol;
    /**
     * The accessPrivilege
     * @var string
     */
    public $accessPrivilege;
    /**
     * The ArrayOfHosts
     * @var \\Losc\CucmBundle\Model\Webservice\ArrayType\RArrayOfHosts
     */
    public $ArrayOfHosts;
    /**
     * Constructor method for RSNMPUser
     * @uses RSNMPUser::setUserName()
     * @uses RSNMPUser::setAuthRequired()
     * @uses RSNMPUser::setAuthPassword()
     * @uses RSNMPUser::setAuthProtocol()
     * @uses RSNMPUser::setPrivacyRequired()
     * @uses RSNMPUser::setPrivacyPassword()
     * @uses RSNMPUser::setPrivacyProtocol()
     * @uses RSNMPUser::setAccessPrivilege()
     * @uses RSNMPUser::setArrayOfHosts()
     * @param string $userName
     * @param string $authRequired
     * @param string $authPassword
     * @param string $authProtocol
     * @param string $privacyRequired
     * @param string $privacyPassword
     * @param string $privacyProtocol
     * @param string $accessPrivilege
     * @param \\Losc\CucmBundle\Model\Webservice\ArrayType\RArrayOfHosts $arrayOfHosts
     */
    public function __construct($userName = null, $authRequired = null, $authPassword = null, $authProtocol = null, $privacyRequired = null, $privacyPassword = null, $privacyProtocol = null, $accessPrivilege = null, \\Losc\CucmBundle\Model\Webservice\ArrayType\RArrayOfHosts $arrayOfHosts = null)
    {
        $this
            ->setUserName($userName)
            ->setAuthRequired($authRequired)
            ->setAuthPassword($authPassword)
            ->setAuthProtocol($authProtocol)
            ->setPrivacyRequired($privacyRequired)
            ->setPrivacyPassword($privacyPassword)
            ->setPrivacyProtocol($privacyProtocol)
            ->setAccessPrivilege($accessPrivilege)
            ->setArrayOfHosts($arrayOfHosts);
    }
    /**
     * Get userName value
     * @return string|null
     */
    public function getUserName()
    {
        return $this->userName;
    }
    /**
     * Set userName value
     * @param string $userName
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RSNMPUser
     */
    public function setUserName($userName = null)
    {
        $this->userName = $userName;
        return $this;
    }
    /**
     * Get authRequired value
     * @return string|null
     */
    public function getAuthRequired()
    {
        return $this->authRequired;
    }
    /**
     * Set authRequired value
     * @param string $authRequired
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RSNMPUser
     */
    public function setAuthRequired($authRequired = null)
    {
        $this->authRequired = $authRequired;
        return $this;
    }
    /**
     * Get authPassword value
     * @return string|null
     */
    public function getAuthPassword()
    {
        return $this->authPassword;
    }
    /**
     * Set authPassword value
     * @param string $authPassword
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RSNMPUser
     */
    public function setAuthPassword($authPassword = null)
    {
        $this->authPassword = $authPassword;
        return $this;
    }
    /**
     * Get authProtocol value
     * @return string|null
     */
    public function getAuthProtocol()
    {
        return $this->authProtocol;
    }
    /**
     * Set authProtocol value
     * @param string $authProtocol
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RSNMPUser
     */
    public function setAuthProtocol($authProtocol = null)
    {
        $this->authProtocol = $authProtocol;
        return $this;
    }
    /**
     * Get privacyRequired value
     * @return string|null
     */
    public function getPrivacyRequired()
    {
        return $this->privacyRequired;
    }
    /**
     * Set privacyRequired value
     * @param string $privacyRequired
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RSNMPUser
     */
    public function setPrivacyRequired($privacyRequired = null)
    {
        $this->privacyRequired = $privacyRequired;
        return $this;
    }
    /**
     * Get privacyPassword value
     * @return string|null
     */
    public function getPrivacyPassword()
    {
        return $this->privacyPassword;
    }
    /**
     * Set privacyPassword value
     * @param string $privacyPassword
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RSNMPUser
     */
    public function setPrivacyPassword($privacyPassword = null)
    {
        $this->privacyPassword = $privacyPassword;
        return $this;
    }
    /**
     * Get privacyProtocol value
     * @return string|null
     */
    public function getPrivacyProtocol()
    {
        return $this->privacyProtocol;
    }
    /**
     * Set privacyProtocol value
     * @param string $privacyProtocol
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RSNMPUser
     */
    public function setPrivacyProtocol($privacyProtocol = null)
    {
        $this->privacyProtocol = $privacyProtocol;
        return $this;
    }
    /**
     * Get accessPrivilege value
     * @return string|null
     */
    public function getAccessPrivilege()
    {
        return $this->accessPrivilege;
    }
    /**
     * Set accessPrivilege value
     * @param string $accessPrivilege
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RSNMPUser
     */
    public function setAccessPrivilege($accessPrivilege = null)
    {
        $this->accessPrivilege = $accessPrivilege;
        return $this;
    }
    /**
     * Get ArrayOfHosts value
     * @return \\Losc\CucmBundle\Model\Webservice\ArrayType\RArrayOfHosts|null
     */
    public function getArrayOfHosts()
    {
        return $this->ArrayOfHosts;
    }
    /**
     * Set ArrayOfHosts value
     * @param \\Losc\CucmBundle\Model\Webservice\ArrayType\RArrayOfHosts $arrayOfHosts
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RSNMPUser
     */
    public function setArrayOfHosts(\\Losc\CucmBundle\Model\Webservice\ArrayType\RArrayOfHosts $arrayOfHosts = null)
    {
        $this->ArrayOfHosts = $arrayOfHosts;
        return $this;
    }
}
