from enum import Enum


class GeneralCommandType(str, Enum):
    BACK = "Back"
    CHANNELDOWN = "ChannelDown"
    CHANNELUP = "ChannelUp"
    DISPLAYCONTENT = "DisplayContent"
    DISPLAYMESSAGE = "DisplayMessage"
    GOHOME = "GoHome"
    GOTOSEARCH = "GoToSearch"
    GOTOSETTINGS = "GoToSettings"
    GUIDE = "Guide"
    MOVEDOWN = "MoveDown"
    MOVELEFT = "MoveLeft"
    MOVERIGHT = "MoveRight"
    MOVEUP = "MoveUp"
    MUTE = "Mute"
    NEXTLETTER = "NextLetter"
    PAGEDOWN = "PageDown"
    PAGEUP = "PageUp"
    PLAY = "Play"
    PLAYMEDIASOURCE = "PlayMediaSource"
    PLAYNEXT = "PlayNext"
    PLAYSTATE = "PlayState"
    PLAYTRAILERS = "PlayTrailers"
    PREVIOUSLETTER = "PreviousLetter"
    SELECT = "Select"
    SENDKEY = "SendKey"
    SENDSTRING = "SendString"
    SETAUDIOSTREAMINDEX = "SetAudioStreamIndex"
    SETMAXSTREAMINGBITRATE = "SetMaxStreamingBitrate"
    SETREPEATMODE = "SetRepeatMode"
    SETSHUFFLEQUEUE = "SetShuffleQueue"
    SETSUBTITLESTREAMINDEX = "SetSubtitleStreamIndex"
    SETVOLUME = "SetVolume"
    TAKESCREENSHOT = "TakeScreenshot"
    TOGGLECONTEXTMENU = "ToggleContextMenu"
    TOGGLEFULLSCREEN = "ToggleFullscreen"
    TOGGLEMUTE = "ToggleMute"
    TOGGLEOSD = "ToggleOsd"
    TOGGLEOSDMENU = "ToggleOsdMenu"
    TOGGLESTATS = "ToggleStats"
    UNMUTE = "Unmute"
    VOLUMEDOWN = "VolumeDown"
    VOLUMEUP = "VolumeUp"

    def __str__(self) -> str:
        return str(self.value)
