/[libconf]/libconf/perl-Libconf/Glueconf/Shell.pm
ViewVC logotype

Diff of /libconf/perl-Libconf/Glueconf/Shell.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.7 by dams, Mon Oct 20 12:55:21 2003 UTC revision 1.8 by tv, Thu Nov 27 10:23:46 2003 UTC
# Line 36  sub new { Line 36  sub new {
36    
37  sub readConf {  sub readConf {
38      my ($obj) = @_;      my ($obj) = @_;
39      $obj->{libconf}->readConf();      $obj->{libconf}->readConf;
40  }  }
41    
42  sub writeConf {  sub writeConf {
43      my ($obj) = @_;      my ($obj) = @_;
44      $obj->{libconf}->writeConf();      $obj->{libconf}->writeConf;
45  }  }
46    
47  package Libconf::Glueconf::Shell::Wrapper;  package Libconf::Glueconf::Shell::Wrapper;
# Line 50  sub debug { Libconf::debug(@_) } Line 50  sub debug { Libconf::debug(@_) }
50    
51  sub TIEHASH {  sub TIEHASH {
52      my ($pkg, $libconf, $data_description, $data_mapping) = @_;      my ($pkg, $libconf, $data_description, $data_mapping) = @_;
53      debug;      debug();
54      bless {      bless {
55             libconf => $libconf,             libconf => $libconf,
56             _data_description => $data_description,             _data_description => $data_description,
# Line 60  sub TIEHASH { Line 60  sub TIEHASH {
60    
61  sub CLEAR {  sub CLEAR {
62      my ($obj) = @_;      my ($obj) = @_;
63      debug;      debug();
64      $obj->{libconf}->clear();      $obj->{libconf}->clear;
65  }  }
66    
67  sub DELETE {  sub DELETE {
68      my ($obj, $key) = @_;      my ($obj, $key) = @_;
69      debug "key: $key";      debug("key: $key");
70      my @pos = $obj->{libconf}->findAtomPos( { type => 'KEY_VALUE', key => $key });      my @pos = $obj->{libconf}->findAtomPos( { type => 'KEY_VALUE', key => $key });
71      foreach (@pos) {      foreach (@pos) {
72          $obj->{libconf}->deleteAtom($_);          $obj->{libconf}->deleteAtom($_);
# Line 75  sub DELETE { Line 75  sub DELETE {
75    
76  sub FIRSTKEY {  sub FIRSTKEY {
77      my ($obj) = @_;      my ($obj) = @_;
78      debug;      debug();
79      my $atom = $obj->{libconf}->getAtom(0);      my $atom = $obj->{libconf}->getAtom(0);
80      $atom->{key};      $atom->{key};
81  }  }
82    
83  sub EXISTS {  sub EXISTS {
84      my ($obj, $key) = @_;      my ($obj, $key) = @_;
85      debug "key : $key";      debug("key : $key");
86      my $pos = $obj->{libconf}->findAtomPos( { type => 'KEY_VALUE', key => $key });      my $pos = $obj->{libconf}->findAtomPos( { type => 'KEY_VALUE', key => $key });
87      defined $pos;      defined $pos;
88  }  }
89    
90  sub NEXTKEY {  sub NEXTKEY {
91      my ($obj, $lastkey) = @_;      my ($obj, $lastkey) = @_;
92      debug "lastkey : $lastkey";      debug("lastkey : $lastkey");
93      my @pos = $obj->{libconf}->findAtomPos( { type => 'KEY_VALUE', key => $lastkey }); #FIXME : double entries should be removed elsewhere      my @pos = $obj->{libconf}->findAtomPos( { type => 'KEY_VALUE', key => $lastkey }); #FIXME : double entries should be removed elsewhere
94      $pos[-1]+1 >= $obj->{libconf}->size() and return undef;      $pos[-1]+1 >= $obj->{libconf}->size and return undef;
95      $obj->{libconf}->getAtom($pos[-1]+1)->{key};      $obj->{libconf}->getAtom($pos[-1]+1)->{key};
96  }  }
97    
98  sub STORE {  sub STORE {
99      my ($obj, $key, $value) = @_;      my ($obj, $key, $value) = @_;
100      debug "key : $key - value : $value";      debug("key : $key - value : $value");
101      ref $value eq '' or die 'trying to store anything else than a value';      ref $value eq '' or die 'trying to store anything else than a value';
102      my $index;      my $index;
103      my @pos = $obj->{libconf}->findAtomPos({ type => 'KEY_VALUE', key => $key });      my @pos = $obj->{libconf}->findAtomPos({ type => 'KEY_VALUE', key => $key });
# Line 111  sub STORE { Line 111  sub STORE {
111    
112  sub FETCH {  sub FETCH {
113      my ($obj, $key) = @_;      my ($obj, $key) = @_;
114      debug "key : $key";      debug("key : $key");
115      $key eq 'libconf' and return $obj->{libconf};      $key eq 'libconf' and return $obj->{libconf};
116      substr($key, 0, 1) eq '_' and return $obj->{$key};      substr($key, 0, 1) eq '_' and return $obj->{$key};
117      my @pos = $obj->{libconf}->findAtomPos({ type => 'KEY_VALUE', key => $key });      my @pos = $obj->{libconf}->findAtomPos({ type => 'KEY_VALUE', key => $key });

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26