<?php

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

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for audioSources StructType
 * Meta information extracted from the WSDL
 * - documentation: If isMultiCastEnabled is false then these elements are not necessary.MOHServer will be added to the database without the values of these tags. ie. The table MOHServerMulticastInfo table will be empty.
 * @subpackage Structs
 */
class AudioSources extends AbstractStructBase
{
    /**
     * The audioSource
     * Meta information extracted from the WSDL
     * - maxOccurs: unbounded
     * - minOccurs: 0
     * @var \\Losc\CucmBundle\Model\Webservice\StructType\AudioSource[]
     */
    public $audioSource;
    /**
     * Constructor method for audioSources
     * @uses AudioSources::setAudioSource()
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\AudioSource[] $audioSource
     */
    public function __construct(array $audioSource = array())
    {
        $this
            ->setAudioSource($audioSource);
    }
    /**
     * Get audioSource value
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\AudioSource[]|null
     */
    public function getAudioSource()
    {
        return $this->audioSource;
    }
    /**
     * Set audioSource value
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\AudioSource[] $audioSource
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\AudioSources
     */
    public function setAudioSource(array $audioSource = array())
    {
        $this->audioSource = $audioSource;
        return $this;
    }
    /**
     * Add item to audioSource value
     * @throws \InvalidArgumentException
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\AudioSource $item
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\AudioSources
     */
    public function addToAudioSource(\\Losc\CucmBundle\Model\Webservice\StructType\AudioSource $item)
    {
        $this->audioSource[] = $item;
        return $this;
    }
}
