gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r13585 - in gnunet-setup: contrib src


From: gnunet
Subject: [GNUnet-SVN] r13585 - in gnunet-setup: contrib src
Date: Sat, 6 Nov 2010 14:59:25 +0100

Author: grothoff
Date: 2010-11-06 14:59:25 +0100 (Sat, 06 Nov 2010)
New Revision: 13585

Added:
   gnunet-setup/src/gnunet-setup-datastore-config.c
Modified:
   gnunet-setup/contrib/gnunet-setup.glade
   gnunet-setup/src/Makefile.am
   gnunet-setup/src/gnunet-setup-datacache-plugins.c
   gnunet-setup/src/gnunet-setup-datastore-plugins.c
   gnunet-setup/src/gnunet-setup-transport-plugins.c
Log:
datastore config testing

Modified: gnunet-setup/contrib/gnunet-setup.glade
===================================================================
--- gnunet-setup/contrib/gnunet-setup.glade     2010-11-06 13:59:07 UTC (rev 
13584)
+++ gnunet-setup/contrib/gnunet-setup.glade     2010-11-06 13:59:25 UTC (rev 
13585)
@@ -1346,9 +1346,52 @@
                               </packing>
                             </child>
                             <child type="tab">
-                              <object class="GtkLabel" id="label5">
+                              <object class="GtkHBox" id="hbox3">
                                 <property name="visible">True</property>
-                                <property name="label" 
translatable="yes">MySQL</property>
+                                <child>
+                                  <object class="GtkLabel" 
id="GNUNET_setup_datastore_mysql_tab_label">
+                                    <property name="visible">True</property>
+                                    <property name="label" 
translatable="yes">MySQL</property>
+                                  </object>
+                                  <packing>
+                                    <property name="position">0</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkButton" 
id="GNUNET_setup_datastore_mysql_tab_test_button">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property 
name="receives_default">True</property>
+                                    <property 
name="use_action_appearance">False</property>
+                                    <property name="relief">none</property>
+                                    <signal name="clicked" 
handler="GNUNET_setup_datastore_mysql_tab_test_button_clicked_cb" swapped="no"/>
+                                    <child>
+                                      <object class="GtkImage" 
id="GNUNET_setup_datastore_mysql_tab_test_image">
+                                        <property 
name="visible">True</property>
+                                        <property 
name="stock">gtk-refresh</property>
+                                      </object>
+                                    </child>
+                                  </object>
+                                  <packing>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkImage" 
id="GNUNET_setup_datastore_mysql_tab_ok_image">
+                                    <property name="stock">gtk-ok</property>
+                                  </object>
+                                  <packing>
+                                    <property name="position">2</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkImage" 
id="GNUNET_setup_datastore_mysql_tab_error_image">
+                                    <property 
name="stock">gtk-dialog-error</property>
+                                  </object>
+                                  <packing>
+                                    <property name="position">3</property>
+                                  </packing>
+                                </child>
                               </object>
                               <packing>
                                 <property name="position">1</property>
@@ -1388,9 +1431,52 @@
                               </packing>
                             </child>
                             <child type="tab">
-                              <object class="GtkLabel" id="label6">
+                              <object class="GtkHBox" id="hbox8">
                                 <property name="visible">True</property>
