diff options
author | Christian <zerov83@googlemail.com> | 2015-12-20 18:55:27 +0100 |
---|---|---|
committer | Christian <zerov83@googlemail.com> | 2015-12-20 18:55:27 +0100 |
commit | 2a112bcf6f15603d46ab904eabb13bd8ee062a91 (patch) | |
tree | b948261300ea449823485305b2d980504190b11d /plexgdm.cpp | |
parent | 135ed5d0ce1613f70f4b2ddcb9e8bca721ffca9e (diff) | |
parent | 4775c62bf44ba6d757722611313f53d6dd2a0b56 (diff) | |
download | vdr-plugin-plex-2a112bcf6f15603d46ab904eabb13bd8ee062a91.tar.gz vdr-plugin-plex-2a112bcf6f15603d46ab904eabb13bd8ee062a91.tar.bz2 |
Merge pull request #2 from chriszero/remoteserverremoteserver
merge remoteserver branch
Diffstat (limited to 'plexgdm.cpp')
-rw-r--r-- | plexgdm.cpp | 38 |
1 files changed, 36 insertions, 2 deletions
diff --git a/plexgdm.cpp b/plexgdm.cpp index cdc1339..e76279d 100644 --- a/plexgdm.cpp +++ b/plexgdm.cpp @@ -2,6 +2,7 @@ #include "plexgdm.h" #include "Config.h" #include <ctime> +#include "Plexservice.h" namespace plexclient { @@ -61,8 +62,15 @@ void plexgdm::Action() if(Config::GetInstance().UseConfiguredServer) { // Adds a Server to vector GetServer(Config::GetInstance().s_serverHost, Config::GetInstance().ServerPort); + + if(Config::GetInstance().UsePlexAccount) { + GetServer(Config::GetInstance().s_serverHost, Config::GetInstance().ServerPort)->SetAuthToken(Plexservice::GetMyPlexToken()); + } } + // Get remote Resources + Plexservice::UpdateResources(); + char buffer[1024]; m_registrationIsRunning = true; m_discoveryIsRunning = true; @@ -164,7 +172,7 @@ void plexgdm::discover() bool flag = true; // Check for duplicates for(std::vector<PlexServer>::iterator s_it = m_vServers.begin(); s_it != m_vServers.end(); ++s_it) { - if(s_it->GetIpAdress() == host) { + if(s_it->GetHost() == host) { flag = false; s_it->ParseData(data, host); dsyslog("[plex] Server Updated: %s", host.c_str()); @@ -172,6 +180,10 @@ void plexgdm::discover() } if(flag) { m_vServers.push_back(PlexServer(data, host)); + // Set token for local servers + if(Config::GetInstance().UsePlexAccount) { + m_vServers[m_vServers.size()-1].SetAuthToken(Plexservice::GetMyPlexToken()); + } isyslog("[plex] New Server Discovered: %s", host.c_str()); } } @@ -194,7 +206,7 @@ void plexgdm::stopRegistration() PlexServer* plexgdm::GetServer(std::string ip, int port) { for(std::vector<PlexServer>::iterator s_it = m_vServers.begin(); s_it != m_vServers.end(); ++s_it) { - if(s_it->GetIpAdress() == ip && s_it->GetPort() == port) { + if(s_it->GetHost() == ip && s_it->GetPort() == port) { return &(*s_it); } } @@ -208,4 +220,26 @@ PlexServer* plexgdm::GetFirstServer() else return NULL; } +PlexServer* plexgdm::GetServer(std::string uuid) +{ + for(std::vector<PlexServer>::iterator s_it = m_vServers.begin(); s_it != m_vServers.end(); ++s_it) { + if(s_it->GetUuid() == uuid ){ + return &(*s_it); + } + } + return NULL; +} + +void plexgdm::AddServer(PlexServer server) +{ + for(std::vector<PlexServer>::iterator s_it = m_vServers.begin(); s_it != m_vServers.end(); ++s_it) { + if(s_it->GetUuid() == server.GetUuid() ){ + dsyslog("[plex] Server already in list: %s", server.GetUri().c_str()); + return; + } + } + m_vServers.push_back(server); + isyslog("[plex] New Server Added: %s", server.GetUri().c_str()); +} + } // namespace |