From 24000b83c9a9ba2f25a46914d2919293dc865a2e Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Tue, 7 Jun 2011 13:29:05 -0500 Subject: Require handle argument to all alpm_trans_*() methods Begin enforcing the need to pass a handle. This allows us to remove one more extern handle declaration from the backend. Signed-off-by: Dan McGee --- lib/libalpm/alpm.h | 26 +++++++++++++++++--------- lib/libalpm/deps.c | 6 +++--- lib/libalpm/trans.c | 23 ++++++++++------------- 3 files changed, 30 insertions(+), 25 deletions(-) (limited to 'lib/libalpm') diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h index 26ed1e5c..d63b9877 100644 --- a/lib/libalpm/alpm.h +++ b/lib/libalpm/alpm.h @@ -794,54 +794,62 @@ typedef void (*alpm_trans_cb_conv)(pmtransconv_t, void *, void *, typedef void (*alpm_trans_cb_progress)(pmtransprog_t, const char *, int, size_t, size_t); /** Returns the bitfield of flags for the current transaction. - * @sa _pmtransflag_t + * @param handle the context handle + * @return the bitfield of transaction flags */ -int alpm_trans_get_flags(void); +pmtransflag_t alpm_trans_get_flags(pmhandle_t *handle); /** Returns a list of packages added by the transaction. + * @param handle the context handle * @return a list of pmpkg_t structures */ -alpm_list_t * alpm_trans_get_add(void); +alpm_list_t * alpm_trans_get_add(pmhandle_t *handle); /** Returns the list of packages removed by the transaction. + * @param handle the context handle * @return a list of pmpkg_t structures */ -alpm_list_t * alpm_trans_get_remove(void); +alpm_list_t * alpm_trans_get_remove(pmhandle_t *handle); /** Initialize the transaction. + * @param handle the context handle * @param flags flags of the transaction (like nodeps, etc) * @param event event callback function pointer * @param conv question callback function pointer * @param progress progress callback function pointer * @return 0 on success, -1 on error (pm_errno is set accordingly) */ -int alpm_trans_init(pmtransflag_t flags, +int alpm_trans_init(pmhandle_t *handle, pmtransflag_t flags, alpm_trans_cb_event cb_event, alpm_trans_cb_conv conv, alpm_trans_cb_progress cb_progress); /** Prepare a transaction. + * @param handle the context handle * @param data the address of an alpm_list where a list * of pmdepmissing_t objects is dumped (conflicting packages) * @return 0 on success, -1 on error (pm_errno is set accordingly) */ -int alpm_trans_prepare(alpm_list_t **data); +int alpm_trans_prepare(pmhandle_t *handle, alpm_list_t **data); /** Commit a transaction. + * @param handle the context handle * @param data the address of an alpm_list where detailed description * of an error can be dumped (ie. list of conflicting files) * @return 0 on success, -1 on error (pm_errno is set accordingly) */ -int alpm_trans_commit(alpm_list_t **data); +int alpm_trans_commit(pmhandle_t *handle, alpm_list_t **data); /** Interrupt a transaction. + * @param handle the context handle * @return 0 on success, -1 on error (pm_errno is set accordingly) */ -int alpm_trans_interrupt(void); +int alpm_trans_interrupt(pmhandle_t *handle); /** Release a transaction. + * @param handle the context handle * @return 0 on success, -1 on error (pm_errno is set accordingly) */ -int alpm_trans_release(void); +int alpm_trans_release(pmhandle_t *handle); /** @} */ /** @name Common Transactions */ diff --git a/lib/libalpm/deps.c b/lib/libalpm/deps.c index 62e8702c..32922892 100644 --- a/lib/libalpm/deps.c +++ b/lib/libalpm/deps.c @@ -204,9 +204,9 @@ alpm_list_t *_alpm_sortbydeps(alpm_list_t *targets, int reverse) return newtargs; } -static int no_dep_version(void) +static int no_dep_version(pmhandle_t *handle) { - int flags = alpm_trans_get_flags(); + int flags = alpm_trans_get_flags(handle); return flags != -1 && (flags & PM_TRANS_FLAG_NODEPVERSION); } @@ -282,7 +282,7 @@ alpm_list_t SYMEXPORT *alpm_checkdeps(alpm_list_t *pkglist, int reversedeps, } alpm_list_free(targets); - nodepversion = no_dep_version(); + nodepversion = no_dep_version(handle); /* look for unsatisfied dependencies of the upgrade list */ for(i = upgrade; i; i = i->next) { diff --git a/lib/libalpm/trans.c b/lib/libalpm/trans.c index 59f6aeca..f7fbd2be 100644 --- a/lib/libalpm/trans.c +++ b/lib/libalpm/trans.c @@ -43,9 +43,6 @@ #include "sync.h" #include "alpm.h" -/* global handle variable */ -extern pmhandle_t *handle; - /** \addtogroup alpm_trans Transaction Functions * @brief Functions to manipulate libalpm transactions * @{ @@ -99,7 +96,7 @@ static int remove_lock(pmhandle_t *handle) } /** Initialize the transaction. */ -int SYMEXPORT alpm_trans_init(pmtransflag_t flags, +int SYMEXPORT alpm_trans_init(pmhandle_t *handle, pmtransflag_t flags, alpm_trans_cb_event event, alpm_trans_cb_conv conv, alpm_trans_cb_progress progress) { @@ -144,7 +141,7 @@ int SYMEXPORT alpm_trans_init(pmtransflag_t flags, return 0; } -static alpm_list_t *check_arch(alpm_list_t *pkgs) +static alpm_list_t *check_arch(pmhandle_t *handle, alpm_list_t *pkgs) { alpm_list_t *i; alpm_list_t *invalid = NULL; @@ -170,7 +167,7 @@ static alpm_list_t *check_arch(alpm_list_t *pkgs) } /** Prepare a transaction. */ -int SYMEXPORT alpm_trans_prepare(alpm_list_t **data) +int SYMEXPORT alpm_trans_prepare(pmhandle_t *handle, alpm_list_t **data) { pmtrans_t *trans; @@ -188,7 +185,7 @@ int SYMEXPORT alpm_trans_prepare(alpm_list_t **data) return 0; } - alpm_list_t *invalid = check_arch(trans->add); + alpm_list_t *invalid = check_arch(handle, trans->add); if(invalid) { if(data) { *data = invalid; @@ -214,7 +211,7 @@ int SYMEXPORT alpm_trans_prepare(alpm_list_t **data) } /** Commit a transaction. */ -int SYMEXPORT alpm_trans_commit(alpm_list_t **data) +int SYMEXPORT alpm_trans_commit(pmhandle_t *handle, alpm_list_t **data) { pmtrans_t *trans; @@ -253,7 +250,7 @@ int SYMEXPORT alpm_trans_commit(alpm_list_t **data) } /** Interrupt a transaction. */ -int SYMEXPORT alpm_trans_interrupt(void) +int SYMEXPORT alpm_trans_interrupt(pmhandle_t *handle) { pmtrans_t *trans; @@ -271,7 +268,7 @@ int SYMEXPORT alpm_trans_interrupt(void) } /** Release a transaction. */ -int SYMEXPORT alpm_trans_release(void) +int SYMEXPORT alpm_trans_release(pmhandle_t *handle) { pmtrans_t *trans; @@ -428,7 +425,7 @@ cleanup: return retval; } -int SYMEXPORT alpm_trans_get_flags() +pmtransflag_t SYMEXPORT alpm_trans_get_flags(pmhandle_t *handle) { /* Sanity checks */ ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, -1)); @@ -437,7 +434,7 @@ int SYMEXPORT alpm_trans_get_flags() return handle->trans->flags; } -alpm_list_t SYMEXPORT * alpm_trans_get_add() +alpm_list_t SYMEXPORT *alpm_trans_get_add(pmhandle_t *handle) { /* Sanity checks */ ASSERT(handle != NULL, return NULL); @@ -446,7 +443,7 @@ alpm_list_t SYMEXPORT * alpm_trans_get_add() return handle->trans->add; } -alpm_list_t SYMEXPORT * alpm_trans_get_remove() +alpm_list_t SYMEXPORT *alpm_trans_get_remove(pmhandle_t *handle) { /* Sanity checks */ ASSERT(handle != NULL, return NULL); -- cgit v1.2.3-24-g4f1b