Slightly-improved log message.
[dcpomatic.git] / src / lib / server_finder.cc
index d62531d9f7b634e6534033bb4bd426273ee32d4e..726437ea57b3eaa14fdea90667c38a053f5963cb 100644 (file)
 #include "util.h"
 #include "config.h"
 #include "cross.h"
-#include "ui_signaller.h"
 #include "dcpomatic_socket.h"
+#include "raw_convert.h"
 #include <libcxml/cxml.h>
-#include <dcp/raw_convert.h>
 #include <boost/lambda/lambda.hpp>
 
 #include "i18n.h"
@@ -37,7 +36,6 @@ using std::cout;
 using boost::shared_ptr;
 using boost::scoped_array;
 using boost::weak_ptr;
-using dcp::raw_convert;
 
 ServerFinder* ServerFinder::_instance = 0;
 
@@ -168,13 +166,13 @@ ServerFinder::handle_accept (boost::system::error_code ec, shared_ptr<Socket> so
        xml->read_string (s);
        
        string const ip = socket->socket().remote_endpoint().address().to_string ();
-       if (!server_found (ip)) {
+       if (!server_found (ip) && xml->optional_number_child<int>("Version").get_value_or (0) == SERVER_LINK_VERSION) {
                ServerDescription sd (ip, xml->number_child<int> ("Threads"));
                {
                        boost::mutex::scoped_lock lm (_mutex);
                        _servers.push_back (sd);
                }
-               ui_signaller->emit (boost::bind (boost::ref (ServerFound), sd));
+               emit (boost::bind (boost::ref (ServerFound), sd));
        }
 
        start_accept ();