[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.
- [taler-exchange] 88/152: fix status code, (continued)
- [taler-exchange] 88/152: fix status code, gnunet, 2020/07/05
- [taler-exchange] 102/152: modify TALER_EXCHANGE_deposits_get() API to combine returned arguments into a struct (simplifies merchant later), gnunet, 2020/07/05
- [taler-exchange] 107/152: fix status code, gnunet, 2020/07/05
- [taler-exchange] 104/152: update, gnunet, 2020/07/05
- [taler-exchange] 114/152: modify TALER_EXCHANGE_deposits_get() API to avoid NULL pointers and need for deep copies, gnunet, 2020/07/05
- [taler-exchange] 118/152: fix auditor drop, gnunet, 2020/07/05
- [taler-exchange] 115/152: return fee as well, gnunet, 2020/07/05
- [taler-exchange] 123/152: implemented the other functions for taler_sq_lib, gnunet, 2020/07/05
- [taler-exchange] 126/152: bringing gana up to date so uncrustify accepts taler_error_codes.h, gnunet, 2020/07/05
- [taler-exchange] 128/152: update gana, gnunet, 2020/07/05
- [taler-exchange] 131/152: moved yna to exchange,
gnunet <=
- [taler-exchange] 140/152: synchronize with latest GANA, gnunet, 2020/07/05
- [taler-exchange] 146/152: expand justifications / agree with append-only log, gnunet, 2020/07/05
- [taler-exchange] 109/152: update exchange API to return struct instead of lots of individual args for TALER_EXCHANGE_transfers_get() -- simplifies merchant later, gnunet, 2020/07/05
- [taler-exchange] 119/152: ecs, gnunet, 2020/07/05
- [taler-exchange] 111/152: modify TALER_EXCHANGE_deposits_get() API to avoid NULL pointers and need for deep copies, gnunet, 2020/07/05
- [taler-exchange] 127/152: do init submodules, gnunet, 2020/07/05
- [taler-exchange] 130/152: sync gana, gnunet, 2020/07/05
- [taler-exchange] 122/152: created taler_sq_lib, gnunet, 2020/07/05
- [taler-exchange] 137/152: testing traits for uint32_t and GNUNET_TIME_Relative, gnunet, 2020/07/05
- [taler-exchange] 136/152: add TALER_MHD_parse_internal_json_data(), gnunet, 2020/07/05