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

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type \Rv\Data\API_v1_Looks_Response\Looks $looks
     *     @type \Rv\Data\API_v1_Looks_Response\CreateLook $create_look
     *     @type \Rv\Data\API_v1_Looks_Response\GetCurrentLook $get_current_look
     *     @type \Rv\Data\API_v1_Looks_Response\PutCurrentLook $put_current_look
     *     @type \Rv\Data\API_v1_Looks_Response\GetLook $get_look
     *     @type \Rv\Data\API_v1_Looks_Response\PutLook $put_look
     *     @type \Rv\Data\API_v1_Looks_Response\DeleteLook $delete_look
     *     @type \Rv\Data\API_v1_Looks_Response\TriggerLook $trigger_look
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\ProApiV1Looks::initOnce();
        parent::__construct($data);
    }

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

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

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

        return $this;
    }

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

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

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

        return $this;
    }

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

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

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

        return $this;
    }

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

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

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

        return $this;
    }

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

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

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

        return $this;
    }

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

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

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

        return $this;
    }

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

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

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

        return $this;
    }

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

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

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

        return $this;
    }

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

}

