[tracker/async-queries] tracker-db-manager: Add tracker_db_manager_get_interface_pool().



commit a6be9d4ee1e138e8244821e6050f4277104b7674
Author: Carlos Garnacho <carlosg gnome org>
Date:   Tue Apr 13 16:43:58 2010 +0200

    tracker-db-manager: Add tracker_db_manager_get_interface_pool().
    
    This function returns a global interface pool, this is only available if
    the DB manager has been initialized.

 src/libtracker-db/tracker-db-manager.c |   15 +++++++++++++++
 src/libtracker-db/tracker-db-manager.h |    3 +++
 2 files changed, 18 insertions(+), 0 deletions(-)
---
diff --git a/src/libtracker-db/tracker-db-manager.c b/src/libtracker-db/tracker-db-manager.c
index 03e5e7d..cd224fe 100644
--- a/src/libtracker-db/tracker-db-manager.c
+++ b/src/libtracker-db/tracker-db-manager.c
@@ -177,6 +177,8 @@ static gpointer              db_type_enum_class_pointer;
 static TrackerDBInterface   *resources_iface;
 static TrackerDBManagerFlags old_flags = 0;
 
+static TrackerDBInterfacePool *interface_pool = NULL;
+
 #define TRACKER_DB_INTERFACE_POOL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRACKER_TYPE_DB_INTERFACE_POOL, TrackerDBInterfacePoolPrivate))
 
 G_DEFINE_TYPE (TrackerDBInterfacePool, tracker_db_interface_pool, G_TYPE_OBJECT)
@@ -922,6 +924,8 @@ tracker_db_manager_init (TrackerDBManagerFlags  flags,
 		                                                        TRACKER_DB_CONTENTS);
 	}
 
+        interface_pool = g_object_new (TRACKER_TYPE_DB_INTERFACE_POOL, NULL);
+
 	return TRUE;
 }
 
@@ -985,6 +989,9 @@ tracker_db_manager_shutdown (void)
 	g_unlink (in_use_filename);
 
 	g_free (in_use_filename);
+
+        g_object_unref (interface_pool);
+        interface_pool = NULL;
 }
 
 void
@@ -1227,6 +1234,14 @@ tracker_db_manager_has_enough_space  (void)
 	return tracker_file_system_has_enough_space (data_dir, TRACKER_DB_MIN_REQUIRED_SPACE, FALSE);
 }
 
+TrackerDBInterfacePool *
+tracker_db_manager_get_interface_pool (void)
+{
+        g_return_val_if_fail (initialized != FALSE, NULL);
+
+        return interface_pool;
+}
+
 static void
 tracker_db_interface_pool_finalize (GObject *object)
 {
diff --git a/src/libtracker-db/tracker-db-manager.h b/src/libtracker-db/tracker-db-manager.h
index 5cf1743..2f09903 100644
--- a/src/libtracker-db/tracker-db-manager.h
+++ b/src/libtracker-db/tracker-db-manager.h
@@ -84,6 +84,9 @@ gboolean            tracker_db_manager_has_enough_space  (void);
 TrackerDBManagerFlags
                     tracker_db_manager_get_flags         (void);
 
+TrackerDBInterfacePool *
+                    tracker_db_manager_get_interface_pool (void);
+
 /* TrackerDBInterfacePool methods */
 GType  tracker_db_interface_pool_get_type (void) G_GNUC_CONST;
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]