aboutsummaryrefslogtreecommitdiff
path: root/src/anastasis/anastasis-gtk_handle-main-window-forward-clicked.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/anastasis/anastasis-gtk_handle-main-window-forward-clicked.c')
-rw-r--r--src/anastasis/anastasis-gtk_handle-main-window-forward-clicked.c50
1 files changed, 49 insertions, 1 deletions
diff --git a/src/anastasis/anastasis-gtk_handle-main-window-forward-clicked.c b/src/anastasis/anastasis-gtk_handle-main-window-forward-clicked.c
index 8ce8e3b..c3e78f3 100644
--- a/src/anastasis/anastasis-gtk_handle-main-window-forward-clicked.c
+++ b/src/anastasis/anastasis-gtk_handle-main-window-forward-clicked.c
@@ -435,15 +435,63 @@ forward_secret_editing (void)
435} 435}
436 436
437 437
438/**
439 * The user has pressed 'next' after selecting a secret to recover.
440 */
438static void 441static void
439forward_secret_selecting (void) 442forward_secret_selecting (void)
440{ 443{
444 GtkTreeSelection *selection;
445 GtkTreeModel *model;
446 GtkTreeIter iter;
447 json_t *args;
448 char *provider_url;
449 gint version;
450 gint mask;
451
441 AG_freeze (); 452 AG_freeze ();
453 if (NULL != AG_pd)
454 {
455 ANASTASIS_policy_discovery_stop (AG_pd);
456 AG_pd = NULL;
457 }
458 selection = GTK_TREE_SELECTION (
459 GCG_get_main_window_object (
460 "anastasis_gtk_secret_selection_treeselection"));
461
462 if (! gtk_tree_selection_get_selected (selection,
463 &model,
464 &iter))
465 {
466 GNUNET_break (0);
467 AG_insensitive ("anastasis_gtk_main_window_forward_button");
468 return;
469 }
470 gtk_tree_model_get (model,
471 &iter,
472 AG_SSMC_PROVIDER_URL, &provider_url,
473 AG_SSMC_POLICY_VERSION, &version,
474 AG_SSMC_ATTRIBUTE_MASK, &mask,
475 -1);
476 args = GNUNET_JSON_PACK (
477 GNUNET_JSON_pack_string ("provider_url",
478 provider_url),
479 GNUNET_JSON_pack_uint64 ("version",
480 version),
481 GNUNET_JSON_pack_uint64 ("mask",
482 mask)
483 );
484 GNUNET_log (GNUNET_ERROR_TYPE_INFO,
485 "Proceeding with policy version %u at provider %s\n",
486 (unsigned int) version,
487 provider_url);
488 g_free (provider_url);
442 AG_ra = ANASTASIS_redux_action (AG_redux_state, 489 AG_ra = ANASTASIS_redux_action (AG_redux_state,
443 "next", 490 "next",
444 NULL, 491 args,
445 &AG_action_cb, 492 &AG_action_cb,
446 NULL); 493 NULL);
494 json_decref (args);
447} 495}
448 496
449 497