PakfireRequest req = request->request;
self->transaction = pakfire_request_get_transaction(req);
- // If request has got no transaction, we will create an (empty) new one.
- if (!self->transaction) {
- PakfirePool pool = pakfire_request_get_pool(req);
-
- self->transaction = pakfire_transaction_create(pool, NULL);
- pakfire_pool_unref(pool);
- }
+ // Fail on empty transaction
+ if (!self->transaction)
+ return -1;
return 0;
}
#include <pakfire/types.h>
-PakfireTransaction pakfire_transaction_create(PakfirePool pool, Transaction* trans);
+PakfireTransaction pakfire_transaction_create(Pakfire pakfire, Transaction* trans);
PakfireTransaction pakfire_transaction_ref(PakfireTransaction transaction);
PakfireTransaction pakfire_transaction_unref(PakfireTransaction transaction);
if (!request->transaction)
return NULL;
- PakfirePool pool = pakfire_get_pool(request->pakfire);
- PakfireTransaction transaction = pakfire_transaction_create(pool, request->transaction);
- pakfire_pool_unref(pool);
-
- return transaction;
+ return pakfire_transaction_create(request->pakfire, request->transaction);
}
PAKFIRE_EXPORT int pakfire_request_install(PakfireRequest request, PakfirePackage package) {
#include <pakfire/logging.h>
#include <pakfire/package.h>
#include <pakfire/packagelist.h>
+#include <pakfire/pakfire.h>
#include <pakfire/pool.h>
#include <pakfire/private.h>
#include <pakfire/repo.h>
#include <pakfire/util.h>
struct _PakfireTransaction {
- PakfirePool pool;
+ Pakfire pakfire;
Transaction* transaction;
PakfireStep* steps;
size_t num_steps;
int nrefs;
};
-PAKFIRE_EXPORT PakfireTransaction pakfire_transaction_create(PakfirePool pool, Transaction* trans) {
+PAKFIRE_EXPORT PakfireTransaction pakfire_transaction_create(Pakfire pakfire, Transaction* trans) {
PakfireTransaction transaction = pakfire_calloc(1, sizeof(*transaction));
if (transaction) {
DEBUG("Allocated Transaction at %p\n", transaction);
transaction->nrefs = 1;
- transaction->pool = pakfire_pool_ref(pool);
+ transaction->pakfire = pakfire_ref(pakfire);
// Clone the transaction, so we get independent from what ever called this.
if (trans) {
}
void pakfire_transaction_free(PakfireTransaction transaction) {
- pakfire_pool_unref(transaction->pool);
+ pakfire_unref(transaction->pakfire);
// Release all steps
while (*transaction->steps)
}
PAKFIRE_EXPORT PakfirePool pakfire_transaction_get_pool(PakfireTransaction transaction) {
- return pakfire_pool_ref(transaction->pool);
+ return pakfire_get_pool(transaction->pakfire);
}
Transaction* pakfire_transaction_get_transaction(PakfireTransaction transaction) {