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

Reply via email to