gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r13494 - in gnunet-setup: . contrib src


From: gnunet
Subject: [GNUnet-SVN] r13494 - in gnunet-setup: . contrib src
Date: Tue, 2 Nov 2010 16:42:11 +0100

Author: grothoff
Date: 2010-11-02 16:42:11 +0100 (Tue, 02 Nov 2010)
New Revision: 13494

Removed:
   gnunet-setup/src/common.c
   gnunet-setup/src/common.h
Modified:
   gnunet-setup/TODO
   gnunet-setup/contrib/gnunet-setup.glade
   gnunet-setup/src/Makefile.am
   gnunet-setup/src/gnunet-setup.c
   gnunet-setup/src/os_installation.c
Log:
main dialog done

Modified: gnunet-setup/TODO
===================================================================
--- gnunet-setup/TODO   2010-11-02 14:15:11 UTC (rev 13493)
+++ gnunet-setup/TODO   2010-11-02 15:42:11 UTC (rev 13494)
@@ -1,7 +1,3 @@
-* main (launch master dialog)
-  - launch dialog, not run window! 
-  - handle dialog close (X)
-* implement cancel, save, save-as
 * draft UI <-> config linkage specification struct:
   - help text, help URI
   - config options

Modified: gnunet-setup/contrib/gnunet-setup.glade
===================================================================
--- gnunet-setup/contrib/gnunet-setup.glade     2010-11-02 14:15:11 UTC (rev 
13493)
+++ gnunet-setup/contrib/gnunet-setup.glade     2010-11-02 15:42:11 UTC (rev 
13494)
@@ -1561,9 +1561,9 @@
       </object>
     </child>
     <action-widgets>
-      <action-widget response="-4">GNUNET_setup_cancel_button</action-widget>
-      <action-widget response="-6">GNUNET_setup_save_as_button</action-widget>
-      <action-widget response="-5">GNUNET_setup_save_button</action-widget>
+      <action-widget response="-6">GNUNET_setup_cancel_button</action-widget>
+      <action-widget response="-5">GNUNET_setup_save_as_button</action-widget>
+      <action-widget response="-3">GNUNET_setup_save_button</action-widget>
     </action-widgets>
   </object>
   <object class="GtkAdjustment" id="adjustment1">

Modified: gnunet-setup/src/Makefile.am
===================================================================
--- gnunet-setup/src/Makefile.am        2010-11-02 14:15:11 UTC (rev 13493)
+++ gnunet-setup/src/Makefile.am        2010-11-02 15:42:11 UTC (rev 13494)
@@ -8,7 +8,6 @@
 bin_PROGRAMS = gnunet-setup
 
 gnunet_setup_SOURCES = \
-  common.c common.h \
   gnunet-setup.c \
   os_installation.c 
 gnunet_setup_LDADD = \

Deleted: gnunet-setup/src/common.c
===================================================================
--- gnunet-setup/src/common.c   2010-11-02 14:15:11 UTC (rev 13493)
+++ gnunet-setup/src/common.c   2010-11-02 15:42:11 UTC (rev 13494)
@@ -1,85 +0,0 @@
-/*
-     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/common.c
- * @brief Common functions used in various places
- * @author Christian Grothoff
- */
-#include "common.h"
-
-
-/**
- * Get the name of the directory where all of our package
- * data is stored ($PREFIX/share/)
- * 
- * @return name of the data directory
- */
-const char *
-GNUNET_GTK_get_data_dir ()
-{
-  static char *dd;
-
-  if (dd == NULL)
-    dd = GNUNET_GTK_installation_get_path (GNUNET_OS_IPK_DATADIR);
-  return dd;
-}
-
-
-
-/**
- * Create an initialize a new builder based on the
- * GNUnet-GTK glade file.
- *
- * @param filename name of the resource file to load
- * @return NULL on error
- */
-GtkBuilder *
-GNUNET_GTK_get_new_builder (const char *filename)
-{
-  char *glade_path;
-  GtkBuilder *ret;
-  GError *error;
-
-  ret = gtk_builder_new ();
-  gtk_builder_set_translation_domain (ret, "gnunet-gtk");
-  GNUNET_asprintf (&glade_path,
-                  "%s%s",
-                  GNUNET_GTK_get_data_dir (),
-                  filename);
-  error = NULL;
-  if (0 == gtk_builder_add_from_file (ret, glade_path, &error))
-    {
-      GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
-                 _("Failed to load `%s': %s\n"),
-                 glade_path,
-                 error->message);
-      g_error_free (error);
-      GNUNET_free (glade_path);
-      return NULL;
-    }
-  gtk_builder_connect_signals (ret, NULL);
-  GNUNET_free (glade_path);
-  return ret;
-}
-
-
-
-/* end of common.c */

