aboutsummaryrefslogtreecommitdiff
path: root/src/gns/gnunet-gns-gtk_zone.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gns/gnunet-gns-gtk_zone.c')
-rw-r--r--src/gns/gnunet-gns-gtk_zone.c44
1 files changed, 36 insertions, 8 deletions
diff --git a/src/gns/gnunet-gns-gtk_zone.c b/src/gns/gnunet-gns-gtk_zone.c
index 181665ab..f7e05063 100644
--- a/src/gns/gnunet-gns-gtk_zone.c
+++ b/src/gns/gnunet-gns-gtk_zone.c
@@ -140,12 +140,26 @@ GNUNET_GNS_GTK_main_treeview_popup_menu_cb (GtkWidget *widget,
140 return FALSE; 140 return FALSE;
141} 141}
142 142
143enum
144{
145 TREE_COL_NAME = 0,
146 TREE_COL_IS_PUBLIC,
147 TREE_COL_RECORD_TYPE,
148 TREE_COL_RECORD_TYPE_AS_STR,
149 TREE_COL_EXP_TIME,
150 TREE_COL_EXP_TIME_IS_REL,
151 TREE_COL_EXP_TIME_AS_STR,
152 TREE_COL_VAL_AS_STR,
153 TREE_COL_VAL_COLOR,
143 154
155};
144 156
145struct ZoneIteration_Context 157struct ZoneIteration_Context
146{ 158{
159 struct GNUNET_GNS_Context *gns;
147 GNUNET_HashCode zone; 160 GNUNET_HashCode zone;
148 struct GNUNET_NAMESTORE_ZoneIterator * it; 161 struct GNUNET_NAMESTORE_ZoneIterator * it;
162 GtkTreeStore *ts;
149}; 163};
150 164
151void zone_iteration_proc (void *cls, 165void zone_iteration_proc (void *cls,
@@ -157,13 +171,22 @@ void zone_iteration_proc (void *cls,
157 const struct GNUNET_CRYPTO_RsaSignature *signature) 171 const struct GNUNET_CRYPTO_RsaSignature *signature)
158{ 172{
159 struct ZoneIteration_Context * zc_ctx = cls; 173 struct ZoneIteration_Context * zc_ctx = cls;
174 GtkTreeIter toplevel;
160 GNUNET_assert (zc_ctx != NULL); 175 GNUNET_assert (zc_ctx != NULL);
161 if ((NULL == zone_key) && (NULL == name)) 176 if ((NULL == zone_key) && (NULL == name))
162 { 177 {
163 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Zone iteration done\n"); 178 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Zone `%s 'iteration done\n", GNUNET_h2s(&zc_ctx->zone));
164 return; 179 return;
165 } 180 }
166 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Zone iteration dummy\n"); 181 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Zone `%s' iteration result `%s'\n", GNUNET_h2s(&zc_ctx->zone), name);
182
183 GNUNET_assert(GTK_IS_TREE_STORE(zc_ctx->ts));
184 gtk_tree_store_append(zc_ctx->ts, &toplevel, NULL);
185
186 gtk_tree_store_set(zc_ctx->ts, &toplevel,
187 TREE_COL_NAME, name,
188 -1);
189 GNUNET_NAMESTORE_zone_iterator_next(zc_ctx->it);
167} 190}
168 191
169/** 192/**
@@ -178,11 +201,11 @@ GNUNET_GNS_GTK_main_treeview_realize_cb (GtkWidget *widget,
178{ 201{
179 struct GNUNET_GNS_Context *gns = user_data; 202 struct GNUNET_GNS_Context *gns = user_data;
180 GtkBuilder *builder = gns->builder; 203 GtkBuilder *builder = gns->builder;
204 struct ZoneIteration_Context *zc_ctx;
181 GtkTreeStore *ts; 205 GtkTreeStore *ts;
182 GtkTreeIter toplevel; 206 GtkTreeIter toplevel;
183 207
184 GNUNET_assert (GTK_IS_BUILDER(builder)); 208 GNUNET_assert (GTK_IS_BUILDER(builder));
185 GNUNET_break (0);
186 209
187 ts = GTK_TREE_STORE (gtk_builder_get_object (builder, "GNUNET_GNS_GTK_treestore")); 210 ts = GTK_TREE_STORE (gtk_builder_get_object (builder, "GNUNET_GNS_GTK_treestore"));
188 GNUNET_assert (GTK_IS_TREE_STORE(ts)); 211 GNUNET_assert (GTK_IS_TREE_STORE(ts));
@@ -190,17 +213,22 @@ GNUNET_GNS_GTK_main_treeview_realize_cb (GtkWidget *widget,
190 213
191 /* Append a top level row and leave it empty */ 214 /* Append a top level row and leave it empty */
192 gtk_tree_store_append(ts, &toplevel, NULL); 215 gtk_tree_store_append(ts, &toplevel, NULL);
216 gtk_tree_store_set(ts, &toplevel,
217 TREE_COL_NAME, _("<new record>"),
218 TREE_COL_RECORD_TYPE, 1,
219 -1);
193 220
194 struct ZoneIteration_Context * zc_ctx = GNUNET_malloc (sizeof (struct ZoneIteration_Context)); 221 zc_ctx = GNUNET_malloc (sizeof (struct ZoneIteration_Context));
222 zc_ctx->gns = user_data;
195 zc_ctx->zone = gns->zone; 223 zc_ctx->zone = gns->zone;
196 GNUNET_NAMESTORE_zone_iteration_start(gns->ns, &gns->zone, 224 zc_ctx->ts = ts;
225 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Starting one `%s' iteration\n", GNUNET_h2s(&zc_ctx->zone));
226
227 zc_ctx->it = GNUNET_NAMESTORE_zone_iteration_start(gns->ns, &gns->zone,
197 GNUNET_NAMESTORE_RF_NONE, 228 GNUNET_NAMESTORE_RF_NONE,
198 GNUNET_NAMESTORE_RF_NONE, 229 GNUNET_NAMESTORE_RF_NONE,
199 &zone_iteration_proc, 230 &zone_iteration_proc,
200 zc_ctx); 231 zc_ctx);
201
202
203 GNUNET_break (0);
204} 232}
205 233
206 234