NAME¶
FusionInventory::Agent::Storage - A data serializer/deserializer
SYNOPSIS¶
my $storage = FusionInventory::Agent::Storage->new(
directory => '/tmp'
);
my $data = $storage->restore(
module => "FusionInventory::Agent"
);
$data->{foo} = 'bar';
$storage->save(data => $data);
DESCRIPTION¶
This is the object used by the agent to ensure data persistancy between
invocations.
Each data structure is saved in a file, whose name is automatically determined
according to object class name. An optional index number can be used to
differentiate between consecutives usages.
METHODS¶
new(%params)¶
The constructor. The following parameters are allowed, as keys of the %params
hash:
- logger
- the logger object to use
- directory
- the directory to use for storing data (mandatory)
getDirectory¶
Returns the underlying directory for this storage.
has(%params)¶
Returns true if a saved data structure exists. The following arguments are
allowed:
- name
- The file name to use for saving the data structure
(mandatory).
save(%params)¶
Save given data structure. The following parameters are allowed, as keys of the
%params hash:
- name
- The file name to use for saving the data structure
(mandatory).
restore(%params)¶
Restore a saved data structure. The following parameters are allowed, as keys of
the %params hash:
- name
- The file name to use for saving the data structure
(mandatory).
remove(%params)¶
Delete the file containing a seralized data structure for a given module. The
following parameters are allowed, as keys of the %params hash:
- name
- The file name to use for saving the data structure
(mandatory).