summaryrefslogtreecommitdiff
path: root/cpp/demo/Freeze/phonebook/ServantFactory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/demo/Freeze/phonebook/ServantFactory.cpp')
-rw-r--r--cpp/demo/Freeze/phonebook/ServantFactory.cpp29
1 files changed, 27 insertions, 2 deletions
diff --git a/cpp/demo/Freeze/phonebook/ServantFactory.cpp b/cpp/demo/Freeze/phonebook/ServantFactory.cpp
index fc7e1d97a86..d00ff8098a5 100644
--- a/cpp/demo/Freeze/phonebook/ServantFactory.cpp
+++ b/cpp/demo/Freeze/phonebook/ServantFactory.cpp
@@ -12,15 +12,40 @@
using namespace std;
-ServantFactory::ServantFactory(const PhoneBookIPtr& phoneBook, const EvictorPtr& evictor) :
+PhoneBookFactory::PhoneBookFactory(const Ice::ObjectAdapterPtr& adapter, const EvictorPtr& evictor) :
+ _adapter(adapter),
+ _evictor(evictor)
+{
+}
+
+Ice::ObjectPtr
+PhoneBookFactory::create(const string& type)
+{
+ assert(type == "::PhoneBook");
+ return new PhoneBookI(_adapter, _evictor);
+}
+
+void
+PhoneBookFactory::destroy()
+{
+ // Nothing to do
+}
+
+EntryFactory::EntryFactory(const PhoneBookIPtr& phoneBook, const EvictorPtr& evictor) :
_phoneBook(phoneBook),
_evictor(evictor)
{
}
Ice::ObjectPtr
-ServantFactory::create(const string& type)
+EntryFactory::create(const string& type)
{
assert(type == "::Entry");
return new EntryI(_phoneBook, _evictor);
}
+
+void
+EntryFactory::destroy()
+{
+ // Nothing to do
+}