<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: proApiV1Presentation.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.API_v1_Presentation_Request</code>
 */
class API_v1_Presentation_Request extends \Google\Protobuf\Internal\Message
{
    protected $Request;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type \Rv\Data\API_v1_Presentation_Request\Active $active
     *     @type \Rv\Data\API_v1_Presentation_Request\EmptyMessage $focused
     *     @type \Rv\Data\API_v1_Presentation_Request\SlideIndex $slide_index
     *     @type \Rv\Data\API_v1_Presentation_Request\ChordChart $chord_chart
     *     @type \Rv\Data\API_v1_Presentation_Request\ChordChartUpdates $chord_chart_updates
     *     @type \Rv\Data\API_v1_Presentation_Request\Presentation $presentation
     *     @type \Rv\Data\API_v1_Presentation_Request\DeletePresentation $delete_presentation
     *     @type \Rv\Data\API_v1_Presentation_Request\TimelineOperation $timeline_operation
     *     @type \Rv\Data\API_v1_Presentation_Request\ActivePresentationTimelineOperation $active_presentation_timeline_operation
     *     @type \Rv\Data\API_v1_Presentation_Request\FocusedPresentationTimelineOperation $focused_presentation_timeline_operation
     *     @type \Rv\Data\API_v1_Presentation_Request\ActivePresentationTimelineStatus $active_presentation_timeline_status
     *     @type \Rv\Data\API_v1_Presentation_Request\FocusedPresentationTimelineStatus $focused_presentation_timeline_status
     *     @type \Rv\Data\API_v1_Presentation_Request\Thumbnail $thumbnail
     *     @type \Rv\Data\API_v1_Presentation_Request\FocusMessage $focus
     *     @type \Rv\Data\API_v1_Presentation_Request\TriggerMessage $trigger
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\ProApiV1Presentation::initOnce();
        parent::__construct($data);
    }

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.Active active = 1;</code>
     * @return \Rv\Data\API_v1_Presentation_Request\Active|null
     */
    public function getActive()
    {
        return $this->readOneof(1);
    }

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

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.Active active = 1;</code>
     * @param \Rv\Data\API_v1_Presentation_Request\Active $var
     * @return $this
     */
    public function setActive($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\API_v1_Presentation_Request\Active::class);
        $this->writeOneof(1, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.EmptyMessage focused = 2;</code>
     * @return \Rv\Data\API_v1_Presentation_Request\EmptyMessage|null
     */
    public function getFocused()
    {
        return $this->readOneof(2);
    }

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

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.EmptyMessage focused = 2;</code>
     * @param \Rv\Data\API_v1_Presentation_Request\EmptyMessage $var
     * @return $this
     */
    public function setFocused($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\API_v1_Presentation_Request\EmptyMessage::class);
        $this->writeOneof(2, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.SlideIndex slide_index = 3;</code>
     * @return \Rv\Data\API_v1_Presentation_Request\SlideIndex|null
     */
    public function getSlideIndex()
    {
        return $this->readOneof(3);
    }

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

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.SlideIndex slide_index = 3;</code>
     * @param \Rv\Data\API_v1_Presentation_Request\SlideIndex $var
     * @return $this
     */
    public function setSlideIndex($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\API_v1_Presentation_Request\SlideIndex::class);
        $this->writeOneof(3, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.ChordChart chord_chart = 4;</code>
     * @return \Rv\Data\API_v1_Presentation_Request\ChordChart|null
     */
    public function getChordChart()
    {
        return $this->readOneof(4);
    }

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

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.ChordChart chord_chart = 4;</code>
     * @param \Rv\Data\API_v1_Presentation_Request\ChordChart $var
     * @return $this
     */
    public function setChordChart($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\API_v1_Presentation_Request\ChordChart::class);
        $this->writeOneof(4, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.ChordChartUpdates chord_chart_updates = 5;</code>
     * @return \Rv\Data\API_v1_Presentation_Request\ChordChartUpdates|null
     */
    public function getChordChartUpdates()
    {
        return $this->readOneof(5);
    }

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

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.ChordChartUpdates chord_chart_updates = 5;</code>
     * @param \Rv\Data\API_v1_Presentation_Request\ChordChartUpdates $var
     * @return $this
     */
    public function setChordChartUpdates($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\API_v1_Presentation_Request\ChordChartUpdates::class);
        $this->writeOneof(5, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.Presentation presentation = 6;</code>
     * @return \Rv\Data\API_v1_Presentation_Request\Presentation|null
     */
    public function getPresentation()
    {
        return $this->readOneof(6);
    }

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

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.Presentation presentation = 6;</code>
     * @param \Rv\Data\API_v1_Presentation_Request\Presentation $var
     * @return $this
     */
    public function setPresentation($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\API_v1_Presentation_Request\Presentation::class);
        $this->writeOneof(6, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.DeletePresentation delete_presentation = 7;</code>
     * @return \Rv\Data\API_v1_Presentation_Request\DeletePresentation|null
     */
    public function getDeletePresentation()
    {
        return $this->readOneof(7);
    }

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

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.DeletePresentation delete_presentation = 7;</code>
     * @param \Rv\Data\API_v1_Presentation_Request\DeletePresentation $var
     * @return $this
     */
    public function setDeletePresentation($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\API_v1_Presentation_Request\DeletePresentation::class);
        $this->writeOneof(7, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.TimelineOperation timeline_operation = 8;</code>
     * @return \Rv\Data\API_v1_Presentation_Request\TimelineOperation|null
     */
    public function getTimelineOperation()
    {
        return $this->readOneof(8);
    }

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

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.TimelineOperation timeline_operation = 8;</code>
     * @param \Rv\Data\API_v1_Presentation_Request\TimelineOperation $var
     * @return $this
     */
    public function setTimelineOperation($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\API_v1_Presentation_Request\TimelineOperation::class);
        $this->writeOneof(8, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.ActivePresentationTimelineOperation active_presentation_timeline_operation = 9;</code>
     * @return \Rv\Data\API_v1_Presentation_Request\ActivePresentationTimelineOperation|null
     */
    public function getActivePresentationTimelineOperation()
    {
        return $this->readOneof(9);
    }

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

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.ActivePresentationTimelineOperation active_presentation_timeline_operation = 9;</code>
     * @param \Rv\Data\API_v1_Presentation_Request\ActivePresentationTimelineOperation $var
     * @return $this
     */
    public function setActivePresentationTimelineOperation($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\API_v1_Presentation_Request\ActivePresentationTimelineOperation::class);
        $this->writeOneof(9, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.FocusedPresentationTimelineOperation focused_presentation_timeline_operation = 10;</code>
     * @return \Rv\Data\API_v1_Presentation_Request\FocusedPresentationTimelineOperation|null
     */
    public function getFocusedPresentationTimelineOperation()
    {
        return $this->readOneof(10);
    }

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

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.FocusedPresentationTimelineOperation focused_presentation_timeline_operation = 10;</code>
     * @param \Rv\Data\API_v1_Presentation_Request\FocusedPresentationTimelineOperation $var
     * @return $this
     */
    public function setFocusedPresentationTimelineOperation($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\API_v1_Presentation_Request\FocusedPresentationTimelineOperation::class);
        $this->writeOneof(10, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.ActivePresentationTimelineStatus active_presentation_timeline_status = 11;</code>
     * @return \Rv\Data\API_v1_Presentation_Request\ActivePresentationTimelineStatus|null
     */
    public function getActivePresentationTimelineStatus()
    {
        return $this->readOneof(11);
    }

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

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.ActivePresentationTimelineStatus active_presentation_timeline_status = 11;</code>
     * @param \Rv\Data\API_v1_Presentation_Request\ActivePresentationTimelineStatus $var
     * @return $this
     */
    public function setActivePresentationTimelineStatus($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\API_v1_Presentation_Request\ActivePresentationTimelineStatus::class);
        $this->writeOneof(11, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.FocusedPresentationTimelineStatus focused_presentation_timeline_status = 12;</code>
     * @return \Rv\Data\API_v1_Presentation_Request\FocusedPresentationTimelineStatus|null
     */
    public function getFocusedPresentationTimelineStatus()
    {
        return $this->readOneof(12);
    }

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

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.FocusedPresentationTimelineStatus focused_presentation_timeline_status = 12;</code>
     * @param \Rv\Data\API_v1_Presentation_Request\FocusedPresentationTimelineStatus $var
     * @return $this
     */
    public function setFocusedPresentationTimelineStatus($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\API_v1_Presentation_Request\FocusedPresentationTimelineStatus::class);
        $this->writeOneof(12, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.Thumbnail thumbnail = 13;</code>
     * @return \Rv\Data\API_v1_Presentation_Request\Thumbnail|null
     */
    public function getThumbnail()
    {
        return $this->readOneof(13);
    }

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

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.Thumbnail thumbnail = 13;</code>
     * @param \Rv\Data\API_v1_Presentation_Request\Thumbnail $var
     * @return $this
     */
    public function setThumbnail($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\API_v1_Presentation_Request\Thumbnail::class);
        $this->writeOneof(13, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.FocusMessage focus = 14;</code>
     * @return \Rv\Data\API_v1_Presentation_Request\FocusMessage|null
     */
    public function getFocus()
    {
        return $this->readOneof(14);
    }

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

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.FocusMessage focus = 14;</code>
     * @param \Rv\Data\API_v1_Presentation_Request\FocusMessage $var
     * @return $this
     */
    public function setFocus($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\API_v1_Presentation_Request\FocusMessage::class);
        $this->writeOneof(14, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.TriggerMessage trigger = 15;</code>
     * @return \Rv\Data\API_v1_Presentation_Request\TriggerMessage|null
     */
    public function getTrigger()
    {
        return $this->readOneof(15);
    }

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

    /**
     * Generated from protobuf field <code>.rv.data.API_v1_Presentation_Request.TriggerMessage trigger = 15;</code>
     * @param \Rv\Data\API_v1_Presentation_Request\TriggerMessage $var
     * @return $this
     */
    public function setTrigger($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\API_v1_Presentation_Request\TriggerMessage::class);
        $this->writeOneof(15, $var);

        return $this;
    }

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

}

