PluginManager(3pm)

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::OutputFormat(3pm), Lire::DlfAnalyser(3pm), Lire::DlfConverter(3pm)

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.