diff options
author | Olivier Brunel <jjk@jjacky.com> | 2014-02-12 16:32:30 +0100 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2014-03-03 02:25:55 +0100 |
commit | cfaff6e0c14d29f07246386695bce0188ce6f44b (patch) | |
tree | 18e660b42b884b09b01238d200fb9c432a552700 /lib/libalpm/alpm.h | |
parent | 894773eb5bb054ba9750d9be269814c7e6672766 (diff) | |
download | pacman-cfaff6e0c14d29f07246386695bce0188ce6f44b.tar.gz pacman-cfaff6e0c14d29f07246386695bce0188ce6f44b.tar.xz |
Add events on pacnew/pacsave/pacorig file creation
ALPM still adds a warning to the log, but doesn't emit an event about
said warning, instead using a specific event to let the frontend what
happened/how to inform the user.
Note that there are 2 cases for installing a .pacnew file, to not
overwrite user changes and because file is in NoUpgrade. In the later case
the warning was a bit different: it happened before and said "extracting"
instead of "installed." Now both happen after and are phrased the same.
Signed-off-by: Olivier Brunel <jjk@jjacky.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
Diffstat (limited to 'lib/libalpm/alpm.h')
-rw-r--r-- | lib/libalpm/alpm.h | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h index 5fc9c0d2..b0adb95d 100644 --- a/lib/libalpm/alpm.h +++ b/lib/libalpm/alpm.h @@ -350,7 +350,15 @@ typedef enum _alpm_event_type_t { /** Key downloading is finished. */ ALPM_EVENT_KEY_DOWNLOAD_DONE, /** A log message was emitted; See alpm_event_log_t for arguments. */ - ALPM_EVENT_LOG + ALPM_EVENT_LOG, + /** A .pacnew file was created; See alpm_event_pacnew_created_t for arguments. */ + ALPM_EVENT_PACNEW_CREATED, + /** A .pacsave file was created; See alpm_event_pacsave_created_t for + * arguments */ + ALPM_EVENT_PACSAVE_CREATED, + /** A .pacorig file was created; See alpm_event_pacorig_created_t for + * arguments */ + ALPM_EVENT_PACORIG_CREATED } alpm_event_type_t; /** Events. @@ -442,6 +450,37 @@ typedef struct _alpm_event_pkgdownload_t { const char *file; } alpm_event_pkgdownload_t; +typedef struct _alpm_event_pacnew_created_t { + /** Type of event. */ + alpm_event_type_t type; + /** Whether the creation was result of a NoUpgrade or not */ + int from_noupgrade; + /** Old package. */ + alpm_pkg_t *oldpkg; + /** New Package. */ + alpm_pkg_t *newpkg; + /** Filename of the file without the .pacnew suffix */ + const char *file; +} alpm_event_pacnew_created_t; + +typedef struct _alpm_event_pacsave_created_t { + /** Type of event. */ + alpm_event_type_t type; + /** Old package. */ + alpm_pkg_t *oldpkg; + /** Filename of the file without the .pacsave suffix. */ + const char *file; +} alpm_event_pacsave_created_t; + +typedef struct _alpm_event_pacorig_created_t { + /** Type of event. */ + alpm_event_type_t type; + /** New package. */ + alpm_pkg_t *newpkg; + /** Filename of the file without the .pacorig suffix. */ + const char *file; +} alpm_event_pacorig_created_t; + /** Event callback. */ typedef void (*alpm_cb_event)(alpm_event_t *); |