/[cwmp]/google/trunk/lib/CWMP/Store.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /google/trunk/lib/CWMP/Store.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 79 - (hide annotations)
Fri Jun 22 14:32:13 2007 UTC (17 years ago) by dpavlin
Original Path: google/lib/CWMP/Store.pm
File size: 993 byte(s)
added store->update_state and use it
1 dpavlin 77 # Dobrica Pavlinusic, <dpavlin@rot13.org> 06/22/07 14:35:38 CEST
2     package CWMP::Store;
3    
4     use strict;
5     use warnings;
6    
7    
8     use base qw/Class::Accessor/;
9     __PACKAGE__->mk_accessors( qw/
10     debug
11     path
12    
13 dpavlin 79 db
14 dpavlin 77 / );
15    
16 dpavlin 79 use Carp qw/confess/;
17 dpavlin 77 use Data::Dump qw/dump/;
18     use DBM::Deep;
19    
20     =head1 NAME
21    
22     CWMP::Store - parsist CPE state on disk
23    
24     =head1 METHODS
25    
26     =head2 new
27    
28     my $store = CWMP::Store->new({
29     path => '/path/to/state.db',
30     debug => 1,
31     });
32    
33     =cut
34    
35     sub new {
36     my $class = shift;
37     my $self = $class->SUPER::new( @_ );
38    
39     warn "created ", __PACKAGE__, "(", dump( @_ ), ") object\n" if $self->debug;
40    
41 dpavlin 79 $self->db(
42 dpavlin 77 DBM::Deep->new(
43     file => $self->path,
44     locking => 1,
45     autoflush => 1,
46     )
47     );
48    
49     return $self;
50     }
51    
52 dpavlin 79 =head2 update_state
53 dpavlin 77
54 dpavlin 79 $store->update_state( $ID, $state );
55    
56     =cut
57    
58     sub update_state {
59     my $self = shift;
60    
61     my ( $ID, $state ) = @_;
62    
63     confess "need ID" unless $ID;
64     confess "need state" unless $state;
65    
66     warn "## update state of $ID\n" if $self->debug;
67    
68     $self->db->import( $ID => $state );
69     }
70 dpavlin 77 1;

  ViewVC Help
Powered by ViewVC 1.1.26