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

namespace Rv\Data\URL\LocalRelativePath;

use UnexpectedValueException;

/**
 * Protobuf type <code>rv.data.URL.LocalRelativePath.Root</code>
 */
class Root
{
    /**
     * Generated from protobuf enum <code>ROOT_UNKNOWN = 0;</code>
     */
    const ROOT_UNKNOWN = 0;
    /**
     * Generated from protobuf enum <code>ROOT_BOOT_VOLUME = 1;</code>
     */
    const ROOT_BOOT_VOLUME = 1;
    /**
     * Generated from protobuf enum <code>ROOT_USER_HOME = 2;</code>
     */
    const ROOT_USER_HOME = 2;
    /**
     * Generated from protobuf enum <code>ROOT_USER_DOCUMENTS = 3;</code>
     */
    const ROOT_USER_DOCUMENTS = 3;
    /**
     * Generated from protobuf enum <code>ROOT_USER_DOWNLOADS = 4;</code>
     */
    const ROOT_USER_DOWNLOADS = 4;
    /**
     * Generated from protobuf enum <code>ROOT_USER_MUSIC = 5;</code>
     */
    const ROOT_USER_MUSIC = 5;
    /**
     * Generated from protobuf enum <code>ROOT_USER_PICTURES = 6;</code>
     */
    const ROOT_USER_PICTURES = 6;
    /**
     * Generated from protobuf enum <code>ROOT_USER_VIDEOS = 7;</code>
     */
    const ROOT_USER_VIDEOS = 7;
    /**
     * Generated from protobuf enum <code>ROOT_USER_DESKTOP = 11;</code>
     */
    const ROOT_USER_DESKTOP = 11;
    /**
     * Generated from protobuf enum <code>ROOT_USER_APP_SUPPORT = 8;</code>
     */
    const ROOT_USER_APP_SUPPORT = 8;
    /**
     * Generated from protobuf enum <code>ROOT_SHARED = 9;</code>
     */
    const ROOT_SHARED = 9;
    /**
     * Generated from protobuf enum <code>ROOT_SHOW = 10;</code>
     */
    const ROOT_SHOW = 10;
    /**
     * Generated from protobuf enum <code>ROOT_CURRENT_RESOURCE = 12;</code>
     */
    const ROOT_CURRENT_RESOURCE = 12;

    private static $valueToName = [
        self::ROOT_UNKNOWN => 'ROOT_UNKNOWN',
        self::ROOT_BOOT_VOLUME => 'ROOT_BOOT_VOLUME',
        self::ROOT_USER_HOME => 'ROOT_USER_HOME',
        self::ROOT_USER_DOCUMENTS => 'ROOT_USER_DOCUMENTS',
        self::ROOT_USER_DOWNLOADS => 'ROOT_USER_DOWNLOADS',
        self::ROOT_USER_MUSIC => 'ROOT_USER_MUSIC',
        self::ROOT_USER_PICTURES => 'ROOT_USER_PICTURES',
        self::ROOT_USER_VIDEOS => 'ROOT_USER_VIDEOS',
        self::ROOT_USER_DESKTOP => 'ROOT_USER_DESKTOP',
        self::ROOT_USER_APP_SUPPORT => 'ROOT_USER_APP_SUPPORT',
        self::ROOT_SHARED => 'ROOT_SHARED',
        self::ROOT_SHOW => 'ROOT_SHOW',
        self::ROOT_CURRENT_RESOURCE => 'ROOT_CURRENT_RESOURCE',
    ];

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

