[tracker/miner-fs-initable-iface: 7/8] tracker-miner-fs: Store parent's initable iface during iface initialization
- From: Aleksander Morgado <aleksm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/miner-fs-initable-iface: 7/8] tracker-miner-fs: Store parent's initable iface during iface initialization
- Date: Tue, 1 Feb 2011 11:38:12 +0000 (UTC)
commit 3aadad5343180cb96732b892f2c256bac9ce9753
Author: Aleksander Morgado <aleksander lanedo com>
Date: Tue Feb 1 11:54:48 2011 +0100
tracker-miner-fs: Store parent's initable iface during iface initialization
...otherwise we won't be able to chain up with exact parent's iface properly
src/libtracker-miner/tracker-miner-object.h | 2 --
src/miners/fs/tracker-miner-applications.c | 7 ++++---
src/miners/fs/tracker-miner-files.c | 7 ++++---
3 files changed, 8 insertions(+), 8 deletions(-)
---
diff --git a/src/libtracker-miner/tracker-miner-object.h b/src/libtracker-miner/tracker-miner-object.h
index 507ff6e..fb3d760 100644
--- a/src/libtracker-miner/tracker-miner-object.h
+++ b/src/libtracker-miner/tracker-miner-object.h
@@ -38,8 +38,6 @@ G_BEGIN_DECLS
#define TRACKER_IS_MINER_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), TRACKER_TYPE_MINER))
#define TRACKER_MINER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TRACKER_TYPE_MINER, TrackerMinerClass))
-#define TRACKER_MINER_GET_INITABLE_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), G_TYPE_INITABLE, GInitable))
-
#define TRACKER_MINER_ERROR_DOMAIN "TrackerMiner"
#define TRACKER_MINER_ERROR tracker_miner_error_quark()
diff --git a/src/miners/fs/tracker-miner-applications.c b/src/miners/fs/tracker-miner-applications.c
index f4fbf05..f888be6 100644
--- a/src/miners/fs/tracker-miner-applications.c
+++ b/src/miners/fs/tracker-miner-applications.c
@@ -70,6 +70,8 @@ struct ProcessApplicationData {
gchar *type;
};
+static GInitableIface* miner_applications_initable_parent_iface;
+
G_DEFINE_TYPE_WITH_CODE (TrackerMinerApplications, tracker_miner_applications, TRACKER_TYPE_MINER_FS,
G_IMPLEMENT_INTERFACE (G_TYPE_INITABLE,
miner_applications_initable_iface_init));
@@ -99,6 +101,7 @@ tracker_miner_applications_init (TrackerMinerApplications *ma)
static void
miner_applications_initable_iface_init (GInitableIface *iface)
{
+ miner_applications_initable_parent_iface = g_type_interface_peek_parent (iface);
iface->init = miner_applications_initable_init;
}
@@ -107,7 +110,6 @@ miner_applications_initable_init (GInitable *initable,
GCancellable *cancellable,
GError **error)
{
- GInitableIface *parent_iface;
TrackerMinerApplications *ma;
TrackerMinerFS *fs;
GFile *file;
@@ -116,8 +118,7 @@ miner_applications_initable_init (GInitable *initable,
fs = TRACKER_MINER_FS (initable);
/* Chain up parent's initable callback before calling child's one */
- parent_iface = g_type_interface_peek_parent (TRACKER_MINER_GET_INITABLE_IFACE (initable));
- if (!parent_iface->init (initable, cancellable, error)) {
+ if (!miner_applications_initable_parent_iface->init (initable, cancellable, error)) {
return FALSE;
}
diff --git a/src/miners/fs/tracker-miner-files.c b/src/miners/fs/tracker-miner-files.c
index b855236..77bd09a 100644
--- a/src/miners/fs/tracker-miner-files.c
+++ b/src/miners/fs/tracker-miner-files.c
@@ -244,6 +244,8 @@ static void miner_files_add_removable_or_optical_directory (TrackerMinerF
const gchar *mount_path,
const gchar *uuid);
+static GInitableIface* miner_files_initable_parent_iface;
+
G_DEFINE_TYPE_WITH_CODE (TrackerMinerFiles, tracker_miner_files, TRACKER_TYPE_MINER_FS,
G_IMPLEMENT_INTERFACE (G_TYPE_INITABLE,
miner_files_initable_iface_init));
@@ -324,6 +326,7 @@ tracker_miner_files_init (TrackerMinerFiles *mf)
static void
miner_files_initable_iface_init (GInitableIface *iface)
{
+ miner_files_initable_parent_iface = g_type_interface_peek_parent (iface);
iface->init = miner_files_initable_init;
}
@@ -332,7 +335,6 @@ miner_files_initable_init (GInitable *initable,
GCancellable *cancellable,
GError **error)
{
- GInitableIface *parent_iface;
TrackerMinerFiles *mf;
TrackerMinerFS *fs;
GSList *mounts = NULL;
@@ -343,8 +345,7 @@ miner_files_initable_init (GInitable *initable,
fs = TRACKER_MINER_FS (initable);
/* Chain up parent's initable callback before calling child's one */
- parent_iface = g_type_interface_peek_parent (TRACKER_MINER_GET_INITABLE_IFACE (initable));
- if (!parent_iface->init (initable, cancellable, error)) {
+ if (!miner_files_initable_parent_iface->init (initable, cancellable, error)) {
return FALSE;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]