NAME
App::Rsnapshot::Config::Node - a node in the config file
SYNOPSIS
You should never need to create one of these objects from scratch. It provides methods to get at information in the XML. eg, given this and a suitably setup App::Rsnapshot::Config object:
<rsnapshot>
<snapshotroot nocreateroot='1'>
/.snapshots/
</snapshotroot>
<externalprograms>
<rsync binary='/usr/bin/rsync'>
<shortargs>
<arg>-a</arg>
<arg>-q</arg>
</shortargs>
<longargs>
<arg>--delete</arg>
</longargs>
</rsync>
</externalprograms>
</rsnapshot>
then you can get all the information about rsync thus:
my $rsync = $config->externalprograms()->rsync();
my $rsyncbinary = $rsync->binary();
my $rsyncargs = [
$rsync->shortargs()->values(),
$srync->longargs()->values()
];
my $secondbackuppoint = $config->backuppoints()->backup(1);
my @backuppoints = $config->backuppoints()->backup('*');
DESCRIPTION
Provides access to all the nodes in an App::Rsnapshot::Config object.
METHODS
new
Constructor, that you should never have to use.
various created by AUTOLOAD
The methods (eg binary
, rsync
etc) in the synopsis above are created using AUTOLOAD. The AUTOLOADer first looks for an attribute with the appropriate name and if it exists, returns its contents.
If no such attribute is found, then it looks for a child node of the appropriate type. If no parameter is given, it returns the first one.
If a numeric parameter is given it returns the Nth such node - they are numbered from 0.
If the parameter is an asterisk (*
) then a list of all such nodes is returned.
Otherwise the node of the appropriate type whose ->name()
method matches is returned. It is an error to try this if there's no such method.
Nodes stringify to their contents if necessary, and can also be compared for string (in)equality. Note that when stringifying, leading and trailing whitespace is removed.
values
Returns a list of the string contents of all child nodes.
BUGS/WARNINGS/LIMITATIONS
None known
SOURCE CODE REPOSITORY
http://www.cantrell.org.uk/cgit/cgit.cgi/rsnapshot-ng/
AUTHOR, COPYRIGHT and LICENCE
Copyright 2009 David Cantrell <david@cantrell.org.uk>
This software is free-as-in-speech software, and may be used, distributed, and modified under the terms of either the GNU General Public Licence version 2 or the Artistic Licence. It's up to you which one you use. The full text of the licences can be found in the files GPL2.txt and ARTISTIC.txt, respectively.
CONSPIRACY
This module is also free-as-in-mason software.