#ifndef PAKFIRE_REQUEST_H
#define PAKFIRE_REQUEST_H
-struct pakfire_request;
-
-#include <pakfire/package.h>
-#include <pakfire/problem.h>
-#include <pakfire/solution.h>
-#include <pakfire/transaction.h>
-
enum pakfire_request_flags {
PAKFIRE_REQUEST_WITHOUT_RECOMMENDED = 1 << 0,
PAKFIRE_REQUEST_ALLOW_UNINSTALL = 1 << 1,
PAKFIRE_REQUEST_ESSENTIAL = 1 << 2,
};
+#ifdef PAKFIRE_PRIVATE
+
+#include <solv/solver.h>
+
+#include <pakfire/package.h>
+#include <pakfire/problem.h>
+#include <pakfire/solution.h>
+#include <pakfire/transaction.h>
+
+struct pakfire_request;
+
int pakfire_request_create(struct pakfire_request** request, struct pakfire* pakfire, int flags);
struct pakfire_request* pakfire_request_ref(struct pakfire_request* request);
int pakfire_request_take_solution(struct pakfire_request* request,
struct pakfire_solution* solution);
-#ifdef PAKFIRE_PRIVATE
-
-#include <solv/solver.h>
-
Solver* pakfire_request_get_solver(struct pakfire_request* request);
int pakfire_request_next_problem(
#include <pakfire/logging.h>
#include <pakfire/package.h>
#include <pakfire/pakfire.h>
-#include <pakfire/private.h>
#include <pakfire/problem.h>
#include <pakfire/request.h>
#include <pakfire/string.h>
return 0;
}
-PAKFIRE_EXPORT int pakfire_request_create(struct pakfire_request** request,
+int pakfire_request_create(struct pakfire_request** request,
struct pakfire* pakfire, int flags) {
Pool* pool = pakfire_get_solv_pool(pakfire);
int r = 1;
return r;
}
-PAKFIRE_EXPORT struct pakfire_request* pakfire_request_ref(struct pakfire_request* request) {
+struct pakfire_request* pakfire_request_ref(struct pakfire_request* request) {
request->nrefs++;
return request;
}
-PAKFIRE_EXPORT struct pakfire_request* pakfire_request_unref(struct pakfire_request* request) {
+struct pakfire_request* pakfire_request_unref(struct pakfire_request* request) {
if (--request->nrefs > 0)
return request;
return request->solver;
}
-PAKFIRE_EXPORT int pakfire_request_solve(struct pakfire_request* request,
+int pakfire_request_solve(struct pakfire_request* request,
struct pakfire_transaction** transaction) {
int r;
return pakfire_request_add_job(request, action, what, extra_flags);
}
-PAKFIRE_EXPORT int pakfire_request_install(struct pakfire_request* request,
+int pakfire_request_install(struct pakfire_request* request,
const char* what, int flags) {
return pakfire_request_add(request, SOLVER_INSTALL, what, flags);
}
-PAKFIRE_EXPORT int pakfire_request_install_package(
+int pakfire_request_install_package(
struct pakfire_request* request, struct pakfire_package* package) {
return pakfire_request_add_package(request, SOLVER_INSTALL, package, 0);
}
return additional;
}
-PAKFIRE_EXPORT int pakfire_request_erase(struct pakfire_request* request, const char* what, int flags) {
+int pakfire_request_erase(struct pakfire_request* request, const char* what, int flags) {
return pakfire_request_add(request, SOLVER_ERASE, what, erase_flags(flags));
}
-PAKFIRE_EXPORT int pakfire_request_erase_package(
+int pakfire_request_erase_package(
struct pakfire_request* request, struct pakfire_package* package, int flags) {
return pakfire_request_add_package(request, SOLVER_ERASE, package, erase_flags(flags));
}
-PAKFIRE_EXPORT int pakfire_request_update(struct pakfire_request* request, const char* what, int flags) {
+int pakfire_request_update(struct pakfire_request* request, const char* what, int flags) {
return pakfire_request_add(request, SOLVER_UPDATE, what, flags);
}
-PAKFIRE_EXPORT int pakfire_request_update_package(
+int pakfire_request_update_package(
struct pakfire_request* request, struct pakfire_package* package) {
return pakfire_request_add_package(request, SOLVER_UPDATE, package, 0);
}
-PAKFIRE_EXPORT int pakfire_request_update_all(struct pakfire_request* request, int flags) {
+int pakfire_request_update_all(struct pakfire_request* request, int flags) {
queue_push2(&request->jobs, SOLVER_SOLVABLE_ALL|SOLVER_UPDATE|erase_flags(flags), 0);
return 0;
}
-PAKFIRE_EXPORT int pakfire_request_sync(struct pakfire_request* request, int flags) {
+int pakfire_request_sync(struct pakfire_request* request, int flags) {
int solver_flags = SOLVER_SOLVABLE_ALL|SOLVER_DISTUPGRADE;
// Drop orphans
return 0;
}
-PAKFIRE_EXPORT int pakfire_request_lock(struct pakfire_request* request, const char* what) {
+int pakfire_request_lock(struct pakfire_request* request, const char* what) {
return pakfire_request_add(request, SOLVER_LOCK, what, 0);
}
-PAKFIRE_EXPORT int pakfire_request_lock_package(struct pakfire_request* request, struct pakfire_package* package) {
+int pakfire_request_lock_package(struct pakfire_request* request, struct pakfire_package* package) {
return pakfire_request_add_package(request, SOLVER_LOCK, package, 0);
}
-PAKFIRE_EXPORT int pakfire_request_verify(struct pakfire_request* request, int flags) {
+int pakfire_request_verify(struct pakfire_request* request, int flags) {
queue_push2(&request->jobs, SOLVER_SOLVABLE_ALL|SOLVER_VERIFY, 0);
return 0;
return pakfire_problem_create(problem, request->pakfire, request, id);
}
-PAKFIRE_EXPORT int pakfire_request_take_solution(struct pakfire_request* request,
+int pakfire_request_take_solution(struct pakfire_request* request,
struct pakfire_solution* solution) {
struct pakfire_problem* problem = pakfire_solution_get_problem(solution);