-                                <property name="label" 
translatable="yes">Postgres</property>
+                                <child>
+                                  <object class="GtkLabel" 
id="GNUNET_setup_datastore_postgres_tab_label">
+                                    <property name="visible">True</property>
+                                    <property name="label" 
translatable="yes">Postgres</property>
+                                  </object>
+                                  <packing>
+                                    <property name="position">0</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkButton" 
id="GNUNET_setup_datastore_postgres_tab_test_button">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property 
name="receives_default">True</property>
+                                    <property 
name="use_action_appearance">False</property>
+                                    <property name="relief">none</property>
+                                    <signal name="clicked" 
handler="GNUNET_setup_datastore_postgres_tab_test_button_clicked_cb" 
swapped="no"/>
+                                    <child>
+                                      <object class="GtkImage" 
id="GNUNET_setup_datastore_postgres_tab_test_image">
+                                        <property 
name="visible">True</property>
+                                        <property 
name="stock">gtk-refresh</property>
+                                      </object>
+                                    </child>
+                                  </object>
+                                  <packing>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkImage" 
id="GNUNET_setup_datastore_postgres_tab_ok_image">
+                                    <property name="stock">gtk-ok</property>
+                                  </object>
+                                  <packing>
+                                    <property name="position">2</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkImage" 
id="GNUNET_setup_datastore_postgres_tab_error_image">
+                                    <property 
name="stock">gtk-dialog-error</property>
+                                  </object>
+                                  <packing>
+                                    <property name="position">3</property>
+                                  </packing>
+                                </child>
                               </object>
                               <packing>
                                 <property name="position">2</property>

Modified: gnunet-setup/src/Makefile.am
===================================================================
--- gnunet-setup/src/Makefile.am        2010-11-06 13:59:07 UTC (rev 13584)
+++ gnunet-setup/src/Makefile.am        2010-11-06 13:59:25 UTC (rev 13585)
@@ -12,6 +12,7 @@
   gnunet-setup-options.c gnunet-setup-options.h \
   gnunet-setup-transport-plugins.c \
   gnunet-setup-datastore-plugins.c \
+  gnunet-setup-datastore-config.c \
   gnunet-setup-datacache-plugins.c \
   gnunet-setup-hostlist-editing.c \
   os_installation.c 

Modified: gnunet-setup/src/gnunet-setup-datacache-plugins.c
===================================================================
--- gnunet-setup/src/gnunet-setup-datacache-plugins.c   2010-11-06 13:59:07 UTC 
(rev 13584)
+++ gnunet-setup/src/gnunet-setup-datacache-plugins.c   2010-11-06 13:59:25 UTC 
(rev 13585)
@@ -26,6 +26,13 @@
 #include "gnunet-setup.h"
 
 
+/**
+ * Test if the given plugin exists and change the sensitivity
+ * of the widget accordingly.
+ *
+ * @param widget widget to update
+ * @param name name of the plugin to check
+ */
 static void
 test_plugin (GtkWidget *widget,
             const char *name)

