Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=cfpm.git;a=commitdiff;h=5ef50c8d299797201a8d06506b1cf06f6f1c5335
commit 5ef50c8d299797201a8d06506b1cf06f6f1c5335 Author: Priyank <priy...@frugalware.org> Date: Sat Jun 13 19:53:46 2009 +0530 update test code diff --git a/main.cc b/main.cc index 0b278d0..68d9b38 100644 --- a/main.cc +++ b/main.cc @@ -13,6 +13,9 @@ int main(int argc,char **argv) Args args; Database db; Package p; + GroupList *glist; + PackageList *plist; + PackageList lst; //if( !args.parseArgs(argc,argv) ) // return 1; @@ -20,41 +23,106 @@ int main(int argc,char **argv) /* initialize libpacman */ if( !initialize("/") ) { - cerr<<"Error initializing libpacman"<<endl; + cerr << "Error initializing libpacman" << endl; return 1; } /* register a new database */ if ( db.registerDb("local") ) { - cout<<"database registered: "<<db.getName()<<endl; + cout << "database registered: " << db.getName() << endl; } else { db.printStatus(); - goto cleanup; + release(); + return 1; + } + + /* display some groups */ + cout << "Groups in " << db.getName() << ":" << endl; + if ( (glist = db.getGroupCache()) ) + { + for (int i=0;i<10;i++) + { + Group *g = NULL; + if ( (g = glist->getData()) ) + { + cout << g->getName() << endl; + } + if ( !glist->next() ) + { + break; + } + } + delete (glist); } /* query the database for package info */ - if( (db.readPackage(p,"gfpm")) ) + cout << "\nquerying db for package info " << endl; + if( (db.readPackage(p,"gcc")) ) { - cout<<"Name: "<<p.getName()<<endl; - cout<<"Version: "<<p.getVersion()<<endl; - cout<<"Description: "<<p.getDescription()<<endl; - cout<<"URL: "<<p.getURL()<<endl; - cout<<"Arch: "<<p.getArch()<<endl; - cout<<"Packager: "<<p.getPackager()<<endl; + cout << "Name: " << p.getName() << endl; + cout << "Version: " << p.getVersion() << endl; + cout << "Description: " << p.getDescription() << endl; + cout << "URL: " << p.getURL() << endl; + cout << "Arch: " << p.getArch() << endl; + cout << "Packager: " << p.getPackager() << endl; + + /* get Provides */ + if ( (plist = p.getProvides()) ) + { + cout << "Provides: "; + do { + Package *pkg = plist->getData(); + if ( pkg ) + { + cout << pkg->getName() << " "; + } + } while (plist->next()); + delete (plist); + } + cout << endl; } else { - cerr<<"Couldn't read package information."<<endl; + cerr << "Couldn't read package information." << endl; + } + + /* test for whatProvides (uncomment the following snippet) */ + /* + plist = db.whatProvides("some_package"); + cout << "some_package provides: "; + if ( plist ) + { + Package *pkg = NULL; + if ( (pkg = plist->getData()) ) + { + cout << pkg->getName() << " "; + } + } + cout<<endl; + */ + + /* test for Package::getOwners() */ + /* + if ( (plist=Package::getOwners("/usr/bin/gfpm")) ) + { + do { + Package *pack = plist->getData(); + if ( pack ) + { + cout << pack->getName(); + } + } while ( plist->next() ); + delete (plist); } + */ /* unregister database */ db.unregisterDb(); /* release libpacman */ - cleanup: release(); return 0; _______________________________________________ Frugalware-git mailing list Frugalware-git@frugalware.org http://frugalware.org/mailman/listinfo/frugalware-git