summaryrefslogtreecommitdiff
path: root/lib/libalpm/alpm.h
diff options
context:
space:
mode:
authorOlivier Brunel <jjk@jjacky.com>2014-01-10 16:25:17 +0100
committerAllan McRae <allan@archlinux.org>2014-03-03 11:25:54 +1000
commitbd3d1a17c2ec4297f05d092f0b93d025f811aa8a (patch)
treee141d631a1a45f08801a7c7b5f70f0db966e4078 /lib/libalpm/alpm.h
parent01cc55a1f47c99d3f296e710904b5f3fc31e0b1d (diff)
downloadpacman-bd3d1a17c2ec4297f05d092f0b93d025f811aa8a.tar.xz
Add events _PKGDOWNLOAD_{START, DONE, FAILED}
These will be emmitted when download a package file from a repository, indicating that the download starts, and whether it was successfull or not. Note that when multiple servers are available, no event is emmitted when switching to another server. (This doesn't apply to alpm_fetch_pkgurl(), but since it is called by the frontend, it shouldn't have problems knowing when the download starts and when it ends.) 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.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h
index b129ff9b..5fc9c0d2 100644
--- a/lib/libalpm/alpm.h
+++ b/lib/libalpm/alpm.h
@@ -322,6 +322,15 @@ typedef enum _alpm_event_type_t {
ALPM_EVENT_RETRIEVE_DONE,
/** Not all files were successfully downloaded from a repository. */
ALPM_EVENT_RETRIEVE_FAILED,
+ /** A file will be downloaded from a repository; See alpm_event_pkgdownload_t
+ * for arguments */
+ ALPM_EVENT_PKGDOWNLOAD_START,
+ /** A file was downloaded from a repository; See alpm_event_pkgdownload_t
+ * for arguments */
+ ALPM_EVENT_PKGDOWNLOAD_DONE,
+ /** A file failed to be downloaded from a repository; See
+ * alpm_event_pkgdownload_t for arguments */
+ ALPM_EVENT_PKGDOWNLOAD_FAILED,
/** Disk space usage will be computed for a package. */
ALPM_EVENT_DISKSPACE_START,
/** Disk space usage was computed for a package. */
@@ -426,6 +435,13 @@ typedef struct _alpm_event_log_t {
va_list args;
} alpm_event_log_t;
+typedef struct _alpm_event_pkgdownload_t {
+ /** Type of event. */
+ alpm_event_type_t type;
+ /** Name of the file */
+ const char *file;
+} alpm_event_pkgdownload_t;
+
/** Event callback. */
typedef void (*alpm_cb_event)(alpm_event_t *);