Index: src/Fragmentation/Automation/Controller/Commands/CheckResultsOperation.cpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/CheckResultsOperation.cpp	(revision 167b63307c9c9cb05dd758fe1c2b80be02bdb4a2)
+++ src/Fragmentation/Automation/Controller/Commands/CheckResultsOperation.cpp	(revision d6fe761176eef8308b81d1ceb788fe4bf80e3d8d)
@@ -117,2 +117,7 @@
   disconnect();
 }
+
+void CheckResultsOperation::handle_connect(const boost::system::error_code& e,
+    boost::asio::ip::tcp::resolver::iterator endpoint_iterator)
+{}
+
Index: src/Fragmentation/Automation/Controller/Commands/CheckResultsOperation.hpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/CheckResultsOperation.hpp	(revision 167b63307c9c9cb05dd758fe1c2b80be02bdb4a2)
+++ src/Fragmentation/Automation/Controller/Commands/CheckResultsOperation.hpp	(revision d6fe761176eef8308b81d1ceb788fe4bf80e3d8d)
@@ -36,4 +36,8 @@
   virtual void operator()();
 
+  // virtual function pointer to the connection handler
+  virtual void handle_connect(const boost::system::error_code& e,
+      boost::asio::ip::tcp::resolver::iterator endpoint_iterator);
+
   /// Handle completion of a CheckResults operation.
   void handle_connect_check(const boost::system::error_code& e,
Index: src/Fragmentation/Automation/Controller/Commands/Operation.cpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/Operation.cpp	(revision 167b63307c9c9cb05dd758fe1c2b80be02bdb4a2)
+++ src/Fragmentation/Automation/Controller/Commands/Operation.cpp	(revision d6fe761176eef8308b81d1ceb788fe4bf80e3d8d)
@@ -96,2 +96,18 @@
 }
 
+void Operation::testfunction(const std::string& _host, const std::string& _service)
+{
+  Info info(__FUNCTION__);
+  // Resolve the host name into an IP address.
+  boost::asio::ip::tcp::resolver resolver(connection_.socket().get_io_service());
+  boost::asio::ip::tcp::resolver::query query(_host, _service);
+  boost::asio::ip::tcp::resolver::iterator endpoint_iterator =
+    resolver.resolve(query);
+  boost::asio::ip::tcp::endpoint endpoint = *endpoint_iterator;
+
+  // Start an asynchronous connect operation.
+  std::cout << "Connecting to endpoint " << endpoint << " ..." << std::endl;
+  connection_.socket().async_connect(endpoint,
+    boost::bind(&Operation::handle_connect, this,
+      boost::asio::placeholders::error, ++endpoint_iterator));
+}
Index: src/Fragmentation/Automation/Controller/Commands/Operation.hpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/Operation.hpp	(revision 167b63307c9c9cb05dd758fe1c2b80be02bdb4a2)
+++ src/Fragmentation/Automation/Controller/Commands/Operation.hpp	(revision d6fe761176eef8308b81d1ceb788fe4bf80e3d8d)
@@ -30,4 +30,10 @@
   // virtual function pointer to the operation to do
   virtual void operator()() = 0;
+
+  // virtual function pointer to the connection handler
+  virtual void handle_connect(const boost::system::error_code& e,
+      boost::asio::ip::tcp::resolver::iterator endpoint_iterator) = 0;
+
+  void testfunction(const std::string& _host, const std::string& _service);
 
   /// Handle completion of an operation.
Index: src/Fragmentation/Automation/Controller/Commands/ReceiveJobsOperation.cpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/ReceiveJobsOperation.cpp	(revision 167b63307c9c9cb05dd758fe1c2b80be02bdb4a2)
+++ src/Fragmentation/Automation/Controller/Commands/ReceiveJobsOperation.cpp	(revision d6fe761176eef8308b81d1ceb788fe4bf80e3d8d)
@@ -150,2 +150,7 @@
   disconnect();
 }
+
+void ReceiveJobsOperation::handle_connect(const boost::system::error_code& e,
+    boost::asio::ip::tcp::resolver::iterator endpoint_iterator)
+{}
+
Index: src/Fragmentation/Automation/Controller/Commands/ReceiveJobsOperation.hpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/ReceiveJobsOperation.hpp	(revision 167b63307c9c9cb05dd758fe1c2b80be02bdb4a2)
+++ src/Fragmentation/Automation/Controller/Commands/ReceiveJobsOperation.hpp	(revision d6fe761176eef8308b81d1ceb788fe4bf80e3d8d)
@@ -35,4 +35,8 @@
   virtual void operator()();
 
+  // virtual function pointer to the connection handler
+  virtual void handle_connect(const boost::system::error_code& e,
+      boost::asio::ip::tcp::resolver::iterator endpoint_iterator);
+
   /// Handle completion of a calculate operation.
   void handle_connect_calc(const boost::system::error_code& e,
Index: src/Fragmentation/Automation/Controller/Commands/SendResultsOperation.cpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/SendResultsOperation.cpp	(revision 167b63307c9c9cb05dd758fe1c2b80be02bdb4a2)
+++ src/Fragmentation/Automation/Controller/Commands/SendResultsOperation.cpp	(revision d6fe761176eef8308b81d1ceb788fe4bf80e3d8d)
@@ -148,2 +148,5 @@
 }
 
+void SendResultsOperation::handle_connect(const boost::system::error_code& e,
+    boost::asio::ip::tcp::resolver::iterator endpoint_iterator)
+{}
Index: src/Fragmentation/Automation/Controller/Commands/SendResultsOperation.hpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/SendResultsOperation.hpp	(revision 167b63307c9c9cb05dd758fe1c2b80be02bdb4a2)
+++ src/Fragmentation/Automation/Controller/Commands/SendResultsOperation.hpp	(revision d6fe761176eef8308b81d1ceb788fe4bf80e3d8d)
@@ -35,4 +35,8 @@
   virtual void operator()();
 
+  // virtual function pointer to the connection handler
+  virtual void handle_connect(const boost::system::error_code& e,
+      boost::asio::ip::tcp::resolver::iterator endpoint_iterator);
+
   /// Handle completion of a GetResults operation.
   void handle_connect_get(const boost::system::error_code& e,
Index: src/Fragmentation/Automation/Controller/Commands/ShutdownOperation.cpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/ShutdownOperation.cpp	(revision 167b63307c9c9cb05dd758fe1c2b80be02bdb4a2)
+++ src/Fragmentation/Automation/Controller/Commands/ShutdownOperation.cpp	(revision d6fe761176eef8308b81d1ceb788fe4bf80e3d8d)
@@ -94,2 +94,5 @@
 }
 
+void ShutdownOperation::handle_connect(const boost::system::error_code& e,
+    boost::asio::ip::tcp::resolver::iterator endpoint_iterator)
+{}
Index: src/Fragmentation/Automation/Controller/Commands/ShutdownOperation.hpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/ShutdownOperation.hpp	(revision 167b63307c9c9cb05dd758fe1c2b80be02bdb4a2)
+++ src/Fragmentation/Automation/Controller/Commands/ShutdownOperation.hpp	(revision d6fe761176eef8308b81d1ceb788fe4bf80e3d8d)
@@ -34,4 +34,8 @@
   virtual void operator()();
 
+  // virtual function pointer to the connection handler
+  virtual void handle_connect(const boost::system::error_code& e,
+      boost::asio::ip::tcp::resolver::iterator endpoint_iterator);
+
   /// Handle completion of a Shutdown operation.
   void handle_connect_shutdown(const boost::system::error_code& e,
