summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2022-08-16 13:56:04 +0200
committerChristian Grothoff <christian@grothoff.org>2022-08-16 13:57:26 +0200
commitd6f12190c0d953dd3090153a45ecdd10f01cd9c3 (patch)
tree722a7e55f34c6b457cad213464ca8a9372044db3 /src/include
parent1e2fdea5a977a9fdbb7bcc0632d9fb1c8ef82987 (diff)
downloadexchange-d6f12190c0d953dd3090153a45ecdd10f01cd9c3.tar.gz
exchange-d6f12190c0d953dd3090153a45ecdd10f01cd9c3.tar.bz2
exchange-d6f12190c0d953dd3090153a45ecdd10f01cd9c3.zip
-move templating library into exchange.git
Diffstat (limited to 'src/include')
-rw-r--r--src/include/Makefile.am1
-rw-r--r--src/include/taler_templating_lib.h65
2 files changed, 66 insertions, 0 deletions
diff --git a/src/include/Makefile.am b/src/include/Makefile.am
index 5cb1698cc..a535986cb 100644
--- a/src/include/Makefile.am
+++ b/src/include/Makefile.am
@@ -26,6 +26,7 @@ talerinclude_HEADERS = \
taler_pq_lib.h \
taler_signatures.h \
taler_sq_lib.h \
+ taler_templating_lib.h \
taler_twister_testing_lib.h
EXTRA_DIST = \
diff --git a/src/include/taler_templating_lib.h b/src/include/taler_templating_lib.h
new file mode 100644
index 000000000..bad200f50
--- /dev/null
+++ b/src/include/taler_templating_lib.h
@@ -0,0 +1,65 @@
+/*
+ This file is part of TALER
+ Copyright (C) 2020, 2022 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 taler_templating_lib.h
+ * @brief logic to load and complete HTML templates
+ * @author Christian Grothoff
+ */
+#ifndef TALER_TEMPLATING_LIB_H
+#define TALER_TEMPLATING_LIB_H
+
+#include <microhttpd.h>
+
+
+/**
+ * Load a @a template and substitute using @a root, returning
+ * the result to the @a connection with the given
+ * @a http_status code.
+ *
+ * @param connection the connection we act upon
+ * @param http_status code to use on success
+ * @param template basename of the template to load
+ * @param instance_id instance ID, used to compute static files URL
+ * @param taler_uri value for "Taler:" header to set, or NULL
+ * @param root JSON object to pass as the root context
+ * @return #GNUNET_OK on success (reply queued), #GNUNET_NO if an error was queued,
+ * #GNUNET_SYSERR on failure (to queue an error)
+ */
+enum GNUNET_GenericReturnValue
+TALER_TEMPLATING_reply (struct MHD_Connection *connection,
+ unsigned int http_status,
+ const char *template,
+ const char *instance_id,
+ const char *taler_uri,
+ json_t *root);
+
+/**
+ * Preload templates.
+ *
+ * @param subsystem name of the subsystem, "merchant" or "exchange"
+ * @return #GNUNET_OK on success
+ */
+enum GNUNET_GenericReturnValue
+TALER_TEMPLATING_init (const char *subsystem);
+
+
+/**
+ * Nicely shut down templating subsystem.
+ */
+void
+TALER_TEMPLATING_done (void);
+
+#endif