summaryrefslogtreecommitdiff
path: root/plexgdm.cpp
diff options
context:
space:
mode:
authorchriszero <zerov83@gmail.com>2014-11-19 19:44:37 +0100
committerchriszero <zerov83@gmail.com>2014-11-19 19:44:37 +0100
commit0b1771db632f525a68b18b9d57b93c9e843074bc (patch)
treef55c15e5f2ef2a5979c4e055c46026696c9b429c /plexgdm.cpp
parent53143efc7a8b93ac779b494588e44c2ef47a1f12 (diff)
downloadvdr-plugin-plex-0b1771db632f525a68b18b9d57b93c9e843074bc.tar.gz
vdr-plugin-plex-0b1771db632f525a68b18b9d57b93c9e843074bc.tar.bz2
Added more logging
Diffstat (limited to 'plexgdm.cpp')
-rw-r--r--plexgdm.cpp47
1 files changed, 27 insertions, 20 deletions
diff --git a/plexgdm.cpp b/plexgdm.cpp
index 12e1e8a..b7d45a1 100644
--- a/plexgdm.cpp
+++ b/plexgdm.cpp
@@ -1,3 +1,4 @@
+#include <vdr/tools.h>
#include "plexgdm.h"
namespace plexclient
@@ -47,6 +48,7 @@ std::string plexgdm::getClientDetails()
void plexgdm::Action()
{
+
char buffer[1024];
m_registrationIsRunning = true;
cMutexLock lock(&m_mutex);
@@ -98,26 +100,31 @@ void plexgdm::Action()
void plexgdm::discover()
{
- // TODO: Discover multiple servers
- char buffer[1024];
- Poco::Net::MulticastSocket socket(
- Poco::Net::SocketAddress( Poco::Net::IPAddress(), m_discoverAdress.port() )
- );
- socket.setReceiveTimeout(0.6);
- //socket.setTimeToLive(0.6);
- socket.sendTo(_discoverMessage.c_str(), _discoverMessage.length(), m_discoverAdress, 0);
-
- socket.joinGroup(m_discoverAdress.host());
- Poco::Net::SocketAddress sender;
- int n = socket.receiveFrom(buffer, sizeof(buffer), sender);
- std::string buf(buffer, n);
- //std::cout << "Discover received from: " << sender.host().toString() << "\nData:\n" << buf;
-
- socket.close();
- m_discoveryComplete = true;
- // check for a valid response
- if(buf.find("200 OK") != std::string::npos) {
- m_pServer = new PlexServer(buf, sender.host().toString());
+ try {
+ // TODO: Discover multiple servers
+ char buffer[1024];
+ Poco::Net::MulticastSocket socket(
+ Poco::Net::SocketAddress( Poco::Net::IPAddress(), m_discoverAdress.port() )
+ );
+ socket.setReceiveTimeout(0.6);
+ //socket.setTimeToLive(0.6);
+ socket.sendTo(_discoverMessage.c_str(), _discoverMessage.length(), m_discoverAdress, 0);
+
+ socket.joinGroup(m_discoverAdress.host());
+ Poco::Net::SocketAddress sender;
+ int n = socket.receiveFrom(buffer, sizeof(buffer), sender);
+ std::string buf(buffer, n);
+ //std::cout << "Discover received from: " << sender.host().toString() << "\nData:\n" << buf;
+
+ socket.close();
+ m_discoveryComplete = true;
+ // check for a valid response
+ if(buf.find("200 OK") != std::string::npos) {
+ m_pServer = new PlexServer(buf, sender.host().toString());
+ }
+ }
+ catch(Poco::Exception &exc){
+ esyslog("[plex]Exception in %s s%", __func__, exc.displayText().c_str() );
}
}