summaryrefslogtreecommitdiff
path: root/cpp/test/Ice/dispatcher/Client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/test/Ice/dispatcher/Client.cpp')
-rw-r--r--cpp/test/Ice/dispatcher/Client.cpp35
1 files changed, 9 insertions, 26 deletions
diff --git a/cpp/test/Ice/dispatcher/Client.cpp b/cpp/test/Ice/dispatcher/Client.cpp
index 8a1c817629e..63bfa5d2a13 100644
--- a/cpp/test/Ice/dispatcher/Client.cpp
+++ b/cpp/test/Ice/dispatcher/Client.cpp
@@ -31,12 +31,9 @@ main(int argc, char* argv[])
Ice::registerIceSSL();
#endif
int status;
- Ice::CommunicatorPtr communicator;
-
try
{
- Ice::InitializationData initData;
- initData.properties = Ice::createProperties(argc, argv);
+ Ice::InitializationData initData = getTestInitData(argc, argv);
//
// Limit the send buffer size, this test relies on the socket
@@ -44,37 +41,23 @@ main(int argc, char* argv[])
//
initData.properties->setProperty("Ice.TCP.SndSize", "50000");
-#ifdef ICE_CPP11
- Ice::DispatcherPtr dispatcher = new Dispatcher();
- initData.dispatcher = Ice::newDispatcher(
- [=](const Ice::DispatcherCallPtr& call, const Ice::ConnectionPtr& conn)
- {
- dispatcher->dispatch(call, conn);
- });
+#ifdef ICE_CPP11_MAPPING
+ IceUtil::Handle<Dispatcher> dispatcher = new Dispatcher;
+ initData.dispatcher = [=](function<void()> call, const shared_ptr<Ice::Connection>& conn)
+ {
+ dispatcher->dispatch(make_shared<DispatcherCall>(call), conn);
+ };
#else
initData.dispatcher = new Dispatcher();
#endif
- communicator = Ice::initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
+ Ice::CommunicatorHolder ich = Ice::initialize(argc, argv, initData);
+ status = run(argc, argv, ich.communicator());
}
catch(const Ice::Exception& ex)
{
cerr << ex << endl;
status = EXIT_FAILURE;
}
-
- if(communicator)
- {
- try
- {
- communicator->destroy();
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
- }
Dispatcher::terminate();
return status;
}