[gnome-builder/wip/chergert/pipeline-merge: 10/78] transfer: add IdeTransfer::has_completed() vfunc
- From: Matthew Leeds <mwleeds src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/wip/chergert/pipeline-merge: 10/78] transfer: add IdeTransfer::has_completed() vfunc
- Date: Fri, 10 Feb 2017 03:27:57 +0000 (UTC)
commit cf8511f8c5047c787d7ab70d8e2d7684d306cc58
Author: Christian Hergert <chergert redhat com>
Date: Fri Feb 3 12:19:10 2017 -0800
transfer: add IdeTransfer::has_completed() vfunc
This allows a check by transfer implementations to override whether or not
they have completed. This might be useful for transfers that can be
replayed due to something changing behind the scenes. (Such as a flatpak
app/runtime installation).
libide/transfers/ide-transfer.c | 3 +++
libide/transfers/ide-transfer.h | 1 +
2 files changed, 4 insertions(+), 0 deletions(-)
---
diff --git a/libide/transfers/ide-transfer.c b/libide/transfers/ide-transfer.c
index 4bd1a5a..d4d1832 100644
--- a/libide/transfers/ide-transfer.c
+++ b/libide/transfers/ide-transfer.c
@@ -128,5 +128,8 @@ ide_transfer_has_completed (IdeTransfer *self)
{
g_return_val_if_fail (IDE_IS_TRANSFER (self), FALSE);
+ if (IDE_TRANSFER_GET_IFACE (self)->has_completed)
+ return IDE_TRANSFER_GET_IFACE (self)->has_completed (self);
+
return !!g_object_get_data (G_OBJECT (self), "IDE_TRANSFER_COMPLETED");
}
diff --git a/libide/transfers/ide-transfer.h b/libide/transfers/ide-transfer.h
index a8cdcf0..7dfe7fe 100644
--- a/libide/transfers/ide-transfer.h
+++ b/libide/transfers/ide-transfer.h
@@ -38,6 +38,7 @@ struct _IdeTransferInterface
gboolean (*execute_finish) (IdeTransfer *self,
GAsyncResult *result,
GError **error);
+ gboolean (*has_completed) (IdeTransfer *self);
};
gdouble ide_transfer_get_progress (IdeTransfer *self);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]