Deleted: gnunet-setup/src/common.h
===================================================================
--- gnunet-setup/src/common.h   2010-11-02 14:15:11 UTC (rev 13493)
+++ gnunet-setup/src/common.h   2010-11-02 15:42:11 UTC (rev 13494)
@@ -1,78 +0,0 @@
-/*
-     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/common.h
- * @brief Common includes for all gnunet-gtk source files
- * @author Christian Grothoff
- */
-#ifndef COMMON_H
-#define COMMON_H
-
-#ifndef HAVE_USED_CONFIG_H
-#define HAVE_USED_CONFIG_H
-#include "gnunet_setup_config.h"
-#endif
-#include <gnunet/platform.h>
-#include <gnunet/gnunet_util_lib.h>
-#include <gladeui/glade.h>
-#include <gtk/gtk.h>
-
-
-/**
- * Get the name of the directory where all of our package
- * data is stored ($PREFIX/share/)
- * 
- * @return name of the data directory
- */
-const char *
-GNUNET_GTK_get_data_dir (void);
-
-/**
- * @brief get the path to a specific GNUnet installation directory or,
- * with GNUNET_IPK_SELF_PREFIX, the current running apps installation directory
- * @author Milan
- * @return a pointer to the dir path (to be freed by the caller)
- */
-char *
-GNUNET_GTK_installation_get_path (enum GNUNET_OS_InstallationPathKind dirkind);
-
-
-/**
- * Create an initialize a new builder based on the
- * GNUnet-setup glade file.
- *
- * @param filename name of the resource file to load
- * @return NULL on error
- */
-GtkBuilder *
-GNUNET_GTK_get_new_builder (const char *filename);
-
-/**
- * Get an object from the main window.
- *
- * @param name name of the object
- * @return NULL on error
- */
-GObject *
-GNUNET_GTK_get_main_window_object (const char *name);
-
-#endif
-/* end of common.h */

Modified: gnunet-setup/src/gnunet-setup.c
===================================================================
--- gnunet-setup/src/gnunet-setup.c     2010-11-02 14:15:11 UTC (rev 13493)
+++ gnunet-setup/src/gnunet-setup.c     2010-11-02 15:42:11 UTC (rev 13494)
@@ -26,245 +26,116 @@
 #if ENABLE_NLS
 #include <locale.h>
 #endif
-#include "common.h"
+#ifndef HAVE_USED_CONFIG_H
+#define HAVE_USED_CONFIG_H
+#include "gnunet_setup_config.h"
+#endif
+#include <gnunet/platform.h>
+#include <gnunet/gnunet_directories.h>
+#include <gnunet/gnunet_util_lib.h>
+#include <gladeui/glade.h>
+#include <gtk/gtk.h>
 
 /**
- * Initialize GNU gettext for message translation.
+ * Builder for the main window.
  */
-static void
-setup_nls ()
-{
-#if ENABLE_NLS
-  char *path;
+static GtkBuilder *builder; 
 
-  setlocale (LC_ALL, "");
-  GNUNET_asprintf (&path,
-                  "%s/%s/locale/",
-                  GNUNET_GTK_get_data_dir (),
-                  PACKAGE_NAME);
-  bindtextdomain ("gnunet-setup", path);
-  textdomain ("gnunet-setup");
-  bind_textdomain_codeset ("GNUnet", "UTF-8");
-  bind_textdomain_codeset ("gnunet-setup", "UTF-8");
-  GNUNET_free (path);
-#else
-  fprintf (stderr,
-          "WARNING: gnunet-setup was compiled without i18n support (did CFLAGS 
contain -Werror?).\n");
-#endif
-}
+/**
+ * Our configuration.
+ */
+static struct GNUNET_CONFIGURATION_Handle *cfg;
 
 
 /**
- * Main context for our event loop.
+ * @brief get the path to a specific GNUnet installation directory or,
+ * with GNUNET_IPK_SELF_PREFIX, the current running apps installation directory
+ * @author Milan
+ * @return a pointer to the dir path (to be freed by the caller)
  */
