return 0;
}
+
+int pakfire_repo_walk_packages(struct pakfire_repo* self,
+ int (*callback)(struct pakfire_ctx* ctx, struct pakfire_package* pkg, void* data), void* data, int flags) {
+ struct pakfire_packagelist* list = NULL;
+ int r;
+
+ // Create a new packagelist
+ r = pakfire_packagelist_create(&list, self->ctx);
+ if (r < 0)
+ goto ERROR;
+
+ // Import all packages
+ r = pakfire_repo_to_packagelist(self, list);
+ if (r < 0)
+ goto ERROR;
+
+ // Iterate over all packages
+ r = pakfire_packagelist_walk(list, callback, data, flags);
+ if (r < 0)
+ goto ERROR;
+
+ERROR:
+ if (list)
+ pakfire_packagelist_unref(list);
+
+ return r;
+}
int pakfire_repo_to_packagelist(struct pakfire_repo* repo,
struct pakfire_packagelist* list);
+int pakfire_repo_walk_packages(struct pakfire_repo* self,
+ int (*callback)(struct pakfire_ctx* ctx, struct pakfire_package* pkg, void* data), void* data, int flags);
+
#endif /* PAKFIRE_REPO_H */