diff options
Diffstat (limited to 'cpp/src/Ice/PluginManagerI.h')
-rw-r--r-- | cpp/src/Ice/PluginManagerI.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/cpp/src/Ice/PluginManagerI.h b/cpp/src/Ice/PluginManagerI.h index ecb73fa3a43..a7b7578ebaa 100644 --- a/cpp/src/Ice/PluginManagerI.h +++ b/cpp/src/Ice/PluginManagerI.h @@ -41,17 +41,25 @@ private: PluginManagerI(const CommunicatorPtr&, const IceInternal::DynamicLibraryListPtr&); friend class IceInternal::Instance; - friend void IceInternal::loadPlugin(const Ice::CommunicatorPtr&, const std::string&, const std::string&, + friend void IceInternal::loadPlugin(const Ice::CommunicatorPtr&, const std::string&, const std::string&, Ice::StringSeq&); void loadPlugins(int&, char*[]); void loadPlugin(const std::string&, const std::string&, StringSeq&); + PluginPtr findPlugin(const std::string&) const; + CommunicatorPtr _communicator; IceInternal::DynamicLibraryListPtr _libraries; - std::map<std::string, PluginPtr> _plugins; - std::vector<PluginPtr> _initOrder; + struct PluginInfo + { + std::string name; + PluginPtr plugin; + }; + typedef std::vector<PluginInfo> PluginInfoList; + + PluginInfoList _plugins; bool _initialized; static const char * const _kindOfObject; }; |