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

namespace Mynaparrot\PlugnmeetProto;

use UnexpectedValueException;

/**
 * Protobuf type <code>plugnmeet.DataMsgBodyType</code>
 */
class DataMsgBodyType
{
    /**
     * SYSTEM type
     *
     * Generated from protobuf enum <code>UNKNOWN = 0;</code>
     */
    const UNKNOWN = 0;
    /**
     * Generated from protobuf enum <code>FILE_UPLOAD = 1;</code>
     */
    const FILE_UPLOAD = 1;
    /**
     * Generated from protobuf enum <code>INFO = 2;</code>
     */
    const INFO = 2;
    /**
     * Generated from protobuf enum <code>ALERT = 3;</code>
     */
    const ALERT = 3;
    /**
     * Generated from protobuf enum <code>USER_VISIBILITY_CHANGE = 4;</code>
     */
    const USER_VISIBILITY_CHANGE = 4;
    /**
     * Generated from protobuf enum <code>EXTERNAL_MEDIA_PLAYER_EVENTS = 5;</code>
     */
    const EXTERNAL_MEDIA_PLAYER_EVENTS = 5;
    /**
     * Generated from protobuf enum <code>NEW_POLL_RESPONSE = 6;</code>
     */
    const NEW_POLL_RESPONSE = 6;
    /**
     * Generated from protobuf enum <code>PUSH_JOIN_BREAKOUT_ROOM = 19;</code>
     */
    const PUSH_JOIN_BREAKOUT_ROOM = 19;
    /**
     * Generated from protobuf enum <code>SPEECH_SUBTITLE_TEXT = 7;</code>
     */
    const SPEECH_SUBTITLE_TEXT = 7;
    /**
     * WHITEBOARD type
     *
     * Generated from protobuf enum <code>REQ_FULL_WHITEBOARD_DATA = 8;</code>
     */
    const REQ_FULL_WHITEBOARD_DATA = 8;
    /**
     * Generated from protobuf enum <code>RES_FULL_WHITEBOARD_DATA = 9;</code>
     */
    const RES_FULL_WHITEBOARD_DATA = 9;
    /**
     * Generated from protobuf enum <code>SCENE_UPDATE = 10;</code>
     */
    const SCENE_UPDATE = 10;
    /**
     * Generated from protobuf enum <code>POINTER_UPDATE = 11;</code>
     */
    const POINTER_UPDATE = 11;
    /**
     * Generated from protobuf enum <code>WHITEBOARD_APP_STATE_CHANGE = 12;</code>
     */
    const WHITEBOARD_APP_STATE_CHANGE = 12;
    /**
     * Generated from protobuf enum <code>PAGE_CHANGE = 15;</code>
     */
    const PAGE_CHANGE = 15;
    /**
     * Generated from protobuf enum <code>FILE_CHANGE = 17;</code>
     */
    const FILE_CHANGE = 17;
    /**
     * Generated from protobuf enum <code>UPDATE_CURRENT_OFFICE_FILE_PAGES = 18;</code>
     */
    const UPDATE_CURRENT_OFFICE_FILE_PAGES = 18;
    /**
     * Generated from protobuf enum <code>WHITEBOARD_RESET = 20;</code>
     */
    const WHITEBOARD_RESET = 20;
    /**
     * Generated from protobuf enum <code>ADD_WHITEBOARD_FILE = 13 [deprecated = true];</code>
     */
    const ADD_WHITEBOARD_FILE = 13;
    /**
     * Generated from protobuf enum <code>ADD_WHITEBOARD_OFFICE_FILE = 14 [deprecated = true];</code>
     */
    const ADD_WHITEBOARD_OFFICE_FILE = 14;
    /**
     * Generated from protobuf enum <code>USER_CONNECTION_QUALITY_CHANGE = 16;</code>
     */
    const USER_CONNECTION_QUALITY_CHANGE = 16;

    private static $valueToName = [
        self::UNKNOWN => 'UNKNOWN',
        self::FILE_UPLOAD => 'FILE_UPLOAD',
        self::INFO => 'INFO',
        self::ALERT => 'ALERT',
        self::USER_VISIBILITY_CHANGE => 'USER_VISIBILITY_CHANGE',
        self::EXTERNAL_MEDIA_PLAYER_EVENTS => 'EXTERNAL_MEDIA_PLAYER_EVENTS',
        self::NEW_POLL_RESPONSE => 'NEW_POLL_RESPONSE',
        self::PUSH_JOIN_BREAKOUT_ROOM => 'PUSH_JOIN_BREAKOUT_ROOM',
        self::SPEECH_SUBTITLE_TEXT => 'SPEECH_SUBTITLE_TEXT',
        self::REQ_FULL_WHITEBOARD_DATA => 'REQ_FULL_WHITEBOARD_DATA',
        self::RES_FULL_WHITEBOARD_DATA => 'RES_FULL_WHITEBOARD_DATA',
        self::SCENE_UPDATE => 'SCENE_UPDATE',
        self::POINTER_UPDATE => 'POINTER_UPDATE',
        self::WHITEBOARD_APP_STATE_CHANGE => 'WHITEBOARD_APP_STATE_CHANGE',
        self::PAGE_CHANGE => 'PAGE_CHANGE',
        self::FILE_CHANGE => 'FILE_CHANGE',
        self::UPDATE_CURRENT_OFFICE_FILE_PAGES => 'UPDATE_CURRENT_OFFICE_FILE_PAGES',
        self::WHITEBOARD_RESET => 'WHITEBOARD_RESET',
        self::ADD_WHITEBOARD_FILE => 'ADD_WHITEBOARD_FILE',
        self::ADD_WHITEBOARD_OFFICE_FILE => 'ADD_WHITEBOARD_OFFICE_FILE',
        self::USER_CONNECTION_QUALITY_CHANGE => 'USER_CONNECTION_QUALITY_CHANGE',
    ];

    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);
    }
}

