<?php

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

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for ctiControlledDeviceProfiles StructType
 * @subpackage Structs
 */
class CtiControlledDeviceProfiles extends AbstractStructBase
{
    /**
     * The profileName
     * Meta information extracted from the WSDL
     * - maxOccurs: unbounded
     * - minOccurs: 0
     * @var \\Losc\CucmBundle\Model\Webservice\StructType\XFkType[]
     */
    public $profileName;
    /**
     * The deviceProfile
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - maxLength: 50
     * - maxOccurs: unbounded
     * - minOccurs: 0
     * @var string[]
     */
    public $deviceProfile;
    /**
     * Constructor method for ctiControlledDeviceProfiles
     * @uses CtiControlledDeviceProfiles::setProfileName()
     * @uses CtiControlledDeviceProfiles::setDeviceProfile()
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\XFkType[] $profileName
     * @param string[] $deviceProfile
     */
    public function __construct(array $profileName = array(), array $deviceProfile = array())
    {
        $this
            ->setProfileName($profileName)
            ->setDeviceProfile($deviceProfile);
    }
    /**
     * Get profileName value
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XFkType[]|null
     */
    public function getProfileName()
    {
        return $this->profileName;
    }
    /**
     * Set profileName value
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\XFkType[] $profileName
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\CtiControlledDeviceProfiles
     */
    public function setProfileName(array $profileName = array())
    {
        $this->profileName = $profileName;
        return $this;
    }
    /**
     * Add item to profileName value
     * @throws \InvalidArgumentException
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\XFkType $item
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\CtiControlledDeviceProfiles
     */
    public function addToProfileName(\\Losc\CucmBundle\Model\Webservice\StructType\XFkType $item)
    {
        $this->profileName[] = $item;
        return $this;
    }
    /**
     * Get deviceProfile value
     * @return string[]|null
     */
    public function getDeviceProfile()
    {
        return $this->deviceProfile;
    }
    /**
     * Set deviceProfile value
     * @param string[] $deviceProfile
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\CtiControlledDeviceProfiles
     */
    public function setDeviceProfile(array $deviceProfile = array())
    {
        $this->deviceProfile = $deviceProfile;
        return $this;
    }
    /**
     * Add item to deviceProfile value
     * @throws \InvalidArgumentException
     * @param string $item
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\CtiControlledDeviceProfiles
     */
    public function addToDeviceProfile($item)
    {
        $this->deviceProfile[] = $item;
        return $this;
    }
}
