gnunet-svn
[Top][All Lists]
Advanced

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

[taler-anastasis] branch master updated: add clear secret and enter_secr


From: gnunet
Subject: [taler-anastasis] branch master updated: add clear secret and enter_secret_name transitions to reducer
Date: Tue, 13 Jul 2021 17:40:08 +0200

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository anastasis.

The following commit(s) were added to refs/heads/master by this push:
     new 0ff4158  add clear secret and enter_secret_name transitions to reducer
0ff4158 is described below

commit 0ff4158aaa3b30cec1134b7afe147bd1de263f58
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Tue Jul 13 17:40:05 2021 +0200

    add clear secret and enter_secret_name transitions to reducer
---
 src/reducer/anastasis_api_backup_redux.c | 91 ++++++++++++++++++++++++++++++++
 1 file changed, 91 insertions(+)

diff --git a/src/reducer/anastasis_api_backup_redux.c 
b/src/reducer/anastasis_api_backup_redux.c
index ce48268..c3893a7 100644
--- a/src/reducer/anastasis_api_backup_redux.c
+++ b/src/reducer/anastasis_api_backup_redux.c
@@ -4142,6 +4142,87 @@ enter_secret (json_t *state,
 }
 
 
+/**
+ * DispatchHandler/Callback function which is called for a
+ * "clear_secret" action.
+ *
+ * @param state state to operate on
+ * @param arguments arguments to use for operation on state
+ * @param cb callback to call during/after operation
+ * @param cb_cls callback closure
+ * @return NULL
+ */
+static struct ANASTASIS_ReduxAction *
+clear_secret (json_t *state,
+              const json_t *arguments,
+              ANASTASIS_ActionCallback cb,
+              void *cb_cls)
+{
+  GNUNET_assert (0 ==
+                 json_object_del (state,
+                                  "core_secret"));
+  cb (cb_cls,
+      TALER_EC_NONE,
+      state);
+  return NULL;
+}
+
+
+/**
+ * DispatchHandler/Callback function which is called for an
+ * "enter_secret_name" action.
+ *
+ * @param state state to operate on
+ * @param arguments arguments to use for operation on state
+ * @param cb callback to call during/after operation
+ * @param cb_cls callback closure
+ * @return NULL
+ */
+static struct ANASTASIS_ReduxAction *
+enter_secret_name (json_t *state,
+                   const json_t *arguments,
+                   ANASTASIS_ActionCallback cb,
+                   void *cb_cls)
+{
+  const char *secret_name = NULL;
+  struct GNUNET_JSON_Specification spec[] = {
+    GNUNET_JSON_spec_string ("name",
+                             &secret_name),
+    GNUNET_JSON_spec_end ()
+  };
+
+  if (NULL == arguments)
+  {
+    ANASTASIS_redux_fail_ (cb,
+                           cb_cls,
+                           TALER_EC_ANASTASIS_REDUCER_INPUT_INVALID,
+                           "arguments missing");
+    return NULL;
+  }
+  if (GNUNET_OK !=
+      GNUNET_JSON_parse (arguments,
+                         spec,
+                         NULL, NULL))
+  {
+    ANASTASIS_redux_fail_ (cb,
+                           cb_cls,
+                           TALER_EC_ANASTASIS_REDUCER_INPUT_INVALID,
+                           "'name' argument required");
+    return NULL;
+  }
+
+  GNUNET_assert (0 ==
+                 json_object_set_new (state,
+                                      "secret_name",
+                                      json_string (secret_name)));
+  cb (cb_cls,
+      TALER_EC_NONE,
+      state);
+  GNUNET_JSON_parse_free (spec);
+  return NULL;
+}
+
+
 /**
  * DispatchHandler/Callback function which is called for the
  * "update_expiration" action in the "secret editing" state.
@@ -4460,6 +4541,16 @@ ANASTASIS_backup_action_ (json_t *state,
       "enter_secret",
       &enter_secret
     },
+    {
+      ANASTASIS_BACKUP_STATE_SECRET_EDITING,
+      "clear_secret",
+      &clear_secret
+    },
+    {
+      ANASTASIS_BACKUP_STATE_SECRET_EDITING,
+      "enter_secret_name",
+      &enter_secret_name
+    },
     {
       ANASTASIS_BACKUP_STATE_SECRET_EDITING,
       "back",

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

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