<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/cloud/speech/v1/cloud_speech.proto

namespace Google\Cloud\Speech\V1\RecognitionMetadata;

use UnexpectedValueException;

/**
 * Use case categories that the audio recognition request can be described
 * by.
 *
 * Protobuf type <code>google.cloud.speech.v1.RecognitionMetadata.InteractionType</code>
 */
class InteractionType
{
    /**
     * Use case is either unknown or is something other than one of the other
     * values below.
     *
     * Generated from protobuf enum <code>INTERACTION_TYPE_UNSPECIFIED = 0;</code>
     */
    const INTERACTION_TYPE_UNSPECIFIED = 0;
    /**
     * Multiple people in a conversation or discussion. For example in a
     * meeting with two or more people actively participating. Typically
     * all the primary people speaking would be in the same room (if not,
     * see PHONE_CALL)
     *
     * Generated from protobuf enum <code>DISCUSSION = 1;</code>
     */
    const DISCUSSION = 1;
    /**
     * One or more persons lecturing or presenting to others, mostly
     * uninterrupted.
     *
     * Generated from protobuf enum <code>PRESENTATION = 2;</code>
     */
    const PRESENTATION = 2;
    /**
     * A phone-call or video-conference in which two or more people, who are
     * not in the same room, are actively participating.
     *
     * Generated from protobuf enum <code>PHONE_CALL = 3;</code>
     */
    const PHONE_CALL = 3;
    /**
     * A recorded message intended for another person to listen to.
     *
     * Generated from protobuf enum <code>VOICEMAIL = 4;</code>
     */
    const VOICEMAIL = 4;
    /**
     * Professionally produced audio (eg. TV Show, Podcast).
     *
     * Generated from protobuf enum <code>PROFESSIONALLY_PRODUCED = 5;</code>
     */
    const PROFESSIONALLY_PRODUCED = 5;
    /**
     * Transcribe spoken questions and queries into text.
     *
     * Generated from protobuf enum <code>VOICE_SEARCH = 6;</code>
     */
    const VOICE_SEARCH = 6;
    /**
     * Transcribe voice commands, such as for controlling a device.
     *
     * Generated from protobuf enum <code>VOICE_COMMAND = 7;</code>
     */
    const VOICE_COMMAND = 7;
    /**
     * Transcribe speech to text to create a written document, such as a
     * text-message, email or report.
     *
     * Generated from protobuf enum <code>DICTATION = 8;</code>
     */
    const DICTATION = 8;

    private static $valueToName = [
        self::INTERACTION_TYPE_UNSPECIFIED => 'INTERACTION_TYPE_UNSPECIFIED',
        self::DISCUSSION => 'DISCUSSION',
        self::PRESENTATION => 'PRESENTATION',
        self::PHONE_CALL => 'PHONE_CALL',
        self::VOICEMAIL => 'VOICEMAIL',
        self::PROFESSIONALLY_PRODUCED => 'PROFESSIONALLY_PRODUCED',
        self::VOICE_SEARCH => 'VOICE_SEARCH',
        self::VOICE_COMMAND => 'VOICE_COMMAND',
        self::DICTATION => 'DICTATION',
    ];

    public static function name($value)
    {
        if (!isset(self::$valueToName[$value])) {
            throw new UnexpectedValueException(sprintf(
                    'Enum %s has no name defined for value %s', __CLASS__, $value));
        }
        return self::$valueToName[$value];
    }


    public static function value($name)
    {
        $const = __CLASS__ . '::' . strtoupper($name);
        if (!defined($const)) {
            throw new UnexpectedValueException(sprintf(
                    'Enum %s has no value defined for name %s', __CLASS__, $name));
        }
        return constant($const);
    }
}

// Adding a class alias for backwards compatibility with the previous class name.
class_alias(InteractionType::class, \Google\Cloud\Speech\V1\RecognitionMetadata_InteractionType::class);

