Ice Reference Documentation
<<< Previous | Slice Documentation | Next >>>

# `Ice::PluginManager`

## Overview

    local interface PluginManager

Each communicator has a plugin manager to administer the set of plugins.

### Used By

`Communicator::getPluginManager`

### Operation Index

`initializePlugins`

  Initialize the configured plugins.

`getPlugin`

  Obtain a plugin by name.

`addPlugin`

  Install a new plugin.

`destroy`

  Called when the communicator is being destroyed.

## `initializePlugins`

    void initializePlugins();

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

### Exceptions

`InitializationException`

  Raised if the plugins have already been initialized.

## `getPlugin`

    Plugin getPlugin(string name);

Obtain a plugin by name.

### Parameters

`name`

  The plugin's name.

### Return Value

The plugin.

### Exceptions

`NotRegisteredException`

  Raised if no plugin is found with the given name.

## `addPlugin`

    void addPlugin(string name,
        Plugin pi);

Install a new plugin.

### Parameters

`name`

  The plugin's name.

`pi`

  The plugin.

### Exceptions

`AlreadyRegisteredException`

  Raised if a plugin already exists with the given name.

## `destroy`

    void destroy();

Called when the communicator is being destroyed.

<<< Previous | Home | Next >>>
`Ice::PluginInitializationException` | Up | `Ice::Process`