Index: xotcl/library/store/TclGdbmStorage.xotcl =================================================================== diff -u -rf7894d9be99a8da3a04218abcdb9bd46b6d625c8 -r435b41481fb51bf000ebe736d8574fefbeec1710 --- xotcl/library/store/TclGdbmStorage.xotcl (.../TclGdbmStorage.xotcl) (revision f7894d9be99a8da3a04218abcdb9bd46b6d625c8) +++ xotcl/library/store/TclGdbmStorage.xotcl (.../TclGdbmStorage.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) @@ -1,51 +1,61 @@ -# $Id: TclGdbmStorage.xotcl,v 1.1 2004/05/23 22:50:39 neumann Exp $ +# $Id: TclGdbmStorage.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ + package provide xotcl::store::tclgdbm 0.84 package require xotcl::store::gdbm package require xotcl::store +package require XOTcl -# -# a simple GNU Gdbm DB Store Access based on TclGdbm -# -Class Storage=TclGdbm -superclass Storage -Storage=TclGdbm instproc open f { - my instvar persistenceDB - ::set persistenceDB [gdbm_open -wrcreat $f] -} +namespace eval ::xotcl::store::tclgdbm { + namespace import ::xotcl::* -Storage=TclGdbm instproc set args { - my instvar persistenceDB - ::set l [llength $args] - if {$l == 1} {[::set persistenceDB] fetch [lindex $args 0] - } elseif {$l == 2} {[::set persistenceDB] -replace store \ - [lindex $args 0] [lindex $args 1] - } else { next } -} + # + # a simple GNU Gdbm DB Store Access based on TclGdbm + # + Class Storage=TclGdbm -superclass Storage + Storage=TclGdbm instproc open f { + my instvar persistenceDB + ::set persistenceDB [gdbm_open -wrcreat $f] + } -Storage=TclGdbm instproc exists k { - my instvar persistenceDB - $persistenceDB exists $k -} + Storage=TclGdbm instproc set args { + my instvar persistenceDB + ::set l [llength $args] + if {$l == 1} {[::set persistenceDB] fetch [lindex $args 0] + } elseif {$l == 2} {[::set persistenceDB] -replace store \ + [lindex $args 0] [lindex $args 1] + } else { next } + } -Storage=TclGdbm instproc names {} { - my instvar persistenceDB - ::set list "" - if {[::set key [$persistenceDB firstkey]] != ""} { - lappend list $key - while {[::set key [$persistenceDB nextkey $key]] != ""} { - lappend list $key + Storage=TclGdbm instproc exists k { + my instvar persistenceDB + $persistenceDB exists $k } - } - return $list -} + Storage=TclGdbm instproc names {} { + my instvar persistenceDB + ::set list "" + if {[::set key [$persistenceDB firstkey]] != ""} { + lappend list $key + while {[::set key [$persistenceDB nextkey $key]] != ""} { + lappend list $key + } + } + return $list + } -Storage=TclGdbm instproc close args { - my instvar persistenceDB - $persistenceDB close -} -Storage=TclGdbm instproc unset k { - my instvar persistenceDB - $persistenceDB delete $k + Storage=TclGdbm instproc close args { + my instvar persistenceDB + $persistenceDB close + } + + Storage=TclGdbm instproc unset k { + my instvar persistenceDB + $persistenceDB delete $k + } + + namespace export Storage=TclGdbm } + +namespace import ::xotcl::store::tclgdbm::*