Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
int pakfire_packagelist_create_from_queue(struct pakfire_packagelist** list, struct pakfire* pakfire, Queue* q);
+typedef int (*pakfire_packagelist_walk_callback)
+ (struct pakfire* pakfire, struct pakfire_package* pkg, void* p);
+
+int pakfire_packagelist_walk(struct pakfire_packagelist* list,
+ pakfire_packagelist_walk_callback callback, void* p);
+
#endif
#endif /* PAKFIRE_PACKAGELIST_H */
list->elements = solv_extend(list->elements, list->count, 1, sizeof(pkg), BLOCK_SIZE);
list->elements[list->count++] = pakfire_package_ref(pkg);
}
+
+int pakfire_packagelist_walk(struct pakfire_packagelist* list,
+ pakfire_packagelist_walk_callback callback, void* p) {
+ int r = 0;
+
+ for (unsigned int i = 0; i < list->count; i++) {
+ r = callback(list->pakfire, list->elements[i], p);
+ if (r)
+ break;
+ }
+
+ return r;
+}