X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Frepo.h;h=4abfb0f8b626e7cc4fba24ffe0dce008e956c8d2;hb=2491213c77850ed26991b572809a5ca4a61fa89b;hp=bd9c58c74fbb8c4e6a68792cb6a8a09e8404c60d;hpb=0e46e80434781d1acbc4f5716827bf8688450a30;p=platform%2Fupstream%2Flibsolv.git diff --git a/src/repo.h b/src/repo.h index bd9c58c..4abfb0f 100644 --- a/src/repo.h +++ b/src/repo.h @@ -24,7 +24,7 @@ extern "C" { #endif -typedef struct _Repo { +typedef struct s_Repo { const char *name; /* name pointer */ Id repoid; /* our id */ void *appdata; /* application private pointer */ @@ -146,6 +146,11 @@ Repodata *repo_last_repodata(Repo *repo); void repo_search(Repo *repo, Id p, Id key, const char *match, int flags, int (*callback)(void *cbdata, Solvable *s, Repodata *data, Repokey *key, KeyValue *kv), void *cbdata); +/* returns the last repodata that contains the key */ +Repodata *repo_lookup_repodata(Repo *repo, Id entry, Id keyname); +Repodata *repo_lookup_repodata_opt(Repo *repo, Id entry, Id keyname); +Repodata *repo_lookup_filelist_repodata(Repo *repo, Id entry, Datamatcher *matcher); + /* returns the string value of the attribute, or NULL if not found */ Id repo_lookup_type(Repo *repo, Id entry, Id keyname); const char *repo_lookup_str(Repo *repo, Id entry, Id keyname); @@ -173,6 +178,8 @@ void repo_unset(Repo *repo, Id p, Id keyname); void repo_internalize(Repo *repo); void repo_disable_paging(Repo *repo); +Id *repo_create_keyskip(Repo *repo, Id entry, Id **oldkeyskip); + /* iterator macros */ #define FOR_REPO_SOLVABLES(r, p, s) \