[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r12499 - gnunet gnunet/src/datastore gnunet/src/fs gnunet-g
From: |
gnunet |
Subject: |
[GNUnet-SVN] r12499 - gnunet gnunet/src/datastore gnunet/src/fs gnunet-gtk/src |
Date: |
Sun, 8 Aug 2010 11:20:41 +0200 |
Author: grothoff
Date: 2010-08-08 11:20:41 +0200 (Sun, 08 Aug 2010)
New Revision: 12499
Modified:
gnunet-gtk/src/main_window_adv_pseudonym.c
gnunet-gtk/src/main_window_file_publish.c
gnunet/TODO
gnunet/src/datastore/datastore.h
gnunet/src/datastore/datastore_api.c
gnunet/src/fs/fs_unindex.c
gnunet/src/fs/test_fs_unindex_persistence.c
Log:
misc fixes
Modified: gnunet/TODO
===================================================================
--- gnunet/TODO 2010-08-07 21:55:10 UTC (rev 12498)
+++ gnunet/TODO 2010-08-08 09:20:41 UTC (rev 12499)
@@ -20,12 +20,10 @@
* GNUNET-GTK: [CG]
- bugs:
+ handle 'lost parent' case for recursive downloads (need to move
children!)
- + clean up TreeStores in main_window_file_publish on dialog close
- + clean up ListStores in main_window_adv_pseudonym
0.9.0pre3:
* Determine RC bugs and fix those!
-* DATASTORE: [NN]
+* DATASTORE: [LT]
- GNUNET_DATASTORE_cancel method not tested [LT]
* TESTING: [Nate]
- test basic peer re-configure
Modified: gnunet/src/datastore/datastore.h
===================================================================
--- gnunet/src/datastore/datastore.h 2010-08-07 21:55:10 UTC (rev 12498)
+++ gnunet/src/datastore/datastore.h 2010-08-08 09:20:41 UTC (rev 12499)
@@ -27,7 +27,7 @@
#ifndef DATASTORE_H
#define DATASTORE_H
-#define DEBUG_DATASTORE GNUNET_NO
+#define DEBUG_DATASTORE GNUNET_YES
#include "gnunet_util_lib.h"
Modified: gnunet/src/datastore/datastore_api.c
===================================================================
--- gnunet/src/datastore/datastore_api.c 2010-08-07 21:55:10 UTC (rev
12498)
+++ gnunet/src/datastore/datastore_api.c 2010-08-08 09:20:41 UTC (rev
12499)
@@ -682,11 +682,11 @@
if (msg == NULL)
{
free_queue_entry (qe);
+ if (NULL == h->client)
+ return; /* forced disconnect */
rc.cont (rc.cont_cls,
GNUNET_SYSERR,
_("Failed to receive response from database."));
- if (NULL == h->client)
- return; /* forced disconnect */
if (was_transmitted == GNUNET_YES)
do_disconnect (h);
return;
Modified: gnunet/src/fs/fs_unindex.c
===================================================================
--- gnunet/src/fs/fs_unindex.c 2010-08-07 21:55:10 UTC (rev 12498)
+++ gnunet/src/fs/fs_unindex.c 2010-08-08 09:20:41 UTC (rev 12499)
@@ -31,6 +31,7 @@
#include "fs.h"
#include "fs_tree.h"
+#define DEBUG_UNINDEX GNUNET_NO
/**
* Function called by the tree encoder to obtain
@@ -172,6 +173,10 @@
signal_unindex_error (uc);
return;
}
+#if DEBUG_UNINDEX
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Datastore REMOVE operation succeeded\n");
+#endif
GNUNET_FS_tree_encoder_next (uc->tc);
}
@@ -214,6 +219,10 @@
odb.file_id = uc->file_id;
data = &odb;
}
+#if DEBUG_UNINDEX
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Sending REMOVE request to DATASTORE service\n");
+#endif
GNUNET_DATASTORE_remove (uc->dsh,
query,
size,
@@ -320,6 +329,10 @@
signal_unindex_error (uc);
return;
}
+#if DEBUG_UNINDEX
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Sending UNINDEX message to FS service\n");
+#endif
req.header.size = htons (sizeof (struct UnindexMessage));
req.header.type = htons (GNUNET_MESSAGE_TYPE_FS_UNINDEX);
req.reserved = 0;
Modified: gnunet/src/fs/test_fs_unindex_persistence.c
===================================================================
--- gnunet/src/fs/test_fs_unindex_persistence.c 2010-08-07 21:55:10 UTC (rev
12498)
+++ gnunet/src/fs/test_fs_unindex_persistence.c 2010-08-08 09:20:41 UTC (rev
12499)
@@ -84,11 +84,17 @@
abort_unindex_task (void *cls,
const struct GNUNET_SCHEDULER_TaskContext *tc)
{
- GNUNET_FS_unindex_stop (unindex);
- unindex = NULL;
- GNUNET_DISK_directory_remove (fn);
- GNUNET_free (fn);
- fn = NULL;
+ if (unindex != NULL)
+ {
+ GNUNET_FS_unindex_stop (unindex);
+ unindex = NULL;
+ }
+ if (fn != NULL)
+ {
+ GNUNET_DISK_directory_remove (fn);
+ GNUNET_free (fn);
+ fn = NULL;
+ }
}
Modified: gnunet-gtk/src/main_window_adv_pseudonym.c
===================================================================
--- gnunet-gtk/src/main_window_adv_pseudonym.c 2010-08-07 21:55:10 UTC (rev
12498)
+++ gnunet-gtk/src/main_window_adv_pseudonym.c 2010-08-08 09:20:41 UTC (rev
12499)
@@ -27,13 +27,56 @@
static GtkBuilder *builder;
-
+/**
+ * Canonicalize spelling of currently selected keyword.
+ */
void
GNUNET_GTK_advertise_pseudonym_keyword_list_normalize_button_clicked_cb ()
{
- GNUNET_break (0);
+ GtkTreeView *tv;
+ GtkTreeSelection *sel;
+ GtkTreeModel *tm;
+ GtkTreeIter iter;
+ char *value;
+ struct GNUNET_FS_Uri *uri;
+ struct GNUNET_FS_Uri *uri;
+ char *nvalue;
+ char *emsg;
+
+ tv = GTK_TREE_VIEW (gtk_builder_get_object (builder,
+
"GNUNET_GTK_advertise_pseudonym_keyword_list_tree_view"));
+ sel = gtk_tree_view_get_selection (tv);
+ if (TRUE != gtk_tree_selection_get_selected (sel, &tm, &iter))
+ {
+ GNUNET_break (0);
+ return;
+ }
+ gtk_tree_model_get (tm, &iter,
+ 0, &value,
+ -1);
+ emsg = NULL;
+ uri = GNUNET_FS_uri_ksk_create (value, &emsg);
+ if (uri == NULL)
+ {
+ GNUNET_break (0);
+ GNUNET_free (emsg);
+ return;
+ }
+ nuri = GNUNET_FS_uri_ksk_canonicalize (uri);
+ nvalue = GNUNET_FS_uri_ksk_to_string_fancy (nuri);
+ gtk_tree_model_set (tm, &iter,
+ 0, nvalue,
+ -1);
+ GNUNET_FS_uri_destroy (nuri);
+ GNUNET_FS_uri_destroy (uri);
+ GNUNET_free (nvalue);
+ GNUNET_free (value);
}
+
+/**
+ * Remove the currently selected keyword from the list.
+ */
void
GNUNET_GTK_advertise_pseudonym_keyword_list_del_button_clicked_cb ()
{
@@ -54,6 +97,10 @@
&iter);
}
+
+/**
+ * Add keyword from entry line to keyword list.
+ */
void
GNUNET_GTK_advertise_pseudonym_keyword_list_add_button_clicked_cb ()
{
@@ -73,6 +120,9 @@
}
+/**
+ * Update sensitivity of keyword add button.
+ */
void
GNUNET_GTK_advertise_pseudonym_keyword_entry_changed_cb ()
{
@@ -89,7 +139,9 @@
(strlen (keyword) > 0) ? TRUE : FALSE);
}
-
+/**
+ * Update sensitivity of metadata delete button.
+ */
static void
metadata_selection_changed_cb (GtkTreeSelection *ts,
gpointer user_data)
@@ -108,6 +160,9 @@
}
+/**
+ * Update sensitivity of keyword delete and normalize button.
+ */
static void
keyword_selection_changed_cb (GtkTreeSelection *ts,
gpointer user_data)
@@ -131,6 +186,9 @@
}
+/**
+ * Update sensitivity of metadata add button.
+ */
void
GNUNET_GTK_advertise_pseudonym_metadata_value_entry_changed_cb ()
{
@@ -155,6 +213,9 @@
}
+/**
+ * Add keyword to keyword list.
+ */
void
GNUNET_GTK_advertise_pseudonym_keyword_entry_activate_cb ()
{
@@ -168,6 +229,9 @@
GNUNET_break (0);
}
+/**
+ * Delete currently selected item from meta data list.
+ */
void
GNUNET_GTK_advertise_pseudonym_metadata_delete_button_clicked_cb()
{
@@ -189,6 +253,9 @@
}
+/**
+ * Add metadata to metadata list.
+ */
void
GNUNET_GTK_advertise_pseudonym_metadata_add_button_clicked_cb ()
{
@@ -316,9 +383,6 @@
}
-
-
-
/**
* Advertise pseudonym selected.
*/
@@ -328,6 +392,7 @@
{
GtkWidget *ad;
struct GNUNET_FS_Namespace *ns;
+ struct GNUNET_FS_Namespace *nso;
GtkListStore *ls;
GtkTreeView *tv;
GtkTreeIter iter;
@@ -377,7 +442,20 @@
&iter,
1, &ns,
-1);
- /* FIXME: free all namespaces from list store except "ns" */
+ /* free all namespaces from list store except "ns" */
+ if (TRUE ==
+ gtk_tree_model_get_iter_first (tm, &iter))
+ {
+ do
+ {
+ gtk_tree_model_get (tm, &iter,
+ 1, &nso,
+ -1);
+ if (ns != nso)
+ GNUNET_FS_namespace_delete (nso, GNUNET_NO);
+ }
+ while (TRUE == gtk_tree_model_iter_next (tm, &iter));
+ }
gtk_widget_destroy (ad);
g_object_unref (G_OBJECT (builder));
builder = NULL;
@@ -481,6 +559,7 @@
expiration,
root,
NULL, NULL);
+ GNUNET_FS_namespace_delete (ns, GNUNET_NO);
GNUNET_CONTAINER_meta_data_destroy (nm);
if (NULL != uri)
GNUNET_FS_uri_destroy (uri);
Modified: gnunet-gtk/src/main_window_file_publish.c
===================================================================
--- gnunet-gtk/src/main_window_file_publish.c 2010-08-07 21:55:10 UTC (rev
12498)
+++ gnunet-gtk/src/main_window_file_publish.c 2010-08-08 09:20:41 UTC (rev
12499)
@@ -1112,6 +1112,9 @@
gtk_tree_model_get (tm, iter,
5, &fi,
-1);
+ gtk_tree_model_set (tm, iter,
+ 5, NULL,
+ -1);
GNUNET_assert (fi != NULL);
if (gtk_tree_model_iter_children (tm, &child, iter))
{
@@ -1292,6 +1295,71 @@
}
+static void
+free_pseudonym_tree_store (GtkTreeModel *tm,
+ GtkTreeIter *iter)
+{
+ struct GNUNET_FS_Uri *uri;
+ struct GNUNET_CONTAINER_MetaData *meta;
+ struct GNUNET_FS_Namespace *ns;
+ GtkTreeIter child;
+
+ gtk_tree_model_get (tm,
+ iter,
+ 1, &ns,
+ 3, &uri,
+ 4, &meta,
+ -1);
+ if (uri != NULL)
+ GNUNET_FS_uri_destroy (uri);
+ if (meta != NULL)
+ GNUNET_CONTAINER_meta_data_destroy (meta);
+ if (ns != NULL)
+ {
+ // FIXME: delete ns?
+ // GNUNET_FS_namespace_delete (nso, GNUNET_NO);
+ }
+ if (TRUE ==
+ gtk_tree_model_iter_children (tm, &child, iter))
+ {
+ do
+ {
+ free_pseudonym_tree_store (tm,
+ &child);
+ }
+ while (TRUE == gtk_tree_model_iter_next (tm,
+ &child));
+ }
+}
+
+
+static void
+free_file_information_tree_store (GtkTreeModel *tm,
+ GtkTreeIter *iter)
+{
+ GtkTreeIter child;
+ struct GNUNET_FS_FileInformation *fip;
+
+ gtk_tree_model_get (tm,
+ iter,
+ 5, &fip,
+ -1);
+ if (fip != NULL)
+ GNUNET_FS_file_information_destroy (fip, NULL, NULL);
+ if (TRUE ==
+ gtk_tree_model_iter_children (tm, &child, iter))
+ {
+ do
+ {
+ free_file_information_tree_store (tm,
+ &child);
+ }
+ while (TRUE == gtk_tree_model_iter_next (tm,
+ &child));
+ }
+}
+
+
/**
*/
void
@@ -1367,8 +1435,30 @@
GNUNET_free_non_null (namespace_uid);
GNUNET_free_non_null (namespace_id);
}
- /* FIXME: free state from 'ls' */
- /* FIXME: free state from 'tm' */
+ /* free state from 'ptm' */
+ if (TRUE ==
+ gtk_tree_model_get_iter_first (ptm,
+ &iter))
+ do
+ {
+ free_pseudonym_tree_store (ptm,
+ &iter);
+ }
+ while (TRUE == gtk_tree_model_iter_next (ptm,
+ &iter));
+
+ /* free state from 'tm' */
+ if (TRUE ==
+ gtk_tree_model_get_iter_first (tm,
+ &iter))
+ do
+ {
+ free_file_information_tree_store (tm,
+ &iter);
+ }
+ while (TRUE == gtk_tree_model_iter_next (tm,
+ &iter));
+
gtk_widget_destroy (ad);
g_object_unref (G_OBJECT (master_builder));
master_builder = NULL;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r12499 - gnunet gnunet/src/datastore gnunet/src/fs gnunet-gtk/src,
gnunet <=