From a8e7ea488a457a0c26abafb481ebc43d33003797 Mon Sep 17 00:00:00 2001 From: Michael Schroeder Date: Wed, 14 Nov 2018 16:39:36 +0100 Subject: [PATCH] bindings: implement set/get_considered_list This is just a first version to play with. It's based on pull request #288 from milan. Thanks! --- bindings/solv.i | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/bindings/solv.i b/bindings/solv.i index 1a88917a..1f7a60d8 100644 --- a/bindings/solv.i +++ b/bindings/solv.i @@ -1963,6 +1963,35 @@ typedef struct { return sel; } + Queue get_considered_list() { + Queue q; + queue_init(&q); + int i; + for (i = 2; i < $self->nsolvables; i++) { + if (!$self->solvables[i].repo) + continue; + if (!$self->considered || MAPTST($self->considered, i)) + queue_push(&q, i); + } + return q; + } + + void set_considered_list(Queue q) { + int i; + Id p; + if (!$self->considered) { + $self->considered = solv_calloc(1, sizeof(Map)); + map_init($self->considered, $self->nsolvables); + } + map_empty($self->considered); + MAPSET($self->considered, 1); + for (i = 0; i < q.count; i++) { + p = q.elements[i]; + if (p > 0 && p < $self->nsolvables) + MAPSET($self->considered, p); + } + } + void setpooljobs_helper(Queue jobs) { queue_free(&$self->pooljobs); queue_init_clone(&$self->pooljobs, &jobs); -- 2.47.2