[Frugalware-git] cfpm: pacman.cc * add package load method
Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=cfpm.git;a=commitdiff;h=baa6d340301c176ada16f157cfb0e30da0db729e commit baa6d340301c176ada16f157cfb0e30da0db729e Author: James Buren Date: Fri May 29 15:29:57 2009 -0500 pacman.cc * add package load method diff --git a/pacman.cc b/pacman.cc index e4509ef..8d83511 100644 --- a/pacman.cc +++ b/pacman.cc @@ -48,9 +48,13 @@ bool Package::load(const std::string &name) { std::ifstream file( name.c_str() ); if( file.is_open() ) - { - file.close(); pacman_pkg_load( (char *) name.c_str(), &pkg ); - } + return isvalid(); +} + +bool Package::load(PM::Database &database,const std::string &name) +{ + if( database.isvalid() ) + pkg = pacman_db_readpkg( database.get_db(), name.c_str() ); return isvalid(); } ___ Frugalware-git mailing list Frugalware-git@frugalware.org http://frugalware.org/mailman/listinfo/frugalware-git
[Frugalware-git] cfpm: pacman.cc * add package
Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=cfpm.git;a=commitdiff;h=9fe413ffe5d246fa9a30badf4f1318761d525ac3 commit 9fe413ffe5d246fa9a30badf4f1318761d525ac3 Author: James Buren Date: Fri May 29 14:57:59 2009 -0500 pacman.cc * add package diff --git a/pacman.cc b/pacman.cc index 92465de..316769f 100644 --- a/pacman.cc +++ b/pacman.cc @@ -17,9 +17,34 @@ Database::Database(void) { db = NULL; } Database::~Database(void) { unload(); } PM_DB *Database::get_db(void) { return db; } bool Database::isvalid(void) { return (db) ? true : false; } -bool Database::unload(void) { pacman_db_unregister(db); return isvalid(); } + +bool Database::unload(void) +{ + pacman_db_unregister(db); + db = NULL; + return isvalid(); +} + bool Database::load(const std::string &name) { db = pacman_db_register( (char *) name.c_str() ); return isvalid(); } + +Package::Package(void) { pkg = NULL; } +Package::~Package(void) { unload(); } +PM_PKG *Package::get_pkg(void) { return pkg; } +bool Package::isvalid(void) { return (pkg) ? true : false; } + +bool Package::unload(void) +{ + pacman_pkg_free(pkg); + pkg = NULL; + return isvalid(); +} + +bool Package::load(const std::string &name) +{ + pacman_pkg_load( (char *) name.c_str(), &pkg ); + return isvalid(); +} ___ Frugalware-git mailing list Frugalware-git@frugalware.org http://frugalware.org/mailman/listinfo/frugalware-git