/usr/local/CPAN/HTML-WebDAO/HTML/WebDAO/Store/Storable.pm


#$Id: Storable.pm 97 2007-06-17 13:18:56Z zag $

package HTML::WebDAO::Store::Storable;
use Storable qw(lock_nstore lock_retrieve);
use HTML::WebDAO::Store::MLDBM;
use strict 'vars';
use base 'HTML::WebDAO::Store::MLDBM';

sub load {
    my $self =shift;
    my $id = shift || return {};
    my $db_file = $self->_dir()."sess_$id.sdb";
    return {} unless -e $db_file;
    return lock_retrieve($db_file);
}

sub store {
    my $self =shift;
    my $id = shift || return {};
    my $ref_tree = shift;
    return unless $ref_tree && ref($ref_tree);
    my $db_file = $self->_dir()."sess_$id.sdb";
    lock_nstore($ref_tree,$db_file);
    return $id;
}
1;