1 # (c) 2007 by Ralf Ertzinger <ralf@camperquake.de>
2 # licensed under GNU GPL v2
12 my $self = {'_DEBUG' => 0};
16 $self->_prepare_parameters();
25 $t = sprintf(shift(@_), @_);
34 $data[0] = "DEBUG: " . $data[0];
35 if ($self->{'_DEBUG'} != 0) {$self->error(@data)};
43 return $self->{'_CONFIG'} unless defined($c);
45 foreach $o (keys(%{$c->{'option'}})) {
46 if (exists($self->{'_CONFIG'}->{'option'}->{$o})) {
47 $self->{'_CONFIG'}->{'option'}->{$o}->{'content'} = $c->{'option'}->{$o}->{'content'};
51 return $self->{'_CONFIG'};
54 sub _prepare_parameters {
58 $self->{'_CONFIG'} = {'option' => {}};
60 foreach $p (keys(%{$self->{'_PARAMS'}})) {
61 $self->{'_CONFIG'}->{'option'}->{$p}->{'content'} = $self->{'_PARAMS'}->{$p}->[0];
70 $val = $self->{'_CONFIG'}->{'option'}->{$key}->{'content'};
71 $self->debug('Returning %s=%s', $key, $val);
81 if (exists($self->{'_CONFIG'}->{'option'}->{$key})) {
82 $self->{'_CONFIG'}->{'option'}->{$key}->{'content'} = $val;
84 $self->error('Module %s does not have a parameter named %s', $self->{'NAME'}, $key);
90 my $s = 'Options for ' . $self->{'NAME'} . ":\n";
94 foreach $k (keys(%{$self->{'_CONFIG'}->{'option'}})) {
95 $p = $self->{'_CONFIG'}->{'option'}->{$k}->{'content'};
97 $s .= sprintf(" %s: %s", $k, $p);
98 if ($self->{'_CONFIG'}->{'option'}->{$k}->{'content'} eq $self->{'_PARAMS'}->{$k}->[0]) {
110 my $s = 'Help for ' . $self->{'NAME'} . ":\n";
114 if (exists($self->{'DESC'})) {
115 $s .= "Description:\n " . $self->{'DESC'};
119 foreach $k (keys(%{$self->{'_CONFIG'}->{'option'}})) {
120 $p = $self->{'_PARAMS'}->{$k}->[0];
122 $s .= sprintf(" %s: %s (default: %s)\n", $k, $self->{'_PARAMS'}->{$k}->[1], $p);
131 $self->{'_DEBUG'} = shift;