}
static int cli_term_print_problem(pakfire_problem* problem, unsigned int* num_solutions) {
- struct pakfire_solution** solutions = NULL;
+ pakfire_solution** solutions = NULL;
// Show what the problem is
printf(" * %s\n", pakfire_problem_to_string(problem));
printf(" %s\n", _("Possible solutions:"));
// Show all possible solutions
- for (struct pakfire_solution** s = solutions; *s; s++) {
+ for (pakfire_solution** s = solutions; *s; s++) {
// Increment the solution counter
(*num_solutions)++;
// Cleanup
if (solutions) {
- for (struct pakfire_solution** s = solutions; *s; s++)
+ for (pakfire_solution** s = solutions; *s; s++)
pakfire_solution_unref(*s);
free(solutions);
return 0;
}
-static struct pakfire_solution* cli_term_find_solution(
+static pakfire_solution* cli_term_find_solution(
pakfire_problem** problems, const unsigned int choice) {
- struct pakfire_solution* selected_solution = NULL;
- struct pakfire_solution** solutions = NULL;
+ pakfire_solution* selected_solution = NULL;
+ pakfire_solution** solutions = NULL;
// Count solutions
unsigned int i = 1;
if (!solutions)
continue;
- for (struct pakfire_solution** solution = solutions; *solution; solution++) {
+ for (pakfire_solution** solution = solutions; *solution; solution++) {
if (choice == i++)
selected_solution = pakfire_solution_ref(*solution);
int cli_term_pick_solution(pakfire_ctx* ctx, struct pakfire* pakfire, void* data,
struct pakfire_transaction* transaction) {
pakfire_problem** problems = NULL;
- struct pakfire_solution* solution = NULL;
+ pakfire_solution* solution = NULL;
unsigned int num_solutions = 0;
unsigned int choice = 0;
int r = 0;
return pakfire_transaction_ref(problem->transaction);
}
-struct pakfire_solution** pakfire_problem_get_solutions(
+pakfire_solution** pakfire_problem_get_solutions(
pakfire_problem* problem) {
- struct pakfire_solution** solutions = NULL;
- struct pakfire_solution* solution = NULL;
+ pakfire_solution** solutions = NULL;
+ pakfire_solution* solution = NULL;
unsigned int count = 0;
Id id = ID_NULL;
int r;
ERROR(problem->ctx, "Could not import solutions: %s\n", strerror(r));
if (solutions) {
- for (struct pakfire_solution** s = solutions; *s; s++)
+ for (pakfire_solution** s = solutions; *s; s++)
pakfire_solution_unref(*s);
free(solutions);
const char* pakfire_problem_to_string(pakfire_problem* problem);
-struct pakfire_solution** pakfire_problem_get_solutions(
+pakfire_solution** pakfire_problem_get_solutions(
pakfire_problem* problem);
int pakfire_problem_create(pakfire_problem** problem, struct pakfire* pakfire,
char* string;
};
-int pakfire_solution_create(struct pakfire_solution** solution,
+int pakfire_solution_create(pakfire_solution** solution,
struct pakfire* pakfire, pakfire_problem* problem, Id id) {
- struct pakfire_solution* s = calloc(1, sizeof(*s));
+ pakfire_solution* s = calloc(1, sizeof(*s));
if (!s)
return -errno;
return 0;
}
-struct pakfire_solution* pakfire_solution_ref(struct pakfire_solution* solution) {
+pakfire_solution* pakfire_solution_ref(pakfire_solution* solution) {
solution->nrefs++;
return solution;
}
-static void pakfire_solution_free(struct pakfire_solution* solution) {
+static void pakfire_solution_free(pakfire_solution* solution) {
pakfire_problem_unref(solution->problem);
if (solution->string)
free(solution);
}
-struct pakfire_solution* pakfire_solution_unref(struct pakfire_solution* solution) {
+pakfire_solution* pakfire_solution_unref(pakfire_solution* solution) {
if (!solution)
return NULL;
return NULL;
}
-pakfire_problem* pakfire_solution_get_problem(struct pakfire_solution* solution) {
+pakfire_problem* pakfire_solution_get_problem(pakfire_solution* solution) {
return pakfire_problem_ref(solution->problem);
}
-Id pakfire_solution_get_id(struct pakfire_solution* solution) {
+Id pakfire_solution_get_id(pakfire_solution* solution) {
return solution->id;
}
-static char* pakfire_solution_make_string(struct pakfire_solution* solution) {
+static char* pakfire_solution_make_string(pakfire_solution* solution) {
struct pakfire_transaction* transaction = pakfire_problem_get_transaction(solution->problem);
Solver* solver = pakfire_transaction_get_solver(transaction);
Pool* pool = solver->pool;
return s;
}
-const char* pakfire_solution_to_string(struct pakfire_solution* solution) {
+const char* pakfire_solution_to_string(pakfire_solution* solution) {
if (!solution->string)
solution->string = pakfire_solution_make_string(solution);
// libsolv
#include <solv/pooltypes.h>
-struct pakfire_solution;
+typedef struct pakfire_solution pakfire_solution;
#include <pakfire/pakfire.h>
#include <pakfire/problem.h>
-struct pakfire_solution* pakfire_solution_ref(struct pakfire_solution* solution);
-struct pakfire_solution* pakfire_solution_unref(struct pakfire_solution* solution);
+pakfire_solution* pakfire_solution_ref(pakfire_solution* solution);
+pakfire_solution* pakfire_solution_unref(pakfire_solution* solution);
-const char* pakfire_solution_to_string(struct pakfire_solution* solution);
+const char* pakfire_solution_to_string(pakfire_solution* solution);
-int pakfire_solution_create(struct pakfire_solution** solution, struct pakfire* pakfire,
+int pakfire_solution_create(pakfire_solution** solution, struct pakfire* pakfire,
pakfire_problem* problem, Id id);
-pakfire_problem* pakfire_solution_get_problem(struct pakfire_solution* solution);
-Id pakfire_solution_get_id(struct pakfire_solution* solution);
+pakfire_problem* pakfire_solution_get_problem(pakfire_solution* solution);
+Id pakfire_solution_get_id(pakfire_solution* solution);
#endif /* PAKFIRE_SOLUTION_H */
}
static int pakfire_transaction_append_solutions(
- struct pakfire_transaction* transaction, char** buffer, struct pakfire_solution** solutions) {
+ struct pakfire_transaction* transaction, char** buffer, pakfire_solution** solutions) {
const char* s = NULL;
int r;
- for (struct pakfire_solution** solution = solutions; *solution; solution++) {
+ for (pakfire_solution** solution = solutions; *solution; solution++) {
s = pakfire_solution_to_string(*solution);
if (!s)
return -errno;
static int pakfire_transaction_append_problems(
struct pakfire_transaction* transaction, char** buffer, pakfire_problem** problems, int flags) {
- struct pakfire_solution** solutions = NULL;
+ pakfire_solution** solutions = NULL;
const char* s = NULL;
int r;
r = pakfire_transaction_append_solutions(transaction, buffer, solutions);
// Cleanup
- for (struct pakfire_solution** solution = solutions; *solution; solution++)
+ for (pakfire_solution** solution = solutions; *solution; solution++)
pakfire_solution_unref(*solution);
free(solutions);
}
int pakfire_transaction_take_solution(struct pakfire_transaction* transaction,
- struct pakfire_solution* solution) {
+ pakfire_solution* solution) {
pakfire_problem* problem = pakfire_solution_get_problem(solution);
// Fetch IDs
pakfire_problem** pakfire_transaction_get_problems(struct pakfire_transaction* transaction);
int pakfire_transaction_take_solution(
- struct pakfire_transaction* transaction, struct pakfire_solution* solution);
+ struct pakfire_transaction* transaction, pakfire_solution* solution);
size_t pakfire_transaction_count(struct pakfire_transaction* transaction);
char* pakfire_transaction_dump(struct pakfire_transaction* transaction, size_t width);
}
static PyObject* Problem_get_solutions(ProblemObject* self) {
- struct pakfire_solution** solutions = NULL;
+ pakfire_solution** solutions = NULL;
PyObject* s = NULL;
int r;
solutions = pakfire_problem_get_solutions(self->problem);
if (solutions) {
- for (struct pakfire_solution** solution = solutions; *solution; solution++) {
+ for (pakfire_solution** solution = solutions; *solution; solution++) {
s = new_solution(*solution);
if (!s)
goto ERROR;
}
// Cleanup
- for (struct pakfire_solution** solution = solutions; *solution; solution++)
+ for (pakfire_solution** solution = solutions; *solution; solution++)
pakfire_solution_unref(*solution);
free(solutions);
}
ERROR:
if (solutions) {
- for (struct pakfire_solution** solution = solutions; *solution; solution++)
+ for (pakfire_solution** solution = solutions; *solution; solution++)
pakfire_solution_unref(*solution);
free(solutions);
}
#include "solution.h"
-static SolutionObject* Solution_new_core(PyTypeObject* type, struct pakfire_solution* solution) {
+static SolutionObject* Solution_new_core(PyTypeObject* type, pakfire_solution* solution) {
SolutionObject* self = (SolutionObject *)type->tp_alloc(type, 0);
if (self) {
self->solution = solution;
return self;
}
-PyObject* new_solution(struct pakfire_solution* solution) {
+PyObject* new_solution(pakfire_solution* solution) {
SolutionObject* s = Solution_new_core(&SolutionType, solution);
return (PyObject*)s;
typedef struct {
PyObject_HEAD
- struct pakfire_solution* solution;
+ pakfire_solution* solution;
} SolutionObject;
extern PyTypeObject SolutionType;
-PyObject* new_solution(struct pakfire_solution* solution);
+PyObject* new_solution(pakfire_solution* solution);
#endif /* PYTHON_PAKFIRE_SOLUTION_H */