FusionInventory::Agent::Storage(3)

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).