From: Michael Schroeder Date: Mon, 5 Nov 2012 17:30:25 +0000 (+0100) Subject: add generic Solvable.add_deparray method to bindings X-Git-Tag: BASE-SuSE-Code-12_3-Branch~187 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5ae7585438805eb0b3896dfb62e5e75617ab3993;p=thirdparty%2Flibsolv.git add generic Solvable.add_deparray method to bindings --- diff --git a/bindings/solv.i b/bindings/solv.i index ca606340..54013d7e 100644 --- a/bindings/solv.i +++ b/bindings/solv.i @@ -2101,6 +2101,7 @@ typedef struct { } %} + /* old interface, please use the generic add_deparray instead */ void add_provides(DepId id, Id marker = -1) { Solvable *s = $self->pool->solvables + $self->id; if (marker == -1 || marker == 1) @@ -2138,6 +2139,19 @@ typedef struct { s->enhances = repo_addid_dep(s->repo, s->enhances, id, 0); } + void add_deparray(Id keyname, DepId id, Id marker = -1) { + Solvable *s = $self->pool->solvables + $self->id; + if (marker == -1 || marker == 1) { + if (keyname == SOLVABLE_PROVIDES) + marker = marker < 0 ? -SOLVABLE_FILEMARKER : SOLVABLE_FILEMARKER; + else if (keyname == SOLVABLE_REQUIRES) + marker = marker < 0 ? -SOLVABLE_PREREQMARKER : SOLVABLE_PREREQMARKER; + else + marker = 0; + } + solvable_add_deparray(s, keyname, id, marker); + } + bool __eq__(XSolvable *s) { return $self->pool == s->pool && $self->id == s->id; } @@ -2669,7 +2683,7 @@ rb_eval_string( Id new_handle() { return repodata_new_handle(repo_id2repodata($self->repo, $self->id)); } - void set_id(Id solvid, Id keyname, Id id) { + void set_id(Id solvid, Id keyname, DepId id) { repodata_set_id(repo_id2repodata($self->repo, $self->id), solvid, keyname, id); } void set_str(Id solvid, Id keyname, const char *str) { @@ -2678,7 +2692,7 @@ rb_eval_string( void set_poolstr(Id solvid, Id keyname, const char *str) { repodata_set_poolstr(repo_id2repodata($self->repo, $self->id), solvid, keyname, str); } - void add_idarray(Id solvid, Id keyname, Id id) { + void add_idarray(Id solvid, Id keyname, DepId id) { repodata_add_idarray(repo_id2repodata($self->repo, $self->id), solvid, keyname, id); } void add_flexarray(Id solvid, Id keyname, Id handle) {