[virt-tools-list] [libosinfo] Add osinfo_loader_process_default_path()

Zeeshan Ali zeeshanak at gnome.org
Wed Jun 22 23:08:01 UTC 2011


From: "Zeeshan Ali (Khattak)" <zeeshanak at gnome.org>

Add a method that enables applications to load the metadata osinfo
provides without having to specify any paths.
---
 docs/reference/Libosinfo-sections.txt |    1 +
 osinfo/Makefile.am                    |    3 ++-
 osinfo/libosinfo.syms                 |    1 +
 osinfo/osinfo_loader.c                |   17 +++++++++++++++++
 osinfo/osinfo_loader.h                |    1 +
 5 files changed, 22 insertions(+), 1 deletions(-)

diff --git a/docs/reference/Libosinfo-sections.txt b/docs/reference/Libosinfo-sections.txt
index 6c3ce95..f5fc2e4 100644
--- a/docs/reference/Libosinfo-sections.txt
+++ b/docs/reference/Libosinfo-sections.txt
@@ -70,6 +70,7 @@ osinfo_loader_new
 osinfo_loader_get_db
 osinfo_loader_process_path
 osinfo_loader_process_uri
+osinfo_loader_process_default_path
 <SUBSECTION Standard>
 OSINFO_LOADER
 OSINFO_IS_LOADER
diff --git a/osinfo/Makefile.am b/osinfo/Makefile.am
index 6b94e27..6cb824c 100644
--- a/osinfo/Makefile.am
+++ b/osinfo/Makefile.am
@@ -27,7 +27,8 @@ libosinfo_1_0_la_CFLAGS = \
 	-I$(top_srcdir) \
 	$(LIBXML_CFLAGS) \
 	$(GOBJECT_CFLAGS) \
-	$(GIO_CFLAGS)
+	$(GIO_CFLAGS) \
+	-DDATA_DIR='"$(pkgdatadir)/data/oses"'
 
 libosinfo_1_0_la_LDFLAGS = \
 	$(COVERAGE_LDFLAGS) \
diff --git a/osinfo/libosinfo.syms b/osinfo/libosinfo.syms
index 2ea5b55..80579b0 100644
--- a/osinfo/libosinfo.syms
+++ b/osinfo/libosinfo.syms
@@ -119,6 +119,7 @@ LIBOSINFO_0.0.1 {
 	osinfo_loader_get_type;
 	osinfo_loader_process_path;
 	osinfo_loader_process_uri;
+	osinfo_loader_process_default_path;
 	osinfo_loader_get_db;
 	osinfo_deployment_new;
 	osinfo_deployment_get_type;
diff --git a/osinfo/osinfo_loader.c b/osinfo/osinfo_loader.c
index ea93a63..fa2cc2d 100644
--- a/osinfo/osinfo_loader.c
+++ b/osinfo/osinfo_loader.c
@@ -964,6 +964,23 @@ void osinfo_loader_process_uri(OsinfoLoader *loader,
     g_object_unref(file);
 }
 
+/**
+ * osinfo_loader_process_default_path:
+ * @loader: the loader object
+ * @err: (out): filled with error information upon failure
+ *
+ * Loads data from the default path.
+ */
+void osinfo_loader_process_default_path(OsinfoLoader *loader,
+                                        GError **err)
+{
+    GFile *file = g_file_new_for_path(DATA_DIR);
+    osinfo_loader_process_file(loader,
+                               file,
+                               err);
+    g_object_unref(file);
+}
+
 /*
  * Local variables:
  *  indent-tabs-mode: nil
diff --git a/osinfo/osinfo_loader.h b/osinfo/osinfo_loader.h
index cc92495..e63cb5b 100644
--- a/osinfo/osinfo_loader.h
+++ b/osinfo/osinfo_loader.h
@@ -71,6 +71,7 @@ OsinfoDb *osinfo_loader_get_db(OsinfoLoader *loader);
 
 void osinfo_loader_process_path(OsinfoLoader *loader, const gchar *path, GError **err);
 void osinfo_loader_process_uri(OsinfoLoader *loader, const gchar *uri, GError **err);
+void osinfo_loader_process_default_path(OsinfoLoader *loader, GError **err);
 
 
 #endif /* __OSINFO_LOADER_H__ */
-- 
1.7.5.4




More information about the virt-tools-list mailing list