The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

FusionInventory::Agent::Storage - A data serializer/deserializer

SYNOPSIS

  my $storage = FusionInventory::Agent::Storage->new(
      directory => '/tmp'
  );
  my $data = $storage->restore(
      name => "foobar"
  );

  $data->{foo} = 'bar';

  $storage->save(
      name => "foobar",
      data => $data
  );

DESCRIPTION

This is the object used by the agent to ensure data persistancy between invocations.

The data structure is saved in a dedicated file. The file directory is a configuration parameter for each object.

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

data

The data to be saved (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 file name. The following parameters are allowed, as keys of the %params hash:

name

The file name used to save the data structure (mandatory).