-struct MainContext
-{
+char *
+GNUNET_GTK_installation_get_path (enum GNUNET_OS_InstallationPathKind dirkind);
 
-  /**
-   * The scheduler.
-   */
-  struct GNUNET_SCHEDULER_Handle *sched;
 
-  /**
-   * Main loop.
-   */
-  GMainLoop *gml;
 
-  /**
-   * GTK's main context.
-   */
-  GMainContext *gmc;
-
-  /**
-   * Recycled array of polling descriptors.
-   */
-  GPollFD *cached_poll_array;
-
-  /**
-   * The main window.
-   */
-  GtkWidget *main_window;
-
-  /**
-   * Read set.
-   */
-  struct GNUNET_NETWORK_FDSet *rs;
-
-  /**
-   * Write set.
-   */
-  struct GNUNET_NETWORK_FDSet *ws;
-
-  /**
-   * Builder for the main window.
-   */
-  GtkBuilder *builder; 
-
-  /**
-   * Our configuration.
-   */
-  const struct GNUNET_CONFIGURATION_Handle *cfg;
-
-  /**
-   * Size of the 'cached_poll_array'.
-   */
-  guint cached_poll_array_size;
-
-  /**
-   * Return value from last g_main_context_query call.
-   */
-  guint poll_array_active;
-
-  /**
-   * Maximum GTK priority.
-   */
-  gint max_priority;
-
-};
-
-
 /**
- * Free resources of the given context.
- *
- * @param context what to free, can be NULL
+ * Get the name of the directory where all of our package
+ * data is stored ($PREFIX/share/)
+ * 
+ * @return name of the data directory
  */
-static void
-free_context (struct MainContext *context)
+const char *
+GNUNET_GTK_get_data_dir ()
 {
-  if (context == NULL)
-    return;
-  g_free (context->cached_poll_array);
-  GNUNET_NETWORK_fdset_destroy (context->rs);
-  GNUNET_NETWORK_fdset_destroy (context->ws);
-  g_object_unref (G_OBJECT (context->builder));
-  g_main_loop_unref (context->gml);
-  GNUNET_free (context);
+  static char *dd;
+
+  if (dd == NULL)
+    dd = GNUNET_GTK_installation_get_path (GNUNET_OS_IPK_DATADIR);
+  return dd;
 }
 
 
 /**
- * Run GTK tasks that are ready.
+ * Create an initialize a new builder based on the
+ * GNUnet-GTK glade file.
  *
- * @param cls the 'struct MainContext'
- * @param tc task context
+ * @param filename name of the resource file to load
+ * @return NULL on error
  */
-static void
-run_ready (void *cls,
-          const struct GNUNET_SCHEDULER_TaskContext *tc);
-
-
-/**
- * Schedule the main GTK Event loop with the GNUnet scheduler.
- *
- * @param cls the 'struct MainContext'
- * @param tc task context
- */
-static void
-schedule_main_loop (void *cls,
-                   const struct GNUNET_SCHEDULER_TaskContext *tc)
+GtkBuilder *
+GNUNET_GTK_get_new_builder (const char *filename)
 {
-  struct MainContext *mc = cls;
-  struct GNUNET_TIME_Relative delay;
-  gint timeout;
-  gint nfds;
-  GPollFD *fds;
-  guint allocated_nfds;
+  char *glade_path;
+  GtkBuilder *ret;
+  GError *error;
 
-  if ( (tc != NULL) &&
-       (0 != (GNUNET_SCHEDULER_REASON_SHUTDOWN & tc->reason)) )
+  ret = gtk_builder_new ();
+  gtk_builder_set_translation_domain (ret, "gnunet-gtk");
+  GNUNET_asprintf (&glade_path,
+                  "%s%s",
+                  GNUNET_GTK_get_data_dir (),
+                  filename);
+  error = NULL;
+  if (0 == gtk_builder_add_from_file (ret, glade_path, &error))
     {
-      g_main_loop_quit (mc->gml);
-      GNUNET_SCHEDULER_add_now (mc->sched,
-                               &schedule_main_loop,
-                               mc);
-      return;
+      GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+                 _("Failed to load `%s': %s\n"),
+                 glade_path,
+                 error->message);
+      g_error_free (error);
+      GNUNET_free (glade_path);
+      return NULL;
     }
