Apache2-PageKit

 view release on metacpan or  search on metacpan

lib/Apache2/PageKit/Session.pm  view on Meta::CPAN

    
    if (!$self -> {'status'})
	{
	$self->{data} = {} ;
        $self->{serialized} = undef ;
	return ;
	}

    $self->save;
    eval { $self -> {object_store} -> close } ; # Try to close file storage 
    $@ = "" ;
    $self->release_all_locks;

    $self->{'status'} = 0 ;
    $self->{data} = {} ;
    $self->{serialized} = undef ;
    }


sub setid {
    my $self = shift;

    $self->{'status'} = 0 ;
    $self->{data}->{_session_id} = shift ;
}

sub getid {
    my $self = shift;

    return $self->{data}->{_session_id} ;
}

sub delete {
    my $self = shift;
    
    return if ($self->{status} & NEW);
    
    $self -> init if (!$self -> {'status'}) ;

    $self->{status} |= DELETED;
    $self->save;
}    

#
# For Apache::Session >= 1.50
#

sub populate 
    {
    my $self = shift;

    my $store = $self->{args}->{Store};
    my $lock  = $self->{args}->{Lock};
    my $gen   = $self->{args}->{Generate};
    my $ser   = $self->{args}->{Serialize};


    $self->{object_store} = new $store $self if ($store) ;
    $self->{lock_manager} = new $lock $self if ($lock);
    $self->{generate}     = \&{$gen . '::generate'} if ($gen);
    $self->{validate}     = \&{$gen . '::validate'} if ($gen);
    $self->{serialize}    = \&{$ser . '::serialize'} if ($ser);
    $self->{unserialize}  = \&{$ser . '::unserialize'} if ($ser) ;

    return $self;
    }



1 ;



( run in 1.029 second using v1.01-cache-2.11-cpan-39bf76dae61 )