---
name: "Lire::PluginManager"
section: "3pm"
platform: "linux"
package: "lire"
version: "2.1.1-8"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Lire::PluginManager"
---

# Lire::PluginManager(3pm)

Manages the Lire plugins.

## NAME

Lire::PluginManager - Manages the Lire plugins.

## SYNOPSIS

```
  use Lire::PluginManager;
  Lire::PluginManager->register_default_plugins();
  my $plugin = new MyDlfConverter();
  Lire::PluginManager->register_plugin( $plufin );
  my $plugins = Lire::PluginManager->plugins( 'dlf_analyser' );
  my $converter = Lire::PluginManager->get_plugin('dlf_analyser', 'combined');
```

## DESCRIPTION

All method can be called as class method on the Lire::PlugingManager module or on an instance.

### PLUGIN TYPES

There are four kind of plugins defined in Lire: dlf\_analyser, dlf\_converter, chart\_type and output\_format.

### instance()

Returns the singleton instance of the PluginManager

### plugin\_names( $type )

Returns an array reference containing the names of all registered plugin of type `$type`.

### plugins( $type )

Returns an array reference containing all the Plugin objects registerd for `$type`.

### has\_plugin( $type, $name )

Returns true if there is a Lire::Plugin named `$name` registered for type `$type`.

### get\_plugin( $type, $name )

Returns the Lire::Plugin object named `$name` of type `$type`. Croaks when there is no plugin registerd under that name.

### register\_plugin( $plugin )

Registers the Lire::Plugin `$plugin`. The type and name of the plugin are queried using the Lire::Plugin interface. An error will be thrown if there is already a plugin registered under the same name and type.

### unregister\_plugin( $type, $name )

Unregister the plugin `$name` of type `$type`. The method will dies if there is no such plugin.

### analysers\_by\_src( $schema )

Returns in an array reference all the analysers that declare `$schema` as their **src\_schema()**.

### analysers\_by\_dst( $schema )

Returns in an array reference all the analysers that declare `$schema` as their **dst\_schema()**.

### register\_default\_plugins()

This method will load and initialize all the plugins available. The plugins are registered by executing all the perl scripts found in the directories listed in the 'plugins\_init\_path' configuration variable.

These scripts should call Lire::PluginManager-\>**register\_plugin()** to register the plugins.

For compatibility with previous versions of Lire, it will also registers the DlfConverters initialized using older mechanism.

## SEE ALSO

[**Lire::Plugin**(3pm)](/Lire::Plugin/3pm.md), [**Lire::OutputFormat**(3pm)](/Lire::OutputFormat/3pm.md), [**Lire::DlfAnalyser**(3pm)](/Lire::DlfAnalyser/3pm.md), [**Lire::DlfConverter**(3pm)](/Lire::DlfConverter/3pm.md)

## AUTHOR

```
  Francis J. Lacoste <flacoste@logreport.org>
```

## VERSION

`$Id:` PluginManager.pm,v 1.8 2006/07/23 13:16:29 vanbaal Exp $

## COPYRIGHT

Copyright (C) 2004 Stichting LogReport Foundation LogReport@LogReport.org

This file is part of Lire.

Lire is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program (see COPYING); if not, check with http://www.gnu.org/copyleft/gpl.html.
