package AccessDB::Interface; use strict; use AccessDB::Impl; # Constructor AccessDB::Interface->create([$file_name]) sub create { my $class = shift; my $code_ref_obj = AccessDB::Impl::init(@_); return bless ($code_ref_obj, $class); } # Properties # mdb_file is read-write, # returns/sets full path of file # $obj->mdb_file([$file_name]) sub mdb_file { my $code_ref_obj = shift; return $code_ref_obj->('mdb_file', @_); } # state is read-only and ignores any parameters # returns either 0 for closed or 1 for open # $obj->state() sub state { my $code_ref_obj = shift; return $code_ref_obj->('state'); } # conn is read only # returns the connection object # $obj->conn() sub conn { my $code_ref_obj = shift; return $code_ref_obj->('conn'); } # Methods # $obj->open([$filename]) sub open { my $code_ref_obj = shift; $code_ref_obj->('open', @_); } # obj->execute($sql) sub execute { my $code_ref_obj = shift; $code_ref_obj->('execute', @_); } # $obj->close() sub close { my $code_ref_obj = shift; $code_ref_obj->('close'); } # $obj->getConnString() # returns the connection string sub getConnString { my $code_ref_obj = shift; return $code_ref_obj->('getConnString'); } # DESTROY gets called by system # and then calls free_resources sub DESTROY { my $code_ref_obj = shift; $code_ref_obj->('free_resources'); } 1;