Ice 3.7 C++11 API Reference
Loading...
Searching...
No Matches
Ice::PluginManager Class Referenceabstract

Each communicator has a plug-in manager to administer the set of plug-ins. More...

#include <Ice/Ice.h>

Public Member Functions

virtual void addPlugin (const ::std::string &name, const ::std::shared_ptr< Plugin > &pi)=0
 Install a new plug-in.
virtual void destroy () noexcept=0
 Called when the communicator is being destroyed.
virtual ::std::shared_ptr<::Ice::PlugingetPlugin (const ::std::string &name)=0
 Obtain a plug-in by name.
virtual::Ice::StringSeq getPlugins () noexcept=0
 Get a list of plugins installed.
virtual void initializePlugins ()=0
 Initialize the configured plug-ins.
virtual ~PluginManager ()

Detailed Description

Each communicator has a plug-in manager to administer the set of plug-ins.

Constructor & Destructor Documentation

◆ ~PluginManager()

virtual Ice::PluginManager::~PluginManager ( )
virtual

Member Function Documentation

◆ addPlugin()

virtual void Ice::PluginManager::addPlugin ( const ::std::string & name,
const ::std::shared_ptr< Plugin > & pi )
pure virtual

Install a new plug-in.

Parameters
nameThe plug-in's name.
piThe plug-in.
Exceptions
AlreadyRegisteredExceptionRaised if a plug-in already exists with the given name.

◆ destroy()

virtual void Ice::PluginManager::destroy ( )
pure virtualnoexcept

Called when the communicator is being destroyed.

◆ getPlugin()

virtual ::std::shared_ptr<::Ice::Plugin > Ice::PluginManager::getPlugin ( const ::std::string & name)
pure virtual

Obtain a plug-in by name.

Parameters
nameThe plug-in's name.
Returns
The plug-in.
Exceptions
NotRegisteredExceptionRaised if no plug-in is found with the given name.

◆ getPlugins()

virtual::Ice::StringSeq Ice::PluginManager::getPlugins ( )
pure virtualnoexcept

Get a list of plugins installed.

Returns
The names of the plugins installed.
See also
getPlugin

◆ initializePlugins()

virtual void Ice::PluginManager::initializePlugins ( )
pure virtual

Initialize the configured plug-ins.

The communicator automatically initializes the plug-ins by default, but an application may need to interact directly with a plug-in prior to initialization. In this case, the application must set Ice.InitPlugins=0 and then invoke initializePlugins manually. The plug-ins are initialized in the order in which they are loaded. If a plug-in raises an exception during initialization, the communicator invokes destroy on the plug-ins that have already been initialized.

Exceptions
InitializationExceptionRaised if the plug-ins have already been initialized.

The documentation for this class was generated from the following file: