Config(3pm)

NAME
Lire::Config - import Lire configuration variables to perl

SYNOPSIS
 use Lire::Config;

 Lire::Config->init();

 my $cfg->value = Lire::Config->get( 'lr_schemas_path' );

 my $var = Lire::Config->get_var( 'lr_schemas_path' );

DESCRIPTION
This package provides the API to access the Lire configuration.

METHODS
These methods can be called directly on a Lire::Config instance or the Lire::Config package itself. In the last case, it is the same thing as calling the method on the object returned by the instance() method.

  instance()
Returns the singleton Lire::Config object from which configuration can be queried.

  config_spec()
Returns the configuration specification used by the current configuration.

  config_spec_path()
Returns a list of directories which will be searched for configuration specification file. By default, configuration specifications are only looked for in <datadir/lire/config-spec>.

  add_config_spec_path_dir( $dir )
This method adds a directory to list of directories that will is used to search for configuration specification files.

  del_config_spec_path_dir( $dir )
This method removes a directory from the list of directories that is used to search for configuration specification files.

  config_files()
Returns the list of configuration files that will be used for this configuration.

  add_config_path( $path )
Adds configuration files to the list of files that are part of the configuration. Directories will be scanned recursively.

  add_config_file( $file )
Adds a configuration file to the list of files that will be parsed to initialize the configuration.

  del_config_file( $file )
Removes a configuration file from the list of files that are part of the configuration.

  get_config_file($file)
Get a parsed configuration file object from the list of files.

  init()
This method loads and parses the configuration files. It should be called prior to using the get() method to obtain configuration data. This method will throw an exception in case there is an invalid parameter in the configuration.

  get( $varname )
Returns the configuration value for the $varname configuration variable. init() should have been called to load the configuration data before using this method. It will croak() otherwise. If the $varname is unknown, an exception will also be thrown.

  get_var( $varname )
Returns the configuration value for the $varname configuration variable as the configuration object. init() should have been called to load the configuration data before using this method. It will croak() otherwise. If the $varname is unknown, an exception will also be thrown.

DEBUGGING
One can call this module direct from the commandline, e.g. for debugging purposes, by doing something like:

 perl -e 'use lib "/path/to/your/share/perl5"; use Lire::Config; \
  use Lire::Program; print Lire::Config->get( "lr_mail_from" ), "\n"'

or

 perl -e 'use Lire::Config; use Lire::Program; \
  $a = Lire::Config->get( lr_converters_init_path );  print "@$a\n"; '

.

SEE ALSO
Lire::Config::TypeSpec(3pm), Lire::Config::Value(3pm)

AUTHORS
Wessel Dankers <wsl@logreport.org> Francis J. Lacoste <flacoste@logreport.org> Joost van Baal <joostvb@logreport.org>

VERSION
$Id: Config.pm,v 1.47 2006/07/23 13:16:28 vanbaal Exp $

COPYRIGHT
Copyright (C) 2001-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.