-  if (TRUE != g_main_loop_is_running (mc->gml))
-    return;
-  g_main_context_prepare (mc->gmc, &mc->max_priority);
-  allocated_nfds = mc->cached_poll_array_size;
-  fds = mc->cached_poll_array;
-  while ((nfds = g_main_context_query (mc->gmc, mc->max_priority, 
-                                      &timeout, fds, 
-                                      allocated_nfds)) > allocated_nfds)
-    {
-      g_free (fds);
-      mc->cached_poll_array_size = allocated_nfds = nfds;
-      mc->cached_poll_array = fds = g_new (GPollFD, nfds);
-    }
-  mc->poll_array_active = nfds;
-  delay.rel_value = (uint64_t) timeout;
-  GNUNET_NETWORK_fdset_zero (mc->rs);
-  GNUNET_NETWORK_fdset_zero (mc->ws);
-  while (nfds > 0)
-    {
-      nfds--;
-#ifdef __MINGW32__
-      /* TODO: maybe #ifdef WINDOWS? -ndurner */
-      if (fds[nfds].events & (G_IO_IN | G_IO_HUP | G_IO_ERR))
-       GNUNET_NETWORK_fdset_set_native_w32_handle (mc->rs,  (HANDLE) 
fds[nfds].fd);
-      if (fds[nfds].events & (G_IO_OUT | G_IO_ERR))
-       GNUNET_NETWORK_fdset_set_native_w32_handle (mc->ws,  (HANDLE) 
fds[nfds].fd);
-#else
-      if (fds[nfds].events & (G_IO_IN | G_IO_HUP | G_IO_ERR))
-       GNUNET_NETWORK_fdset_set_native (mc->rs, fds[nfds].fd);
-      if (fds[nfds].events & (G_IO_OUT | G_IO_ERR))
-       GNUNET_NETWORK_fdset_set_native (mc->ws, fds[nfds].fd);
-#endif
-    }
-  GNUNET_SCHEDULER_add_select (mc->sched,
-                              GNUNET_SCHEDULER_PRIORITY_UI,
-                              GNUNET_SCHEDULER_NO_TASK,
-                              delay,
-                              mc->rs,
-                              mc->ws,
-                              &run_ready,
-                              mc);
+  gtk_builder_connect_signals (ret, NULL);
+  GNUNET_free (glade_path);
+  return ret;
 }
 
 
+
 /**
- * Run GTK tasks that are ready.
- *
- * @param cls the 'struct MainContext'
- * @param tc task context
+ * Initialize GNU gettext for message translation.
  */
 static void
-run_ready (void *cls,
-          const struct GNUNET_SCHEDULER_TaskContext *tc)
+setup_nls ()
 {
-  struct MainContext *mc = cls;
-  
-  g_poll (mc->cached_poll_array,
-         mc->poll_array_active,
-         0);               
-  if (TRUE == 
-      g_main_context_check (mc->gmc, 
-                           mc->max_priority, 
-                           mc->cached_poll_array, 
-                           mc->poll_array_active))
-    g_main_context_dispatch (mc->gmc);
-  GNUNET_SCHEDULER_add_now (mc->sched,
-                           &schedule_main_loop,
-                           mc);
-}
+#if ENABLE_NLS
+  char *path;
 
