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.cpp63
1 files changed, 43 insertions, 20 deletions
diff --git a/cpp/test/Ice/objects/Client.cpp b/cpp/test/Ice/objects/Client.cpp
index 471f63de90e..cf1e60c1993 100644
--- a/cpp/test/Ice/objects/Client.cpp
+++ b/cpp/test/Ice/objects/Client.cpp
@@ -26,7 +26,7 @@ function<shared_ptr<T>(const string&)> makeFactory()
};
}
#else
-class MyObjectFactory : public Ice::ObjectFactory
+class MyValueFactory : public Ice::ValueFactory
{
public:
@@ -69,35 +69,58 @@ public:
return 0;
}
+};
+#endif
+class MyObjectFactory : public Ice::ObjectFactory
+{
+public:
+ MyObjectFactory() : _destroyed(false)
+ {
+ }
+
+ ~MyObjectFactory()
+ {
+ assert(_destroyed);
+ }
+
+ virtual Ice::ValuePtr create(const string& type)
+ {
+ return ICE_NULLPTR;
+ }
+
virtual void destroy()
{
- // Nothing to do
+ _destroyed = true;
}
+
+private:
+ bool _destroyed;
};
-#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");
+ communicator->addValueFactory(makeFactory<BI>(), "::Test::B");
+ communicator->addValueFactory(makeFactory<CI>(), "::Test::C");
+ communicator->addValueFactory(makeFactory<DI>(), "::Test::D");
+ communicator->addValueFactory(makeFactory<EI>(), "::Test::E");
+ communicator->addValueFactory(makeFactory<FI>(), "::Test::F");
+ communicator->addValueFactory(makeFactory<II>(), "::Test::I");
+ communicator->addValueFactory(makeFactory<JI>(), "::Test::J");
+ communicator->addValueFactory(makeFactory<HI>(), "::Test::H");
+ communicator->addObjectFactory(make_shared<MyObjectFactory>(), "TestOF");
#else
- Ice::ObjectFactoryPtr factory = new MyObjectFactory;
- communicator->addObjectFactory(factory, "::Test::B");
- communicator->addObjectFactory(factory, "::Test::C");
- communicator->addObjectFactory(factory, "::Test::D");
- communicator->addObjectFactory(factory, "::Test::E");
- communicator->addObjectFactory(factory, "::Test::F");
- communicator->addObjectFactory(factory, "::Test::I");
- communicator->addObjectFactory(factory, "::Test::J");
- communicator->addObjectFactory(factory, "::Test::H");
+ Ice::ValueFactoryPtr factory = new MyValueFactory;
+ communicator->addValueFactory(factory, "::Test::B");
+ communicator->addValueFactory(factory, "::Test::C");
+ communicator->addValueFactory(factory, "::Test::D");
+ communicator->addValueFactory(factory, "::Test::E");
+ communicator->addValueFactory(factory, "::Test::F");
+ communicator->addValueFactory(factory, "::Test::I");
+ communicator->addValueFactory(factory, "::Test::J");
+ communicator->addValueFactory(factory, "::Test::H");
+ communicator->addObjectFactory(new MyObjectFactory(), "TestOF");
#endif
InitialPrxPtr allTests(const Ice::CommunicatorPtr&);