]> saetta.ns0.it Git - zakconfi/libzakconfi/commitdiff
Added Confi::get_plugin_info.
authorAndrea Zagli <azagli@libero.it>
Thu, 18 Dec 2014 12:22:51 +0000 (13:22 +0100)
committerAndrea Zagli <azagli@libero.it>
Thu, 18 Dec 2014 12:22:51 +0000 (13:22 +0100)
src/libconfi.c
src/libconfi.h
tests/test.c

index e7acf449e0548005dd2b55bb0dd2f6d73e29ff79..0852f6594cdd3538985f53ca7b07d13d4f7aeb77 100644 (file)
@@ -23,7 +23,6 @@
 #include <string.h>
 
 #include <libgdaex/libgdaex.h>
-#include <libpeas/peas.h>
 
 #include "libconfi.h"
 
@@ -173,6 +172,26 @@ Confi
        return confi;
 }
 
+PeasPluginInfo
+*confi_get_plugin_info (Confi *confi)
+{
+       PeasPluginInfo *ppinfo;
+
+       ConfiPrivate *priv = CONFI_GET_PRIVATE (confi);
+
+       if (priv->pluggable == NULL)
+               {
+                       g_warning ("Not initialized.");
+                       ppinfo = NULL;
+               }
+       else
+               {
+                       ppinfo = peas_extension_base_get_plugin_info ((PeasExtensionBase *)priv->pluggable);
+               }
+
+       return ppinfo;
+}
+
 /**
  * confi_get_configs_list:
  * @cnc_string: the connection string to use to connect to database that
index beb8215f5aefe5841382e6bc243265e136e4ce55..4d43f97fb1adad3682cf8357df1e4726fc482342 100644 (file)
@@ -21,6 +21,8 @@
 
 #include <glib-object.h>
 
+#include <libpeas/peas.h>
+
 #include "commons.h"
 #include "confipluggable.h"
 
@@ -53,6 +55,8 @@ GType confi_get_type (void);
 
 Confi *confi_new (const gchar *cnc_string);
 
+PeasPluginInfo *confi_get_plugin_info (Confi *confi);
+
 GList *confi_get_configs_list (const gchar *cnc_string,
                                const gchar *filter);
 
index bdcb560289c275c53a9fc1223db0692264c412bf..06c92587ffa45ab9b6d39204401683a53e55ca6b 100644 (file)
@@ -24,10 +24,7 @@ traverse_func (GNode *node,
                gpointer data)
 {
        ConfiKey *ck = (ConfiKey *)node->data;
-       if (ck->id != 0)
-               {
-                       g_printf ("%s%s%s\n", ck->path, strcmp (ck->path, "") == 0 ? "" : "/", ck->key);
-               }
+       g_printf ("%s%s%s => %s\n", ck->path, g_strcmp0 (ck->path, "") == 0 ? "" : "/", ck->key, ck->value);
 
        return FALSE;
 }
@@ -37,6 +34,7 @@ main (int argc, char **argv)
 {
        PeasEngine *engine;
        Confi *confi;
+       PeasPluginInfo *ppinfo;
        GList *confis;
        GNode *tree;
 
@@ -71,6 +69,13 @@ main (int argc, char **argv)
                        return 0;
                }
 
+       ppinfo = confi_get_plugin_info (confi);
+       g_printf ("Plugin info\n");
+       g_printf ("Name: %s\n", peas_plugin_info_get_name (ppinfo));
+       g_printf ("Module dir: %s\n", peas_plugin_info_get_module_dir (ppinfo));
+       g_printf ("Module name: %s\n", peas_plugin_info_get_module_name (ppinfo));
+       g_printf ("\n");
+
        gchar *val = confi_path_get_value (confi, "folder/key1/key1_2");
        g_printf ("Value from key \"folder/key1/key1_2\"\n%s\n\n", val);
        confi_path_set_value (confi, "folder/key1/key1_2", "new value programmatically setted");