-
-/**
- * Main context (global so we can free it on exit and use
- * it for termination).
- */
-static struct MainContext *mc;
-
-
-/**
- * Callback invoked if the application is supposed to exit.
- */
-void 
-GNUNET_GTK_quit_cb (GtkObject *object, 
-                   gpointer user_data)
-{
-  g_main_loop_quit (mc->gml);
+  setlocale (LC_ALL, "");
+  GNUNET_asprintf (&path,
+                  "%s/%s/locale/",
+                  GNUNET_GTK_get_data_dir (),
+                  PACKAGE_NAME);
+  bindtextdomain ("gnunet-setup", path);
+  textdomain ("gnunet-setup");
+  bind_textdomain_codeset ("GNUnet", "UTF-8");
+  bind_textdomain_codeset ("gnunet-setup", "UTF-8");
+  GNUNET_free (path);
+#else
+  fprintf (stderr,
+          "WARNING: gnunet-setup was compiled without i18n support (did CFLAGS 
contain -Werror?).\n");
+#endif
 }
 
 
@@ -282,90 +153,102 @@
 }
 
 
-
-/**
- * Actual main function run right after GNUnet's scheduler
- * is initialized.  Initializes up GTK and Glade.
- */                  
-static void
-run (void *cls,
-     struct GNUNET_SCHEDULER_Handle *sched,
-     char *const *args,
-     const char *cfgfile,
-     const struct GNUNET_CONFIGURATION_Handle *cfg)
-{
-  int argc;
- 
-  /* command-line processing */
-  argc = 0;
-  while (args[argc] != NULL) argc++;
-  gtk_init (&argc, (char ***) &args);
-  set_icon_search_path ();
-  setup_nls (cfg);
-
-  /* setup main context */
-  mc = GNUNET_malloc (sizeof (struct MainContext));
-  mc->builder = GNUNET_GTK_get_new_builder ("gnunet-setup.glade");
-  mc->rs = GNUNET_NETWORK_fdset_create ();
-  mc->ws = GNUNET_NETWORK_fdset_create ();
-  mc->gml = g_main_loop_new (NULL, TRUE);
-  mc->gmc = g_main_loop_get_context (mc->gml);
-  mc->sched = sched;  
-  mc->cfg = cfg;
-  if (mc->builder == NULL)
-    return;
-
-  /* setup main window */
-  mc->main_window = GTK_WIDGET (gtk_builder_get_object (mc->builder, 
-                                                       "GNUNET_setup_dialog"));
-  gtk_window_maximize (GTK_WINDOW (mc->main_window));
-
-  gtk_widget_show (mc->main_window);
-  gtk_window_present (GTK_WINDOW (mc->main_window));
-  /* start the event loop */
-  GNUNET_assert (TRUE == g_main_context_acquire (mc->gmc));
-  schedule_main_loop (mc, NULL);
-}
-
-
-/**
- * Get an object from the main window.
- *
- * @param name name of the object
- * @return NULL on error
- */
-GObject *
-GNUNET_GTK_get_main_window_object (const char *name)
-{
-  return gtk_builder_get_object (mc->builder, name);
-}
-
-
-/**
- * gnunet-setup command line options
- */
-static struct GNUNET_GETOPT_CommandLineOption options[] = {
-  GNUNET_GETOPT_OPTION_END
-};
-
-
 int