Added: gnunet-setup/src/gnunet-setup-datastore-config.c
===================================================================
--- gnunet-setup/src/gnunet-setup-datastore-config.c                            
(rev 0)
+++ gnunet-setup/src/gnunet-setup-datastore-config.c    2010-11-06 13:59:25 UTC 
(rev 13585)
@@ -0,0 +1,117 @@
+/*
+     This file is part of GNUnet.
+     (C) 2010 Christian Grothoff (and other contributing authors)
+
+     GNUnet is free software; you can redistribute it and/or modify
+     it under the terms of the GNU General Public License as published
+     by the Free Software Foundation; either version 2, or (at your
+     option) any later version.
+
+     GNUnet is distributed in the hope that it will be useful, but
+     WITHOUT ANY WARRANTY; without even the implied warranty of
+     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+     General Public License for more details.
+
+     You should have received a copy of the GNU General Public License
+     along with GNUnet; see the file COPYING.  If not, write to the
+     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+     Boston, MA 02111-1307, USA.
+*/
+
+/**
+ * @file src/gnunet-setup-datastore-config.c
+ * @brief test datastore configuration
+ * @author Christian Grothoff
+ */
+#include "gnunet-setup.h"
+#include <gnunet/gnunet_datastore_plugin.h>
+
+/**
+ * Stub implementation of the 'DiskUtilizationChange' callback.
+ */
+static void
+duc_dummy (void *cls, int delta)
+{
+  /* do nothing */
+}
+
+
+/**
+ * Test if the configuration works for the given plugin.
+ *
+ * @param name name of the plugin to check
+ * @return GNUNET_OK on success, GNUNET_SYSERR if the config is wrong
+ */
+static int
+test_config (const char *name)
+{
+  struct GNUNET_DATASTORE_PluginEnvironment env =
+    {
+      cfg,
+      &duc_dummy, NULL
+    };
+  void *ret;
+
+  ret = GNUNET_PLUGIN_load (name, &env);
+  if (NULL == ret)
+    return GNUNET_SYSERR;
+  GNUNET_PLUGIN_unload (name, ret);
+  return GNUNET_OK;
+}
+
+
+static void
+show (const char *name)
+{
+  gtk_widget_show (GTK_WIDGET (gtk_builder_get_object (builder, 
+                                                      name)));
+}
+
+
+static void
+hide (const char *name)
+{
+  gtk_widget_hide (GTK_WIDGET (gtk_builder_get_object (builder, 
+                                                      name)));
+}
+
+
+void
+GNUNET_setup_datastore_mysql_tab_test_button_clicked_cb (GtkWidget *widget,
+                                                        gpointer user_data)
+{
+  if (GNUNET_OK == 
+      test_config ("libgnunet_plugin_datastore_mysql"))
+    {
+      show ("GNUNET_setup_datastore_mysql_tab_ok_image");
+      hide ("GNUNET_setup_datastore_mysql_tab_error_image");
+    }
+  else
+    {
+      hide ("GNUNET_setup_datastore_mysql_tab_ok_image");
+      show ("GNUNET_setup_datastore_mysql_tab_error_image");
+    }
+}
+
+
+void
+GNUNET_setup_datastore_postgres_tab_test_button_clicked_cb (GtkWidget *widget,
+                                                           gpointer user_data)
+{
+  if (GNUNET_OK == 
+      test_config ("libgnunet_plugin_datastore_postgres"))
+    {
+      show ("GNUNET_setup_datastore_postgres_tab_ok_image");
+      hide ("GNUNET_setup_datastore_postgres_tab_error_image");
+    }
+  else
+    {
+      hide ("GNUNET_setup_datastore_postgres_tab_ok_image");
+      show ("GNUNET_setup_datastore_postgres_tab_error_image");
+    }
+}
+
+
+
+/* end of gnunet-setup-datastore-config.c */
+

Modified: gnunet-setup/src/gnunet-setup-datastore-plugins.c
===================================================================
--- gnunet-setup/src/gnunet-setup-datastore-plugins.c   2010-11-06 13:59:07 UTC 
(rev 13584)
+++ gnunet-setup/src/gnunet-setup-datastore-plugins.c   2010-11-06 13:59:25 UTC 
(rev 13585)
@@ -25,7 +25,13 @@
  */
 #include "gnunet-setup.h"
 
-
+/**
+ * Test if the given plugin exists and change the sensitivity
+ * of the widget accordingly.
+ *
+ * @param widget widget to update
+ * @param name name of the plugin to check
+ */
 static void
 test_plugin (GtkWidget *widget,
             const char *name)
@@ -46,7 +52,6 @@
 }
 
 
-
 void
 GNUNET_setup_fs_datastore_sqlite_radiobutton_realize_cb (GtkWidget *widget,
                                                         gpointer user_data)

Modified: gnunet-setup/src/gnunet-setup-transport-plugins.c
===================================================================
--- gnunet-setup/src/gnunet-setup-transport-plugins.c   2010-11-06 13:59:07 UTC 
(rev 13584)
+++ gnunet-setup/src/gnunet-setup-transport-plugins.c   2010-11-06 13:59:25 UTC 
(rev 13585)
@@ -26,6 +26,13 @@
 #include "gnunet-setup.h"
 
 
+/**
+ * Test if the given plugin exists and change the sensitivity
+ * of the widget accordingly.
+ *
+ * @param widget widget to update
+ * @param name name of the plugin to check
+ */
 static void
 test_plugin (GtkWidget *widget,
             const char *name)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]