summaryrefslogtreecommitdiff
path: root/lib/XXV/OUTPUT/Dump.pm
blob: 7f143efeb1a49b89e46a024719226ab88f9d7748 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package XXV::OUTPUT::Dump;

use strict;

use vars qw($AUTOLOAD);
use Tools;

# This module method must exist for XXV
# ------------------
sub module {
# ------------------
    my $obj = shift || return error('No object defined!');
    my $args = {
        Name => 'Dump',
        Prereq => {
        },
        Description => gettext('This receives and sends dump messages.')
    };
    return $args;
}
# ------------------
sub AUTOLOAD {
# ------------------
    my $obj = shift || return error('No object defined!');

    return if($AUTOLOAD =~ /DESTROY$/);
dumper(\@_);
    return @_;
}

# ------------------
sub new {
# ------------------
	my($class, %attr) = @_;
	my $self = {};
	bless($self, $class);

	# who am I
    $self->{MOD} = $self->module;

    # Try to use the Requirments
    map {
        eval "use $_";
        if($@) {
          my $m = (split(/ /, $_))[0];
          return panic("\nCouldn't load perl module: $m\nPlease install this module on your system:\nperl -MCPAN -e 'install $m'");
        }
    } keys %{$self->{MOD}->{Prereq}};

    $self->{TYP} = 'INTERFACE';

	return $self;
}

# ------------------
sub typ {
# ------------------
    my $obj = shift || return error('No object defined!');
    return $obj->{TYP};
}

1;