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

namespace Rv\Analytics;

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

/**
 * Generated from protobuf message <code>rv.analytics.Startup</code>
 */
class Startup extends \Google\Protobuf\Internal\Message
{
    protected $Component;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type \Rv\Analytics\Startup\Looks $looks
     *     @type \Rv\Analytics\Startup\ScreenConfiguration $screen_configuration
     *     @type \Rv\Analytics\Startup\Preferences $preferences
     *     @type \Rv\Analytics\Startup\Screens $screens
     *     @type \Rv\Analytics\Startup\PlanningCenter $planning_center
     *     @type \Rv\Analytics\Startup\SongSelect $song_select
     *     @type \Rv\Analytics\Startup\Audio $audio
     *     @type \Rv\Analytics\Startup\Communications $communications
     *     @type \Rv\Analytics\Startup\Resi $resi
     *     @type \Rv\Analytics\Startup\PBInterface $interface
     *     @type \Rv\Analytics\Startup\Content $content
     *     @type \Rv\Analytics\Startup\Themes $themes
     *     @type \Rv\Analytics\Startup\Macro $macro
     *     @type \Rv\Analytics\Startup\ClearGroup $clear_group
     *     @type \Rv\Analytics\Startup\KeyMapping $key_mapping
     *     @type \Rv\Analytics\MultiTracks\Startup $multitracks
     *     @type \Rv\Analytics\Startup\NetworkLink $network_link
     *     @type \Rv\Analytics\Startup\Capture $capture
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\AnalyticsStartup::initOnce();
        parent::__construct($data);
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.Looks looks = 1;</code>
     * @return \Rv\Analytics\Startup\Looks|null
     */
    public function getLooks()
    {
        return $this->readOneof(1);
    }

