Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

installeddatabase.h

00001 #ifndef __INSTALLEDDATABASE_H__
00002 #define __INSTALLEDDATABASE_H__
00003 
00004 #include <db4.1/db_cxx.h>
00005 #include "pmstring.h"
00006 #include "installedpackage.h"
00007 #include <vector>
00008 
00009 /*The database used to store info about InstalledPackage's*/
00010 class InstalledDatabase
00011 {
00012         public:
00013                 InstalledDatabase();                                    //Constructor - loads the db
00014                 InstalledDatabase(PMString location);   //Constructor - loads the specified
00015                 ~InstalledDatabase();                                   //Destructor
00016         
00017                 void Close();                                                                                                                   //Close the DB
00018                 void Init();                                                                                                                    //Loads the DB
00019                 void Init(PMString location);                                                                                   //Loads the DB
00020                 void Add(InstalledPackage newPackage, bool flush = false);                              //Add newPackage to the DB
00021                 void Remove(PackageVersion passedVersion, bool flush = false);                  //Remove passedVersion from the DB
00022                 void Clear();                                                                                                                   //Clears all entries in DB
00023                 bool IsVersionInstalled(PackageVersion passedVersion);                                  //Returns true if passedVersion is installed
00024                 bool IsPackageInWorld(Package passedPackage);                                                   //Returns true if passedPackage is in world
00025                 std::vector<PackageVersion> GetVersionsInstalled(Package passedPackage);//Returns all versions of passedPackage installed
00026                 bool IsPackageInstalled(Package passedPackage);                                                 //Returns true if passedPackage is installed
00027                 PackageVersion GetLatestVersionInstalled(Package passedPackage);                //Returns the latest version of passedPackage
00028                 std::vector<PMString> GetVirtualsProvided();                                                    //Returns all virtuals provided
00029                 std::vector<InstalledPackage> GetWorldPackages();                                               //Returns all world packages
00030                 std::vector<InstalledPackage> GetAllInstalledPackages();                                //Returns all InstalledPackage's
00031                 bool IsSlotInstalled(Package passedPackage, PMString slot);                     //Returns true if slot of package is installed
00032         
00033         protected:
00034                 Db _thePrimaryDatabase; //The Berkeley DB
00035 };
00036 #endif

Generated on Wed May 25 15:29:54 2005 for Package Management System for Gentoo Linux by  doxygen 1.4.1