/usr/local/CPAN/EvilBoss/EvilBoss/Config.pm


#!/usr/bin/perl

#  EvilBoss-api - API for creating FTN-tools
#
#  (EB)Config.pm - read EvilBoss configuration file
#
#  Copyright (c) 2004-2005 Alex Soukhotine, 2:5030/1157
#	
#  This program 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.
#
#  $Id$

package EvilBoss::Config;

require Exporter;

use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);

$VERSION = 1.01;

@ISA=qw(Exporter);
#@EXPORT = qw(&f1 &f3 &name);
%EXPORT_TAGS=();

#@EXPORT_OK = qw(&name);

$ConfigFile="/etc/ftn/evilboss.conf";

sub new
{
 my $classname = shift;
 my $self = {};
 bless($self,$classname);
 $self->_init(@_);
 return $self;
}

sub DESTROY
{
 my $self = shift;
}

sub _init
{
 my $self = shift;

 $ConfigFile=$_[0] if (@_);

 if (open(EBCONF,"<$ConfigFile"))
 {
  while(<EBCONF>)
  {
   if (/^\s*(\w+)\s+([\w\d:\/\., -]+)\#*/)
   {
    if (!$self->{$1})
    { 
     $self->{$1}=$2;
    }
    else
    {
     my @tmp=$1;
     push(@tmp,$self->{$1});
     push(@tmp,$2);
     $self->{$1}=@tmp;
    }   
   }
  }
  close(EBCONF);
 }
}

sub check
{
 my $self = shift;
 for ($i=0;$_[$i];$i++)
 {
  return 0 if (!$self->{$_[$i]});
 }
 return 1;
}


1;