<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: psbWorkspace.proto

namespace Rv\Data;

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

/**
 * Generated from protobuf message <code>rv.data.ProScoreboardWorkspace</code>
 */
class ProScoreboardWorkspace extends \Google\Protobuf\Internal\Message
{
    /**
     * Generated from protobuf field <code>repeated .rv.data.ProPresenterScreen pro_screens = 1;</code>
     */
    private $pro_screens;
    /**
     * Generated from protobuf field <code>repeated .rv.data.VideoInput videoInputs = 2;</code>
     */
    private $videoInputs;
    /**
     * Generated from protobuf field <code>.rv.data.Recording.SettingsDocument record_settings = 3;</code>
     */
    protected $record_settings = null;
    /**
     * Generated from protobuf field <code>.rv.data.DigitalAudio.Setup digital_audio_setup = 4;</code>
     */
    protected $digital_audio_setup = null;
    /**
     * Generated from protobuf field <code>repeated .rv.data.AudioInput audio_inputs = 5;</code>
     */
    private $audio_inputs;
    /**
     * Generated from protobuf field <code>double audio_input_transition_time = 6;</code>
     */
    protected $audio_input_transition_time = 0.0;
    /**
     * Generated from protobuf field <code>repeated .rv.data.Zone zones = 7;</code>
     */
    private $zones;
    /**
     * Generated from protobuf field <code>repeated .rv.data.AdvertisementGroup advertisements = 8;</code>
     */
    private $advertisements;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type array<\Rv\Data\ProPresenterScreen>|\Google\Protobuf\Internal\RepeatedField $pro_screens
     *     @type array<\Rv\Data\VideoInput>|\Google\Protobuf\Internal\RepeatedField $videoInputs
     *     @type \Rv\Data\Recording\SettingsDocument $record_settings
     *     @type \Rv\Data\DigitalAudio\Setup $digital_audio_setup
     *     @type array<\Rv\Data\AudioInput>|\Google\Protobuf\Internal\RepeatedField $audio_inputs
     *     @type float $audio_input_transition_time
     *     @type array<\Rv\Data\Zone>|\Google\Protobuf\Internal\RepeatedField $zones
     *     @type array<\Rv\Data\AdvertisementGroup>|\Google\Protobuf\Internal\RepeatedField $advertisements
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\PsbWorkspace::initOnce();
        parent::__construct($data);
    }

    /**
     * Generated from protobuf field <code>repeated .rv.data.ProPresenterScreen pro_screens = 1;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getProScreens()
    {
        return $this->pro_screens;
    }

    /**
     * Generated from protobuf field <code>repeated .rv.data.ProPresenterScreen pro_screens = 1;</code>
     * @param array<\Rv\Data\ProPresenterScreen>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setProScreens($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Rv\Data\ProPresenterScreen::class);
        $this->pro_screens = $arr;

        return $this;
    }

    /**
     * Generated from protobuf field <code>repeated .rv.data.VideoInput videoInputs = 2;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getVideoInputs()
    {
        return $this->videoInputs;
    }

    /**
     * Generated from protobuf field <code>repeated .rv.data.VideoInput videoInputs = 2;</code>
     * @param array<\Rv\Data\VideoInput>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setVideoInputs($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Rv\Data\VideoInput::class);
        $this->videoInputs = $arr;

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.data.Recording.SettingsDocument record_settings = 3;</code>
     * @return \Rv\Data\Recording\SettingsDocument|null
     */
    public function getRecordSettings()
    {
        return $this->record_settings;
    }

    public function hasRecordSettings()
    {
        return isset($this->record_settings);
    }

    public function clearRecordSettings()
    {
        unset($this->record_settings);
    }

    /**
     * Generated from protobuf field <code>.rv.data.Recording.SettingsDocument record_settings = 3;</code>
     * @param \Rv\Data\Recording\SettingsDocument $var
     * @return $this
     */
    public function setRecordSettings($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\Recording\SettingsDocument::class);
        $this->record_settings = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.data.DigitalAudio.Setup digital_audio_setup = 4;</code>
     * @return \Rv\Data\DigitalAudio\Setup|null
     */
    public function getDigitalAudioSetup()
    {
        return $this->digital_audio_setup;
    }

    public function hasDigitalAudioSetup()
    {
        return isset($this->digital_audio_setup);
    }

    public function clearDigitalAudioSetup()
    {
        unset($this->digital_audio_setup);
    }

    /**
     * Generated from protobuf field <code>.rv.data.DigitalAudio.Setup digital_audio_setup = 4;</code>
     * @param \Rv\Data\DigitalAudio\Setup $var
     * @return $this
     */
    public function setDigitalAudioSetup($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\DigitalAudio\Setup::class);
        $this->digital_audio_setup = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>repeated .rv.data.AudioInput audio_inputs = 5;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getAudioInputs()
    {
        return $this->audio_inputs;
    }

    /**
     * Generated from protobuf field <code>repeated .rv.data.AudioInput audio_inputs = 5;</code>
     * @param array<\Rv\Data\AudioInput>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setAudioInputs($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Rv\Data\AudioInput::class);
        $this->audio_inputs = $arr;

        return $this;
    }

    /**
     * Generated from protobuf field <code>double audio_input_transition_time = 6;</code>
     * @return float
     */
    public function getAudioInputTransitionTime()
    {
        return $this->audio_input_transition_time;
    }

    /**
     * Generated from protobuf field <code>double audio_input_transition_time = 6;</code>
     * @param float $var
     * @return $this
     */
    public function setAudioInputTransitionTime($var)
    {
        GPBUtil::checkDouble($var);
        $this->audio_input_transition_time = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>repeated .rv.data.Zone zones = 7;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getZones()
    {
        return $this->zones;
    }

    /**
     * Generated from protobuf field <code>repeated .rv.data.Zone zones = 7;</code>
     * @param array<\Rv\Data\Zone>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setZones($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Rv\Data\Zone::class);
        $this->zones = $arr;

        return $this;
    }

    /**
     * Generated from protobuf field <code>repeated .rv.data.AdvertisementGroup advertisements = 8;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getAdvertisements()
    {
        return $this->advertisements;
    }

    /**
     * Generated from protobuf field <code>repeated .rv.data.AdvertisementGroup advertisements = 8;</code>
     * @param array<\Rv\Data\AdvertisementGroup>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setAdvertisements($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Rv\Data\AdvertisementGroup::class);
        $this->advertisements = $arr;

        return $this;
    }

}

