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

namespace Mynaparrot\PlugnmeetProto;

use UnexpectedValueException;

/**
 * Protobuf type <code>plugnmeet.NatsMsgServerToClientEvents</code>
 */
class NatsMsgServerToClientEvents
{
    /**
     * initial data
     *
     * Generated from protobuf enum <code>RES_INITIAL_DATA = 0;</code>
     */
    const RES_INITIAL_DATA = 0;
    /**
     * Generated from protobuf enum <code>RES_JOINED_USERS_LIST = 1;</code>
     */
    const RES_JOINED_USERS_LIST = 1;
    /**
     * Generated from protobuf enum <code>RES_MEDIA_SERVER_DATA = 2;</code>
     */
    const RES_MEDIA_SERVER_DATA = 2;
    /**
     * Generated from protobuf enum <code>ROOM_METADATA_UPDATE = 3;</code>
     */
    const ROOM_METADATA_UPDATE = 3;
    /**
     * Generated from protobuf enum <code>USER_METADATA_UPDATE = 4;</code>
     */
    const USER_METADATA_UPDATE = 4;
    /**
     * Generated from protobuf enum <code>USER_JOINED = 5;</code>
     */
    const USER_JOINED = 5;
    /**
     * Generated from protobuf enum <code>USER_DISCONNECTED = 6;</code>
     */
    const USER_DISCONNECTED = 6;
    /**
     * Generated from protobuf enum <code>USER_OFFLINE = 7;</code>
     */
    const USER_OFFLINE = 7;
    /**
     * Generated from protobuf enum <code>RESP_RENEW_PNM_TOKEN = 8;</code>
     */
    const RESP_RENEW_PNM_TOKEN = 8;
    /**
     * Generated from protobuf enum <code>SYSTEM_NOTIFICATION = 9;</code>
     */
    const SYSTEM_NOTIFICATION = 9;
    /**
     * Generated from protobuf enum <code>SESSION_ENDED = 10;</code>
     */
    const SESSION_ENDED = 10;
    /**
     * Generated from protobuf enum <code>POLL_CLOSED = 11;</code>
     */
    const POLL_CLOSED = 11;
    /**
     * Generated from protobuf enum <code>POLL_CREATED = 12;</code>
     */
    const POLL_CREATED = 12;
    /**
     * Generated from protobuf enum <code>JOIN_BREAKOUT_ROOM = 13;</code>
     */
    const JOIN_BREAKOUT_ROOM = 13;
    /**
     * Generated from protobuf enum <code>BREAKOUT_ROOM_ENDED = 14;</code>
     */
    const BREAKOUT_ROOM_ENDED = 14;
    /**
     * mostly system message display in chat
     *
     * Generated from protobuf enum <code>SYSTEM_CHAT_MSG = 15;</code>
     */
    const SYSTEM_CHAT_MSG = 15;
    /**
     * Generated from protobuf enum <code>TRANSCRIPTION_OUTPUT_TEXT = 16;</code>
     */
    const TRANSCRIPTION_OUTPUT_TEXT = 16;
    /**
     * Generated from protobuf enum <code>RESP_INSIGHTS_AI_TEXT_CHAT = 17;</code>
     */
    const RESP_INSIGHTS_AI_TEXT_CHAT = 17;
    /**
     * Generated from protobuf enum <code>RESP_ONLINE_USERS_LIST = 18;</code>
     */
    const RESP_ONLINE_USERS_LIST = 18;
    /**
     * Generated from protobuf enum <code>DELIVERY_PRIVATE_DATA = 19;</code>
     */
    const DELIVERY_PRIVATE_DATA = 19;
    /**
     *next ID: 21
     *
     * Generated from protobuf enum <code>PONG = 20;</code>
     */
    const PONG = 20;

    private static $valueToName = [
        self::RES_INITIAL_DATA => 'RES_INITIAL_DATA',
        self::RES_JOINED_USERS_LIST => 'RES_JOINED_USERS_LIST',
        self::RES_MEDIA_SERVER_DATA => 'RES_MEDIA_SERVER_DATA',
        self::ROOM_METADATA_UPDATE => 'ROOM_METADATA_UPDATE',
        self::USER_METADATA_UPDATE => 'USER_METADATA_UPDATE',
        self::USER_JOINED => 'USER_JOINED',
        self::USER_DISCONNECTED => 'USER_DISCONNECTED',
        self::USER_OFFLINE => 'USER_OFFLINE',
        self::RESP_RENEW_PNM_TOKEN => 'RESP_RENEW_PNM_TOKEN',
        self::SYSTEM_NOTIFICATION => 'SYSTEM_NOTIFICATION',
        self::SESSION_ENDED => 'SESSION_ENDED',
        self::POLL_CLOSED => 'POLL_CLOSED',
        self::POLL_CREATED => 'POLL_CREATED',
        self::JOIN_BREAKOUT_ROOM => 'JOIN_BREAKOUT_ROOM',
        self::BREAKOUT_ROOM_ENDED => 'BREAKOUT_ROOM_ENDED',
        self::SYSTEM_CHAT_MSG => 'SYSTEM_CHAT_MSG',
        self::TRANSCRIPTION_OUTPUT_TEXT => 'TRANSCRIPTION_OUTPUT_TEXT',
        self::RESP_INSIGHTS_AI_TEXT_CHAT => 'RESP_INSIGHTS_AI_TEXT_CHAT',
        self::RESP_ONLINE_USERS_LIST => 'RESP_ONLINE_USERS_LIST',
        self::DELIVERY_PRIVATE_DATA => 'DELIVERY_PRIVATE_DATA',
        self::PONG => 'PONG',
    ];

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

