summaryrefslogtreecommitdiff
path: root/cpp/test/Ice/objects/Client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/test/Ice/objects/Client.cpp')
-rw-r--r--cpp/test/Ice/objects/Client.cpp26
1 files changed, 24 insertions, 2 deletions
diff --git a/cpp/test/Ice/objects/Client.cpp b/cpp/test/Ice/objects/Client.cpp
index 303d79031af..471f63de90e 100644
--- a/cpp/test/Ice/objects/Client.cpp
+++ b/cpp/test/Ice/objects/Client.cpp
@@ -16,6 +16,16 @@ DEFINE_TEST("client")
using namespace std;
using namespace Test;
+#ifdef ICE_CPP11_MAPPING
+template<typename T>
+function<shared_ptr<T>(const string&)> makeFactory()
+{
+ return [](const string&)
+ {
+ return make_shared<T>();
+ };
+}
+#else
class MyObjectFactory : public Ice::ObjectFactory
{
public:
@@ -64,10 +74,21 @@ public:
// Nothing to do
}
};
+#endif
int
run(int, char**, const Ice::CommunicatorPtr& communicator)
{
+#ifdef ICE_CPP11_MAPPING
+ communicator->addObjectFactory(makeFactory<BI>(), "::Test::B");
+ communicator->addObjectFactory(makeFactory<CI>(), "::Test::C");
+ communicator->addObjectFactory(makeFactory<DI>(), "::Test::D");
+ communicator->addObjectFactory(makeFactory<EI>(), "::Test::E");
+ communicator->addObjectFactory(makeFactory<FI>(), "::Test::F");
+ communicator->addObjectFactory(makeFactory<II>(), "::Test::I");
+ communicator->addObjectFactory(makeFactory<JI>(), "::Test::J");
+ communicator->addObjectFactory(makeFactory<HI>(), "::Test::H");
+#else
Ice::ObjectFactoryPtr factory = new MyObjectFactory;
communicator->addObjectFactory(factory, "::Test::B");
communicator->addObjectFactory(factory, "::Test::C");
@@ -77,9 +98,10 @@ run(int, char**, const Ice::CommunicatorPtr& communicator)
communicator->addObjectFactory(factory, "::Test::I");
communicator->addObjectFactory(factory, "::Test::J");
communicator->addObjectFactory(factory, "::Test::H");
+#endif
- InitialPrx allTests(const Ice::CommunicatorPtr&);
- InitialPrx initial = allTests(communicator);
+ InitialPrxPtr allTests(const Ice::CommunicatorPtr&);
+ InitialPrxPtr initial = allTests(communicator);
initial->shutdown();
return EXIT_SUCCESS;
}