X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fserver_finder.cc;h=14cb3af5999ac5ff7ccb434d39371addcbb18a6d;hb=6de35d058821acc092d2aae75543024a97026b8a;hp=1080d24c4103765fce705019b177c19b4a415275;hpb=854f2e5bbb7ffb9758b823af87034033033f3cb8;p=dcpomatic.git diff --git a/src/lib/server_finder.cc b/src/lib/server_finder.cc index 1080d24c4..14cb3af59 100644 --- a/src/lib/server_finder.cc +++ b/src/lib/server_finder.cc @@ -18,6 +18,7 @@ */ #include +#include #include "server_finder.h" #include "exceptions.h" #include "util.h" @@ -26,13 +27,12 @@ #include "ui_signaller.h" using std::string; -using std::stringstream; using std::list; using std::vector; using std::cout; using boost::shared_ptr; using boost::scoped_array; -using boost::lexical_cast; +using dcp::raw_convert; ServerFinder* ServerFinder::_instance = 0; @@ -82,7 +82,7 @@ try } try { boost::asio::ip::udp::resolver resolver (io_service); - boost::asio::ip::udp::resolver::query query (*i, lexical_cast (Config::instance()->server_port_base() + 1)); + boost::asio::ip::udp::resolver::query query (*i, raw_convert (Config::instance()->server_port_base() + 1)); boost::asio::ip::udp::endpoint end_point (*resolver.resolve (query)); socket.send_to (boost::asio::buffer (data.c_str(), data.size() + 1), end_point); } catch (...) { @@ -102,7 +102,7 @@ void ServerFinder::listen_thread () try { - while (1) { + while (true) { shared_ptr sock (new Socket (60)); try { @@ -115,9 +115,9 @@ try scoped_array buffer (new char[length]); sock->read (reinterpret_cast (buffer.get()), length); - stringstream s (buffer.get()); + string s (buffer.get()); shared_ptr xml (new cxml::Document ("ServerAvailable")); - xml->read_stream (s); + xml->read_string (s); string const ip = sock->socket().remote_endpoint().address().to_string (); if (!server_found (ip)) {