summaryrefslogtreecommitdiff
path: root/cpp/test/Ice/objects/Collocated.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/test/Ice/objects/Collocated.cpp')
-rw-r--r--cpp/test/Ice/objects/Collocated.cpp33
1 files changed, 28 insertions, 5 deletions
diff --git a/cpp/test/Ice/objects/Collocated.cpp b/cpp/test/Ice/objects/Collocated.cpp
index 781c216a855..0d2f8562fa9 100644
--- a/cpp/test/Ice/objects/Collocated.cpp
+++ b/cpp/test/Ice/objects/Collocated.cpp
@@ -16,6 +16,16 @@ DEFINE_TEST("collocated")
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,17 +98,19 @@ run(int, char**, const Ice::CommunicatorPtr& communicator)
communicator->addObjectFactory(factory, "::Test::I");
communicator->addObjectFactory(factory, "::Test::J");
communicator->addObjectFactory(factory, "::Test::H");
+#endif
communicator->getProperties()->setProperty("TestAdapter.Endpoints", "default -p 12010");
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
- InitialPtr initial = new InitialI(adapter);
- adapter->add(initial, communicator->stringToIdentity("initial"));
+ adapter->add(ICE_MAKE_SHARED(InitialI, adapter), communicator->stringToIdentity("initial"));
+#ifndef ICE_CPP11_MAPPING
UnexpectedObjectExceptionTestIPtr uoet = new UnexpectedObjectExceptionTestI;
adapter->add(uoet, communicator->stringToIdentity("uoet"));
- InitialPrx allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
+#endif
+ InitialPrxPtr allTests(const Ice::CommunicatorPtr&);
+ InitialPrxPtr initial = allTests(communicator);
// We must call shutdown even in the collocated case for cyclic dependency cleanup
- initial->shutdown(Ice::Current());
+ initial->shutdown();
return EXIT_SUCCESS;
}