aboutsummaryrefslogtreecommitdiffstats
path: root/Category.pm
diff options
context:
space:
mode:
authorAngelo Naselli <anaselli@linux.it>2014-01-16 16:02:49 +0100
committerAngelo Naselli <anaselli@linux.it>2014-01-16 16:02:49 +0100
commitfed16eef71eacf5e06b7efb633e6cbf1e55f38f0 (patch)
tree04717956a7eca187aef30c4748c56338c9735ff9 /Category.pm
parent1f0a53f65d026d328f34714dd2d7b0ba254e1dad (diff)
downloadmanatools-fed16eef71eacf5e06b7efb633e6cbf1e55f38f0.tar
manatools-fed16eef71eacf5e06b7efb633e6cbf1e55f38f0.tar.gz
manatools-fed16eef71eacf5e06b7efb633e6cbf1e55f38f0.tar.bz2
manatools-fed16eef71eacf5e06b7efb633e6cbf1e55f38f0.tar.xz
manatools-fed16eef71eacf5e06b7efb633e6cbf1e55f38f0.zip
Added availability to instanziate once intead o many times
Fixed return Category (now is the one we left)
Diffstat (limited to 'Category.pm')
-rw-r--r--Category.pm19
1 files changed, 13 insertions, 6 deletions
diff --git a/Category.pm b/Category.pm
index 7191fabe..b43a4c1a 100644
--- a/Category.pm
+++ b/Category.pm
@@ -69,7 +69,7 @@ sub new {
sub loadModule {
my ($self, $module) = @_;
- if (!$self->moduleLoaded($module)) {
+ if (!$self->moduleLoaded($module->{name})) {
push ( @{$self->{modules}}, $module );
return 1;
@@ -83,8 +83,8 @@ sub loadModule {
=head3 INPUT
- $self: this object
- $module: module to look for
+ $self: this object
+ $module_name or -CLASS => name : module/CLASS name to look for
=head3 OUTPUT
@@ -98,15 +98,22 @@ sub loadModule {
#=============================================================
sub moduleLoaded {
- my ($self, $module) = @_;
+ my $self = shift;
+ my (%params) = @_;
+ my ($module_name) = @_;
+
my $present = 0;
- if (!$module) {
+ if (!$module_name) {
return $present;
}
foreach my $mod (@{$self->{modules}}) {
- if ($mod->{name} eq $module->name) {
+ if (exists $params{-CLASS} && ref($mod) eq $params{-CLASS}) {
+ $present = 1;
+ last;
+ }
+ elsif ($mod->{name} eq $module_name) {
$present = 1;
last;
}