#ifndef CPLEXOSD_H #define CPLEXOSD_H #include #include #include #include #include #include #include #include "Config.h" #include "Plexservice.h" #include "plexgdm.h" #include "cPlexOsdItem.h" #include "hlsPlayerControl.h" enum menuShow { MAIN, BROWSER }; /* * Plex Browser */ class cPlexBrowser :public cOsdMenu { private: std::shared_ptr pService; std::shared_ptr pCont; std::vector *v_Vid; std::vector *v_Dir; std::vector m_vStack; std::string m_sSection; std::string m_sActualPos; /// Create a browser menu for current directory void CreateMenu(); /// Handle menu level up eOSState LevelUp(void); /// Handle menu item selection eOSState ProcessSelected(); static std::shared_ptr pLastService; static int lastCurrentItem; public: cPlexBrowser(const char *title, std::shared_ptr Service); virtual eOSState ProcessKey(eKeys); static cPlexBrowser* RecoverLastState(); }; /** ** Play plugin menu class. */ class cPlexMenu:public cOsdMenu { private: void SetRootMenu(); public: cPlexMenu(const char *, int = 0, int = 0, int = 0, int = 0, int = 0); virtual eOSState ProcessKey(eKeys); static cOsdMenu* ProcessMenu(); static menuShow eShow; }; #endif // CPLEXOSD_H