NAME

App::ClusterSSH::Base - Base object provding utility functions

SYNOPSIS

use base qw/ App::ClusterSSH::Base /;

# in object new method
sub new {
    ( $class, $arg_ref ) = @_;
    my $self = $class->SUPER::new($arg_ref);
    return $self;
}

DESCRIPTION

Base object to provide some utility functions on objects - should not be used directly

METHODS

These extra methods are provided on the object

$obj = App::ClusterSSH::Base->new({ arg => val, });

Creates object. In higher debug levels the args are printed out.

$obj->id

Return the unique id of the object for use in subclasses, such as

$info_for{ $self->id } = $info
$obj->debug_level();

Returns current debug level

$obj->set_debug_level( n )

Set debug level to 'n' for all child objects.

$obj->debug($level, @text)

Output @text on STDOUT if $level is the same or lower that debug_level

$obj->set_lang

Set the Locale::Maketext language. Defaults to 'en'. Expects the App::ClusterSSH/L10N/{lang}.pm module to exist and contain all relevant translations, else defaults to English.

$obj->loc('text to translate [_1]')

Using the App::ClusterSSH/L10N/{lang}.pm module convert the given text to appropriate language. See App::ClusterSSH::L10N for more details. Essentially a wrapper to maketext in Locale::Maketext

$obj->output(@);

Output text on STDOUT.

$obj->exit;

Stub to allow program to exit neatly from wherever in the code

$config = $obj->config;

Returns whatever configuration object has been set up. Croaks if set_config hasnt been called

$obj->set_config($config);

Set the config to the given value - croaks if has already been called

%results = $obj->load_file( filename => '/path/to/file', type => '(cluster|config}' )

Load in the specified file and return a hash, parsing the file depending on wther it is a config file (key = value) or cluster file (key value)

AUTHOR

Duncan Ferguson, <duncan_j_ferguson at yahoo.co.uk>

LICENSE AND COPYRIGHT

Copyright 1999-2010 Duncan Ferguson.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.