    public function hasLooks()
    {
        return $this->hasOneof(1);
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.Looks looks = 1;</code>
     * @param \Rv\Analytics\Startup\Looks $var
     * @return $this
     */
    public function setLooks($var)
    {
        GPBUtil::checkMessage($var, \Rv\Analytics\Startup\Looks::class);
        $this->writeOneof(1, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.ScreenConfiguration screen_configuration = 2;</code>
     * @return \Rv\Analytics\Startup\ScreenConfiguration|null
     */
    public function getScreenConfiguration()
    {
        return $this->readOneof(2);
    }

    public function hasScreenConfiguration()
    {
        return $this->hasOneof(2);
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.ScreenConfiguration screen_configuration = 2;</code>
     * @param \Rv\Analytics\Startup\ScreenConfiguration $var
     * @return $this
     */
    public function setScreenConfiguration($var)
    {
        GPBUtil::checkMessage($var, \Rv\Analytics\Startup\ScreenConfiguration::class);
        $this->writeOneof(2, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.Preferences preferences = 3;</code>
     * @return \Rv\Analytics\Startup\Preferences|null
     */
    public function getPreferences()
    {
        return $this->readOneof(3);
    }

    public function hasPreferences()
    {
        return $this->hasOneof(3);
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.Preferences preferences = 3;</code>
     * @param \Rv\Analytics\Startup\Preferences $var
     * @return $this
     */
    public function setPreferences($var)
    {
        GPBUtil::checkMessage($var, \Rv\Analytics\Startup\Preferences::class);
        $this->writeOneof(3, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.Screens screens = 4;</code>
     * @return \Rv\Analytics\Startup\Screens|null
     */
    public function getScreens()
    {
        return $this->readOneof(4);
    }

    public function hasScreens()
    {
        return $this->hasOneof(4);
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.Screens screens = 4;</code>
     * @param \Rv\Analytics\Startup\Screens $var
     * @return $this
     */
    public function setScreens($var)
    {
        GPBUtil::checkMessage($var, \Rv\Analytics\Startup\Screens::class);
        $this->writeOneof(4, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.PlanningCenter planning_center = 5;</code>
     * @return \Rv\Analytics\Startup\PlanningCenter|null
     */
    public function getPlanningCenter()
    {
        return $this->readOneof(5);
    }

    public function hasPlanningCenter()
    {
        return $this->hasOneof(5);
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.PlanningCenter planning_center = 5;</code>
     * @param \Rv\Analytics\Startup\PlanningCenter $var
     * @return $this
     */
    public function setPlanningCenter($var)
    {
        GPBUtil::checkMessage($var, \Rv\Analytics\Startup\PlanningCenter::class);
        $this->writeOneof(5, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.SongSelect song_select = 6;</code>
     * @return \Rv\Analytics\Startup\SongSelect|null
     */
    public function getSongSelect()
    {
        return $this->readOneof(6);
    }

    public function hasSongSelect()
    {
        return $this->hasOneof(6);
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.SongSelect song_select = 6;</code>
     * @param \Rv\Analytics\Startup\SongSelect $var
     * @return $this
     */
    public function setSongSelect($var)
    {
        GPBUtil::checkMessage($var, \Rv\Analytics\Startup\SongSelect::class);
        $this->writeOneof(6, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.Audio audio = 7;</code>
     * @return \Rv\Analytics\Startup\Audio|null
     */
    public function getAudio()
    {
        return $this->readOneof(7);
    }

    public function hasAudio()
    {
        return $this->hasOneof(7);
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.Audio audio = 7;</code>
     * @param \Rv\Analytics\Startup\Audio $var
     * @return $this
     */
    public function setAudio($var)
    {
        GPBUtil::checkMessage($var, \Rv\Analytics\Startup\Audio::class);
        $this->writeOneof(7, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.Communications communications = 8;</code>
     * @return \Rv\Analytics\Startup\Communications|null
     */
    public function getCommunications()
    {
        return $this->readOneof(8);
    }

    public function hasCommunications()
    {
        return $this->hasOneof(8);
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.Communications communications = 8;</code>
     * @param \Rv\Analytics\Startup\Communications $var
     * @return $this
     */
    public function setCommunications($var)
    {
        GPBUtil::checkMessage($var, \Rv\Analytics\Startup\Communications::class);
        $this->writeOneof(8, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.Resi resi = 9;</code>
     * @return \Rv\Analytics\Startup\Resi|null
     */
    public function getResi()
    {
        return $this->readOneof(9);
    }

    public function hasResi()
    {
        return $this->hasOneof(9);
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.Resi resi = 9;</code>
     * @param \Rv\Analytics\Startup\Resi $var
     * @return $this
     */
    public function setResi($var)
    {
        GPBUtil::checkMessage($var, \Rv\Analytics\Startup\Resi::class);
        $this->writeOneof(9, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.Interface interface = 10;</code>
     * @return \Rv\Analytics\Startup\PBInterface|null
     */
    public function getInterface()
    {
        return $this->readOneof(10);
    }

    public function hasInterface()
    {
        return $this->hasOneof(10);
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.Interface interface = 10;</code>
     * @param \Rv\Analytics\Startup\PBInterface $var
     * @return $this
     */
    public function setInterface($var)
    {
        GPBUtil::checkMessage($var, \Rv\Analytics\Startup\PBInterface::class);
        $this->writeOneof(10, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.Content content = 11;</code>
     * @return \Rv\Analytics\Startup\Content|null
     */
    public function getContent()
    {
        return $this->readOneof(11);
    }

    public function hasContent()
    {
        return $this->hasOneof(11);
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.Content content = 11;</code>
     * @param \Rv\Analytics\Startup\Content $var
     * @return $this
     */
    public function setContent($var)
    {
        GPBUtil::checkMessage($var, \Rv\Analytics\Startup\Content::class);
        $this->writeOneof(11, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.Themes themes = 12;</code>
     * @return \Rv\Analytics\Startup\Themes|null
     */
    public function getThemes()
    {
        return $this->readOneof(12);
    }

    public function hasThemes()
    {
        return $this->hasOneof(12);
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.Themes themes = 12;</code>
     * @param \Rv\Analytics\Startup\Themes $var
     * @return $this
     */
    public function setThemes($var)
    {
        GPBUtil::checkMessage($var, \Rv\Analytics\Startup\Themes::class);
        $this->writeOneof(12, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.Macro macro = 13;</code>
     * @return \Rv\Analytics\Startup\Macro|null
     */
    public function getMacro()
    {
        return $this->readOneof(13);
    }

    public function hasMacro()
    {
        return $this->hasOneof(13);
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.Macro macro = 13;</code>
     * @param \Rv\Analytics\Startup\Macro $var
     * @return $this
     */
    public function setMacro($var)
    {
        GPBUtil::checkMessage($var, \Rv\Analytics\Startup\Macro::class);
        $this->writeOneof(13, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.ClearGroup clear_group = 14;</code>
     * @return \Rv\Analytics\Startup\ClearGroup|null
     */
    public function getClearGroup()
    {
        return $this->readOneof(14);
    }

    public function hasClearGroup()
    {
        return $this->hasOneof(14);
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.ClearGroup clear_group = 14;</code>
     * @param \Rv\Analytics\Startup\ClearGroup $var
     * @return $this
     */
    public function setClearGroup($var)
    {
        GPBUtil::checkMessage($var, \Rv\Analytics\Startup\ClearGroup::class);
        $this->writeOneof(14, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.KeyMapping key_mapping = 15;</code>
     * @return \Rv\Analytics\Startup\KeyMapping|null
     */
    public function getKeyMapping()
    {
        return $this->readOneof(15);
    }

    public function hasKeyMapping()
    {
        return $this->hasOneof(15);
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.KeyMapping key_mapping = 15;</code>
     * @param \Rv\Analytics\Startup\KeyMapping $var
     * @return $this
     */
    public function setKeyMapping($var)
    {
        GPBUtil::checkMessage($var, \Rv\Analytics\Startup\KeyMapping::class);
        $this->writeOneof(15, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.MultiTracks.Startup multitracks = 16;</code>
     * @return \Rv\Analytics\MultiTracks\Startup|null
     */
    public function getMultitracks()
    {
        return $this->readOneof(16);
    }

    public function hasMultitracks()
    {
        return $this->hasOneof(16);
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.MultiTracks.Startup multitracks = 16;</code>
     * @param \Rv\Analytics\MultiTracks\Startup $var
     * @return $this
     */
    public function setMultitracks($var)
    {
        GPBUtil::checkMessage($var, \Rv\Analytics\MultiTracks\Startup::class);
        $this->writeOneof(16, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.NetworkLink network_link = 17;</code>
     * @return \Rv\Analytics\Startup\NetworkLink|null
     */
    public function getNetworkLink()
    {
        return $this->readOneof(17);
    }

    public function hasNetworkLink()
    {
        return $this->hasOneof(17);
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.NetworkLink network_link = 17;</code>
     * @param \Rv\Analytics\Startup\NetworkLink $var
     * @return $this
     */
    public function setNetworkLink($var)
    {
        GPBUtil::checkMessage($var, \Rv\Analytics\Startup\NetworkLink::class);
        $this->writeOneof(17, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.Capture capture = 18;</code>
     * @return \Rv\Analytics\Startup\Capture|null
     */
    public function getCapture()
    {
        return $this->readOneof(18);
    }

    public function hasCapture()
    {
        return $this->hasOneof(18);
    }

    /**
     * Generated from protobuf field <code>.rv.analytics.Startup.Capture capture = 18;</code>
     * @param \Rv\Analytics\Startup\Capture $var
     * @return $this
     */
    public function setCapture($var)
    {
        GPBUtil::checkMessage($var, \Rv\Analytics\Startup\Capture::class);
        $this->writeOneof(18, $var);

        return $this;
    }

    /**
     * @return string
     */
    public function getComponent()
    {
        return $this->whichOneof("Component");
    }

}

