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

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type \Rv\Data\API_v1_Macro_Request\Macros $macros
     *     @type \Rv\Data\API_v1_Macro_Request\GetMacro $get_macro
     *     @type \Rv\Data\API_v1_Macro_Request\PutMacro $put_macro
     *     @type \Rv\Data\API_v1_Macro_Request\DeleteMacro $delete_macro
     *     @type \Rv\Data\API_v1_Macro_Request\TriggerMacro $trigger_macro
     *     @type \Rv\Data\API_v1_Macro_Request\MacroCollections $macro_collections
     *     @type \Rv\Data\API_v1_Macro_Request\GetMacroCollection $get_macro_collection
     *     @type \Rv\Data\API_v1_Macro_Request\PostMacroCollections $post_macro_collections
     *     @type \Rv\Data\API_v1_Macro_Request\PutMacroCollection $put_macro_collection
     *     @type \Rv\Data\API_v1_Macro_Request\DeleteMacroCollection $delete_macro_collection
     *     @type \Rv\Data\API_v1_Macro_Request\MacroIcon $macro_icon
     *     @type \Rv\Data\API_v1_Macro_Request\PutMacroIcon $put_macro_icon
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\ProApiV1Macro::initOnce();
        parent::__construct($data);
    }

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

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

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

        return $this;
    }

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

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

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

        return $this;
    }

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

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

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

        return $this;
    }

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

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

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

        return $this;
    }

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

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

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

        return $this;
    }

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

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

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

        return $this;
    }

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

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

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

        return $this;
    }

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

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

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

        return $this;
    }

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

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

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

        return $this;
    }

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

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

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

        return $this;
    }

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

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

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

        return $this;
    }

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

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

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

        return $this;
    }

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

}