-main (int argc, char *const *argv)
+main (int argc,
+      char *const *argv)
 {
-  if (GNUNET_OK !=
-      GNUNET_PROGRAM_run (argc, argv,
-                         "gnunet-setup",
-                         "Configure GNUnet",
-                         options,
-                         &run, NULL))
+  char *cfgName = GNUNET_strdup (GNUNET_DEFAULT_USER_CONFIG_FILE);
+  char *loglev = GNUNET_strdup ("WARNING");
+  struct GNUNET_GETOPT_CommandLineOption options[] = {
+    GNUNET_GETOPT_OPTION_CFG_FILE (&cfgName),
+    GNUNET_GETOPT_OPTION_HELP (gettext_noop ("Setup tool for GNUnet")),
+    GNUNET_GETOPT_OPTION_LOGLEVEL (&loglev),
+    GNUNET_GETOPT_OPTION_VERSION (PACKAGE_VERSION),
+    GNUNET_GETOPT_OPTION_END
+  };
+  gint ret;
+  GtkWidget *main_window;
+  GtkWidget *dialog;
+  int arg_off;
+  int iret;
+  char *const *argp;
+  struct GNUNET_CONFIGURATION_Handle *cfgDefault;
+ 
+  arg_off = GNUNET_GETOPT_run ("gnunet-setup",
+                              options,
+                              argc,
+                              argv);  
+  if (arg_off == GNUNET_SYSERR)
     {
-      free_context (mc);
-      mc = NULL;
+      GNUNET_free (loglev);
+      GNUNET_free (cfgName);
       return 1;
     }
-  free_context (mc);
-  mc = NULL;
-  return 0;
+  (void) GNUNET_log_setup ("gnunet-setup",
+                          loglev,
+                          NULL);
+  argp = &argv[arg_off];
+  argc -= arg_off;
+  gtk_init (&argc, (char ***) &argp);
+  set_icon_search_path ();
+  setup_nls ();
+  builder = GNUNET_GTK_get_new_builder ("gnunet-setup.glade");
+  if (builder == NULL)
+    {
+      GNUNET_free (loglev);
+      GNUNET_free (cfgName);
+      return 1;        
+    }
+  cfg = GNUNET_CONFIGURATION_create ();
+  (void) GNUNET_CONFIGURATION_load (cfg, cfgName);
+  main_window = GTK_WIDGET (gtk_builder_get_object (builder, 
+                                                   "GNUNET_setup_dialog"));
+ RESTART:
+  ret = gtk_dialog_run (GTK_DIALOG (main_window));
+  gtk_widget_hide (main_window);
+  cfgDefault = GNUNET_CONFIGURATION_create ();
+  (void) GNUNET_CONFIGURATION_load (cfgDefault, NULL); /* load defaults only */
+  iret = 0;
+  switch (ret)
+    {
+    case GTK_RESPONSE_DELETE_EVENT: /* -4 */
+    case GTK_RESPONSE_CANCEL: /* -6 */
+      /* window closed, do not save! */
+      break;
+    case GTK_RESPONSE_OK: /* save-as, -5 */
+      dialog = gtk_file_chooser_dialog_new (_("Save Configuration File"),
+                                           NULL,
+                                           GTK_FILE_CHOOSER_ACTION_SAVE,
+                                           GTK_STOCK_CANCEL, 
GTK_RESPONSE_CANCEL,
+                                           GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
+                                           NULL);
+      gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (dialog), cfgName);
+      if (gtk_dialog_run (GTK_DIALOG (dialog)) != GTK_RESPONSE_ACCEPT)
+       {
+         gtk_widget_destroy (dialog);
+         goto RESTART;
+       }
+      GNUNET_free (cfgName);
+      cfgName = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
+      gtk_widget_destroy (dialog);
+      /* fall through! */
+    case GTK_RESPONSE_ACCEPT: /* save, -3 */
+      if (GNUNET_OK !=
+         GNUNET_CONFIGURATION_write_diffs (cfgDefault,
+                                           cfg,
+                                           cfgName))
+       iret = 1;
+      break;
+    default:
+      GNUNET_break (0);
+    }
+  gtk_widget_destroy (main_window);
+  g_object_unref (G_OBJECT (builder));  
+  GNUNET_CONFIGURATION_destroy (cfgDefault);
+  GNUNET_CONFIGURATION_destroy (cfg);
+  GNUNET_free (cfgName);
+  GNUNET_free (loglev);
+  return iret;
 }
 
 

Modified: gnunet-setup/src/os_installation.c
===================================================================
--- gnunet-setup/src/os_installation.c  2010-11-02 14:15:11 UTC (rev 13493)
+++ gnunet-setup/src/os_installation.c  2010-11-02 15:42:11 UTC (rev 13494)
@@ -32,12 +32,18 @@
  * @author Christian Grothoff
  */
 
-#include "common.h"
+#ifndef HAVE_USED_CONFIG_H
+#define HAVE_USED_CONFIG_H
+#include "gnunet_setup_config.h"
+#endif
+#include <gnunet/platform.h>
+#include <gnunet/gnunet_util_lib.h>
+#include <gladeui/glade.h>
+#include <gtk/gtk.h>
 #include <sys/stat.h>
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
-#include <gnunet/gnunet_util_lib.h>
 #if DARWIN
 #include <mach-o/ldsyms.h>
 #include <mach-o/dyld.h>




reply via email to

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