From 7b64bf5062f3eb6ddff5d7606e44367bd5077e4c Mon Sep 17 00:00:00 2001 From: chriszero Date: Tue, 15 Dec 2015 22:15:35 +0100 Subject: Added SSL support, started support for remote resources (servers). Browsing remote servers is working. plex.tv login is mandatory. --- Makefile | 3 +- MediaContainer.cpp | 4 ++ MediaContainer.h | 4 ++ PVideo.cpp | 6 +-- PlexServer.cpp | 72 +++++++++++++++++++++++++++++++--- PlexServer.h | 31 ++++++++++----- Plexservice.cpp | 102 +++++++++++++++++++++++++++++++++++++++++------- Plexservice.h | 4 +- SubscriptionManager.cpp | 8 ++-- browserGrid.cpp | 2 +- device.cpp | 62 +++++++++++++++++++++++++++++ device.h | 59 ++++++++++++++++++++++++++++ hlsPlayer.cpp | 7 ++-- mpvWrapper.cpp | 4 -- mpvWrapper.h | 2 - pictureCache.cpp | 2 +- plex.cpp | 24 ++++++++++++ plexgdm.cpp | 26 +++++++++++- plexgdm.h | 2 + po/de_DE.mo | Bin 2980 -> 4189 bytes po/de_DE.po | 2 +- 21 files changed, 371 insertions(+), 55 deletions(-) create mode 100644 device.cpp create mode 100644 device.h diff --git a/Makefile b/Makefile index b11e68e..f9821f2 100644 --- a/Makefile +++ b/Makefile @@ -95,7 +95,8 @@ OBJS = $(PLUGIN).o \ browserGrid.o \ viewHeader.o \ detailView.o \ - pictureCache.o + pictureCache.o \ + device.o SRCS = $(wildcard $(OBJS:.o=.c)) $(PLUGIN).cpp diff --git a/MediaContainer.cpp b/MediaContainer.cpp index ba46fe8..10096ce 100644 --- a/MediaContainer.cpp +++ b/MediaContainer.cpp @@ -3,6 +3,8 @@ namespace plexclient { +MediaContainer::MediaContainer(std::istream* response) : MediaContainer(response, NULL) {} + MediaContainer::MediaContainer(std::istream* response, PlexServer* Server) { m_pServer = Server; @@ -43,6 +45,8 @@ MediaContainer::MediaContainer(std::istream* response, PlexServer* Server) m_vDirectories.push_back(Directory(pNode, m_pServer, this)); } else if(Poco::icompare(pNode->nodeName(), "Video") == 0) { m_vVideos.push_back(Video(pNode, m_pServer, this)); + } else if(Poco::icompare(pNode->nodeName(), "Device") == 0) { + m_vDevices.push_back(Device(pNode, this)); } pNode = it.nextNode(); diff --git a/MediaContainer.h b/MediaContainer.h index 947a647..02b8b96 100644 --- a/MediaContainer.h +++ b/MediaContainer.h @@ -19,6 +19,7 @@ #include "PVideo.h" #include "PlexServer.h" #include "Config.h" +#include "device.h" using Poco::XML::DOMParser; using Poco::XML::InputSource; @@ -33,11 +34,13 @@ namespace plexclient { class Video; class Directory; +class Device; class MediaContainer: XmlObject { public: MediaContainer(std::istream *response, PlexServer* Server); + MediaContainer(std::istream *response); protected: @@ -45,6 +48,7 @@ protected: public: std::vector m_vDirectories; std::vector