diff options
Diffstat (limited to 'cpp/demo/Freeze/phonebook/ServantFactory.cpp')
-rw-r--r-- | cpp/demo/Freeze/phonebook/ServantFactory.cpp | 29 |
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 +} |