gnunet-svn
[Top][All Lists]
Advanced

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

[taler-exchange] 131/152: moved yna to exchange


From: gnunet
Subject: [taler-exchange] 131/152: moved yna to exchange
Date: Sun, 05 Jul 2020 20:48:07 +0200

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

grothoff pushed a commit to branch master
in repository exchange.

commit 0c4eca0d4858651d7415951c8a708c3380ccbb64
Author: Jonathan Buchanan <jonathan.russ.buchanan@gmail.com>
AuthorDate: Fri Jun 12 15:16:40 2020 -0400

    moved yna to exchange
---
 src/include/taler_util.h | 37 +++++++++++++++++++++++++++
 src/util/Makefile.am     |  1 +
 src/util/yna.c           | 66 ++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 104 insertions(+)

diff --git a/src/include/taler_util.h b/src/include/taler_util.h
index c7bf9c02..07b78a43 100644
--- a/src/include/taler_util.h
+++ b/src/include/taler_util.h
@@ -298,4 +298,41 @@ char *
 TALER_xtalerbank_account_from_payto (const char *payto);
 
 
+/**
+ * Possible values for a binary filter.
+ */
+enum TALER_EXCHANGE_YesNoAll
+{
+  /**
+   * If condition is yes.
+   */
+  TALER_EXCHANGE_YNA_YES = 1,
+
+  /**
+  * If condition is no.
+  */
+  TALER_EXCHANGE_YNA_NO = 2,
+
+  /**
+   * Condition disabled.
+   */
+  TALER_EXCHANGE_YNA_ALL = 3
+};
+
+
+/**
+ * Convert query argument to @a yna value.
+ *
+ * @param connection connection to take query argument from
+ * @param arg argument to try for
+ * @param default_val value to assign if the argument is not present
+ * @param[out] value to set
+ * @return true on success, false if the parameter was malformed
+ */
+bool
+TALER_arg_to_yna (struct MHD_Connection *connection,
+                  const char *arg,
+                  enum TALER_EXCHANGE_YesNoAll default_val,
+                  enum TALER_EXCHANGE_YesNoAll *yna);
+
 #endif
diff --git a/src/util/Makefile.am b/src/util/Makefile.am
index 4e22f0a0..5ff3b898 100644
--- a/src/util/Makefile.am
+++ b/src/util/Makefile.am
@@ -42,6 +42,7 @@ libtalerutil_la_SOURCES = \
   payto.c \
   url.c \
   util.c \
+  yna.c \
   os_installation.c
 
 libtalerutil_la_LIBADD = \
diff --git a/src/util/yna.c b/src/util/yna.c
new file mode 100644
index 00000000..6907df67
--- /dev/null
+++ b/src/util/yna.c
@@ -0,0 +1,66 @@
+/*
+  This file is part of TALER
+  Copyright (C) 2020 Taler Systems SA
+
+  TALER 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 3, or (at your option) any later version.
+
+  TALER 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
+  TALER; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
+*/
+/**
+ * @file yna.c
+ * @brief Utility functions for yes/no/all filters
+ * @author Jonathan Buchanan
+ */
+#include "platform.h"
+#include "taler_util.h"
+
+
+/**
+ * Convert query argument to @a yna value.
+ *
+ * @param connection connection to take query argument from
+ * @param arg argument to try for
+ * @param default_val value to assign if the argument is not present
+ * @param[out] value to set
+ * @return true on success, false if the parameter was malformed
+ */
+bool
+TALER_arg_to_yna (struct MHD_Connection *connection,
+                  const char *arg,
+                  enum TALER_EXCHANGE_YesNoAll default_val,
+                  enum TALER_EXCHANGE_YesNoAll *yna)
+{
+  const char *str;
+
+  str = MHD_lookup_connection_value (connection,
+                                     MHD_GET_ARGUMENT_KIND,
+                                     arg);
+  if (NULL == str)
+  {
+    *yna = default_val;
+    return true;
+  }
+  if (0 == strcasecmp (str, "yes"))
+  {
+    *yna = TALER_EXCHANGE_YNA_YES;
+    return true;
+  }
+  if (0 == strcasecmp (str, "no"))
+  {
+    *yna = TALER_EXCHANGE_YNA_NO;
+    return true;
+  }
+  if (0 == strcasecmp (str, "all"))
+  {
+    *yna = TALER_EXCHANGE_YNA_ALL;
+    return true;
+  }
+  return false;
+}

-- 
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]