summaryrefslogtreecommitdiff
path: root/python/modules/IcePy/ObjectFactory.h
diff options
context:
space:
mode:
authorJoe George <joe@zeroc.com>2015-12-08 11:33:42 -0500
committerJoe George <joe@zeroc.com>2015-12-08 16:09:24 -0500
commit6a43686ce26de5d2d5edf4a485ecff3a242c26b6 (patch)
treed31e4f16dc9ed6e28056a7224e045a4638955f5e /python/modules/IcePy/ObjectFactory.h
parentC++11 mapping IceDiscovery plug-in (diff)
downloadice-6a43686ce26de5d2d5edf4a485ecff3a242c26b6.tar.bz2
ice-6a43686ce26de5d2d5edf4a485ecff3a242c26b6.tar.xz
ice-6a43686ce26de5d2d5edf4a485ecff3a242c26b6.zip
ICE-6908 - Add ValueFactory
ValueFactory is a replacement for ObjectFactory (which is still available if needed). It is an interface with only one operation and can has the "delegate" metadata.
Diffstat (limited to 'python/modules/IcePy/ObjectFactory.h')
-rw-r--r--python/modules/IcePy/ObjectFactory.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/python/modules/IcePy/ObjectFactory.h b/python/modules/IcePy/ObjectFactory.h
index 8445996b330..57b93352bdd 100644
--- a/python/modules/IcePy/ObjectFactory.h
+++ b/python/modules/IcePy/ObjectFactory.h
@@ -34,14 +34,17 @@ public:
virtual void destroy();
- bool add(PyObject*, const std::string&);
- bool remove(const std::string&);
- PyObject* find(const std::string&);
+ bool addValueFactory(PyObject*, const std::string&);
+ bool addObjectFactory(PyObject*, const std::string&);
+
+ PyObject* findValueFactory(const std::string&);
+ PyObject* findObjectFactory(const std::string&);
private:
typedef std::map<std::string, PyObject*> FactoryMap;
- FactoryMap _factoryMap;
+ FactoryMap _valueFactoryMap;
+ FactoryMap _objectFactoryMap;
};
typedef IceUtil::Handle<ObjectFactory> ObjectFactoryPtr;