#ifndef PLEXSERVICE_H #define PLEXSERVICE_H //#include "plexgdm.h" #include "PlexServer.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "Config.h" #include "user.h" #include "MediaContainer.h" namespace plexclient { class Plexservice { public: Plexservice(PlexServer *server); Plexservice(PlexServer *server, std::string startUri); std::shared_ptr GetSection(std::string section, bool putOnStack = true); std::shared_ptr GetLastSection(bool current = false); bool IsRoot(); PlexServer *GetServer(); void Authenticate(); static std::string GetUniversalTranscodeUrl(cVideo *video, int offset = 0, PlexServer *server = 0, bool http = false); static std::string GetMyPlexToken(); static std::shared_ptr GetMediaContainer(std::string fullUrl); //static std::string encode(std::string message); static void UpdateResources(); std::string StartUri; private: Poco::Mutex m_mutex; PlexServer *pServer; std::stack m_vUriStack; std::unique_ptr CreateRequest(std::string path); }; } #endif // PLEXSERVICE_H