00001
00023 #ifndef _LIBPACKMAN_DB_API_H_
00024 #define _LIBPACKMAN_DB_API_H_
00025
00026 #include <libpackman/types.h>
00027 #include <libpackman/db.h>
00028
00029 #ifdef __cplusplus
00030 extern "C" {
00031 #endif
00032
00033
00035
00052 PmDatabase *pmOpenDatabase(const char *type, PmAccessMode mode);
00053
00071 PmDatabase *pmCreateDatabase(const char *type);
00072
00084 void pmCloseDatabase(PmDatabase *db);
00085
00101 PmStatus pmRebuildDatabase(const char *type);
00102
00106
00108
00118 unsigned long pmDbGetPackageCount(PmDatabase *db);
00119
00123
00125
00135 PmMatches *pmNewMatches(PmDatabase *db);
00136
00142 void pmDestroyMatches(PmMatches *matches);
00143
00147
00149
00169 PmStatus pmInstallPackage(PmDatabase *db, PmPackage *package, char checkDeps,
00170 PmTransactionError **error);
00171
00189 PmStatus pmUninstallPackage(PmDatabase *db, PmPackage *package, char checkDeps,
00190 PmTransactionError **error);
00191
00209 PmStatus pmInstallBatch(PmDatabase *db, PmBatch *batch, char checkDeps,
00210 PmTransactionError **error);
00211
00229 PmStatus pmUninstallBatch(PmDatabase *db, PmBatch *batch, char checkDeps,
00230 PmTransactionError **error);
00231
00252 PmStatus pmDbAddPackage(PmDatabase *db, PmPackage *package, char checkDeps,
00253 PmTransactionError **error);
00254
00275 PmStatus pmDbRemovePackage(PmDatabase *db, PmPackage *package, char checkDeps,
00276 PmTransactionError **error);
00277
00295 PmStatus pmDbAddBatch(PmDatabase *db, PmBatch *batch, char checkDeps,
00296 PmTransactionError **error);
00297
00315 PmStatus pmDbRemoveBatch(PmDatabase *db, PmBatch *batch, char checkDeps,
00316 PmTransactionError **error);
00317
00321
00323
00335 PmStatus pmFindByName(PmDatabase *db, const char *name, PmMatches **matches);
00336
00346 PmStatus pmFindByGroup(PmDatabase *db, const char *group, PmMatches **matches);
00347
00357 PmStatus pmFindByFile(PmDatabase *db, const char *file, PmMatches **matches);
00358
00368 PmStatus pmFindByProvides(PmDatabase *db, const char *provides,
00369 PmMatches **matches);
00370
00380 PmStatus pmFindByRequires(PmDatabase *db, const char *requires,
00381 PmMatches **matches);
00382
00392 PmStatus pmFindByConflicts(PmDatabase *db, const char *conflicts,
00393 PmMatches **matches);
00394
00403 PmStatus pmGetAllPackages(PmDatabase *db, PmMatches **matches);
00404
00408
00410
00424 PmPackage *pmFirstMatch(PmMatches *matches);
00425
00437 PmPackage *pmNextMatch(PmMatches *matches);
00438
00441 #ifdef __cplusplus
00442 }
00443 #endif
00444
00445 #endif