mirror of
https://github.com/moparisthebest/pacman
synced 2024-08-13 17:03:46 -04:00
Make pmfileconflict_t type public
This removes the need to write accessor methods for every type we have, and simplifies the API. Any type that doesn't need magic* can be converted in this fashion to make it easier for frontend applications to use, as well as make it less of a pain to introduce new such structs in the future. * "magic" meaning something like pmpkg_t where values can be lazy loaded. Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
parent
1cd6515af0
commit
bdf00d3dbd
@ -50,7 +50,7 @@ extern "C" {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Install reasons
|
* Install reasons.
|
||||||
* Why the package was installed.
|
* Why the package was installed.
|
||||||
*/
|
*/
|
||||||
typedef enum _pmpkgreason_t {
|
typedef enum _pmpkgreason_t {
|
||||||
@ -60,6 +60,16 @@ typedef enum _pmpkgreason_t {
|
|||||||
PM_PKG_REASON_DEPEND = 1
|
PM_PKG_REASON_DEPEND = 1
|
||||||
} pmpkgreason_t;
|
} pmpkgreason_t;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* File conflict type.
|
||||||
|
* Whether the conflict results from a file existing on the filesystem, or with
|
||||||
|
* another target in the transaction.
|
||||||
|
*/
|
||||||
|
typedef enum _pmfileconflicttype_t {
|
||||||
|
PM_FILECONFLICT_TARGET = 1,
|
||||||
|
PM_FILECONFLICT_FILESYSTEM
|
||||||
|
} pmfileconflicttype_t;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GPG signature verification options
|
* GPG signature verification options
|
||||||
*/
|
*/
|
||||||
@ -83,7 +93,14 @@ typedef struct __pmtrans_t pmtrans_t;
|
|||||||
typedef struct __pmdepend_t pmdepend_t;
|
typedef struct __pmdepend_t pmdepend_t;
|
||||||
typedef struct __pmdepmissing_t pmdepmissing_t;
|
typedef struct __pmdepmissing_t pmdepmissing_t;
|
||||||
typedef struct __pmconflict_t pmconflict_t;
|
typedef struct __pmconflict_t pmconflict_t;
|
||||||
typedef struct __pmfileconflict_t pmfileconflict_t;
|
|
||||||
|
/** File conflict */
|
||||||
|
typedef struct _pmfileconflict_t {
|
||||||
|
char *target;
|
||||||
|
pmfileconflicttype_t type;
|
||||||
|
char *file;
|
||||||
|
char *ctarget;
|
||||||
|
} pmfileconflict_t;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Logging facilities
|
* Logging facilities
|
||||||
@ -944,21 +961,6 @@ char *alpm_dep_compute_string(const pmdepend_t *dep);
|
|||||||
|
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
/** @addtogroup alpm_api_fileconflicts File Conflicts Functions
|
|
||||||
* Functions to manipulate file conflict information.
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
typedef enum _pmfileconflicttype_t {
|
|
||||||
PM_FILECONFLICT_TARGET = 1,
|
|
||||||
PM_FILECONFLICT_FILESYSTEM
|
|
||||||
} pmfileconflicttype_t;
|
|
||||||
|
|
||||||
const char *alpm_fileconflict_get_target(pmfileconflict_t *conflict);
|
|
||||||
pmfileconflicttype_t alpm_fileconflict_get_type(pmfileconflict_t *conflict);
|
|
||||||
const char *alpm_fileconflict_get_file(pmfileconflict_t *conflict);
|
|
||||||
const char *alpm_fileconflict_get_ctarget(pmfileconflict_t *conflict);
|
|
||||||
|
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -565,28 +565,4 @@ const char SYMEXPORT *alpm_conflict_get_reason(pmconflict_t *conflict)
|
|||||||
return conflict->reason;
|
return conflict->reason;
|
||||||
}
|
}
|
||||||
|
|
||||||
const char SYMEXPORT *alpm_fileconflict_get_target(pmfileconflict_t *conflict)
|
|
||||||
{
|
|
||||||
ASSERT(conflict != NULL, return NULL);
|
|
||||||
return conflict->target;
|
|
||||||
}
|
|
||||||
|
|
||||||
pmfileconflicttype_t SYMEXPORT alpm_fileconflict_get_type(pmfileconflict_t *conflict)
|
|
||||||
{
|
|
||||||
ASSERT(conflict != NULL, return -1);
|
|
||||||
return conflict->type;
|
|
||||||
}
|
|
||||||
|
|
||||||
const char SYMEXPORT *alpm_fileconflict_get_file(pmfileconflict_t *conflict)
|
|
||||||
{
|
|
||||||
ASSERT(conflict != NULL, return NULL);
|
|
||||||
return conflict->file;
|
|
||||||
}
|
|
||||||
|
|
||||||
const char SYMEXPORT *alpm_fileconflict_get_ctarget(pmfileconflict_t *conflict)
|
|
||||||
{
|
|
||||||
ASSERT(conflict != NULL, return NULL);
|
|
||||||
return conflict->ctarget;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* vim: set ts=2 sw=2 noet: */
|
/* vim: set ts=2 sw=2 noet: */
|
||||||
|
@ -30,13 +30,6 @@ struct __pmconflict_t {
|
|||||||
char *reason;
|
char *reason;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct __pmfileconflict_t {
|
|
||||||
char *target;
|
|
||||||
pmfileconflicttype_t type;
|
|
||||||
char *file;
|
|
||||||
char *ctarget;
|
|
||||||
};
|
|
||||||
|
|
||||||
pmconflict_t *_alpm_conflict_dup(const pmconflict_t *conflict);
|
pmconflict_t *_alpm_conflict_dup(const pmconflict_t *conflict);
|
||||||
void _alpm_conflict_free(pmconflict_t *conflict);
|
void _alpm_conflict_free(pmconflict_t *conflict);
|
||||||
alpm_list_t *_alpm_innerconflicts(pmhandle_t *handle, alpm_list_t *packages);
|
alpm_list_t *_alpm_innerconflicts(pmhandle_t *handle, alpm_list_t *packages);
|
||||||
|
@ -849,17 +849,14 @@ static int sync_trans(alpm_list_t *targets)
|
|||||||
case PM_ERR_FILE_CONFLICTS:
|
case PM_ERR_FILE_CONFLICTS:
|
||||||
for(i = data; i; i = alpm_list_next(i)) {
|
for(i = data; i; i = alpm_list_next(i)) {
|
||||||
pmfileconflict_t *conflict = alpm_list_getdata(i);
|
pmfileconflict_t *conflict = alpm_list_getdata(i);
|
||||||
switch(alpm_fileconflict_get_type(conflict)) {
|
switch(conflict->type) {
|
||||||
case PM_FILECONFLICT_TARGET:
|
case PM_FILECONFLICT_TARGET:
|
||||||
printf(_("%s exists in both '%s' and '%s'\n"),
|
printf(_("%s exists in both '%s' and '%s'\n"),
|
||||||
alpm_fileconflict_get_file(conflict),
|
conflict->file, conflict->target, conflict->ctarget);
|
||||||
alpm_fileconflict_get_target(conflict),
|
|
||||||
alpm_fileconflict_get_ctarget(conflict));
|
|
||||||
break;
|
break;
|
||||||
case PM_FILECONFLICT_FILESYSTEM:
|
case PM_FILECONFLICT_FILESYSTEM:
|
||||||
printf(_("%s: %s exists in filesystem\n"),
|
printf(_("%s: %s exists in filesystem\n"),
|
||||||
alpm_fileconflict_get_target(conflict),
|
conflict->target, conflict->file);
|
||||||
alpm_fileconflict_get_file(conflict));
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -173,17 +173,14 @@ int pacman_upgrade(alpm_list_t *targets)
|
|||||||
case PM_ERR_FILE_CONFLICTS:
|
case PM_ERR_FILE_CONFLICTS:
|
||||||
for(i = data; i; i = alpm_list_next(i)) {
|
for(i = data; i; i = alpm_list_next(i)) {
|
||||||
pmfileconflict_t *conflict = alpm_list_getdata(i);
|
pmfileconflict_t *conflict = alpm_list_getdata(i);
|
||||||
switch(alpm_fileconflict_get_type(conflict)) {
|
switch(conflict->type) {
|
||||||
case PM_FILECONFLICT_TARGET:
|
case PM_FILECONFLICT_TARGET:
|
||||||
printf(_("%s exists in both '%s' and '%s'\n"),
|
printf(_("%s exists in both '%s' and '%s'\n"),
|
||||||
alpm_fileconflict_get_file(conflict),
|
conflict->file, conflict->target, conflict->ctarget);
|
||||||
alpm_fileconflict_get_target(conflict),
|
|
||||||
alpm_fileconflict_get_ctarget(conflict));
|
|
||||||
break;
|
break;
|
||||||
case PM_FILECONFLICT_FILESYSTEM:
|
case PM_FILECONFLICT_FILESYSTEM:
|
||||||
printf(_("%s: %s exists in filesystem\n"),
|
printf(_("%s: %s exists in filesystem\n"),
|
||||||
alpm_fileconflict_get_target(conflict),
|
conflict->target, conflict->file);
|
||||||
alpm_fileconflict_get_file(conflict));
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user