diff options
author | Christian Grothoff <christian@grothoff.org> | 2016-02-06 17:39:18 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2016-02-06 17:39:18 +0100 |
commit | 2b5a7c8748405fd8f28c840c3142e5ff35f2fa36 (patch) | |
tree | 24d23d53d4adf915815a557c97831a7e3caeb602 /src/pq/pq_helper.c | |
parent | a396f4e7fa39f17aec35360eb12098629649c831 (diff) |
move to new libgnunetpq library, simplifying libtalerpq
Diffstat (limited to 'src/pq/pq_helper.c')
-rw-r--r-- | src/pq/pq_helper.c | 370 |
1 files changed, 0 insertions, 370 deletions
diff --git a/src/pq/pq_helper.c b/src/pq/pq_helper.c deleted file mode 100644 index d245ffdb8..000000000 --- a/src/pq/pq_helper.c +++ /dev/null @@ -1,370 +0,0 @@ -/* - This file is part of TALER - Copyright (C) 2014, 2015 GNUnet e.V. - - 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, If not, see <http://www.gnu.org/licenses/> -*/ -/** - * @file pq/pq_helper.c - * @brief functions to initialize parameter arrays - * @author Christian Grothoff - */ -#include "platform.h" -#include <gnunet/gnunet_util_lib.h> -#include "taler_pq_lib.h" - - -/** - * Generate query parameter for a currency, consisting of the three - * components "value", "fraction" and "currency" in this order. The - * types must be a 64-bit integer, 32-bit integer and a - * #TALER_CURRENCY_LEN-sized BLOB/VARCHAR respectively. - * - * @param x pointer to the query parameter to pass - * @return array entry for the query parameters to use - */ -struct TALER_PQ_QueryParam -TALER_PQ_query_param_amount_nbo (const struct TALER_AmountNBO *x) -{ - struct TALER_PQ_QueryParam res = - { TALER_PQ_QF_AMOUNT_NBO, x, sizeof (*x) }; - return res; -} - - -/** - * Generate query parameter for a currency, consisting of the three - * components "value", "fraction" and "currency" in this order. The - * types must be a 64-bit integer, 32-bit integer and a - * #TALER_CURRENCY_LEN-sized BLOB/VARCHAR respectively. - * - * @param x pointer to the query parameter to pass - * @return array entry for the query parameters to use - */ -struct TALER_PQ_QueryParam -TALER_PQ_query_param_amount (const struct TALER_Amount *x) -{ - struct TALER_PQ_QueryParam res = - { TALER_PQ_QF_AMOUNT, x, sizeof (*x) }; - return res; -} - - -/** - * Generate query parameter for an RSA public key. The - * database must contain a BLOB type in the respective position. - * - * @param x the query parameter to pass - * @return array entry for the query parameters to use - */ -struct TALER_PQ_QueryParam -TALER_PQ_query_param_rsa_public_key (const struct GNUNET_CRYPTO_rsa_PublicKey *x) -{ - struct TALER_PQ_QueryParam res = - { TALER_PQ_QF_RSA_PUBLIC_KEY, (x), 0 }; - return res; -} - - -/** - * Generate query parameter for an RSA signature. The - * database must contain a BLOB type in the respective position. - * - * @param x the query parameter to pass - * @return array entry for the query parameters to use - */ -struct TALER_PQ_QueryParam -TALER_PQ_query_param_rsa_signature (const struct GNUNET_CRYPTO_rsa_Signature *x) -{ - struct TALER_PQ_QueryParam res = - { TALER_PQ_QF_RSA_SIGNATURE, (x), 0 }; - return res; -} - - -/** - * Generate query parameter for an absolute time value. - * The database must store a 64-bit integer. - * - * @param x pointer to the query parameter to pass - * @return array entry for the query parameters to use - */ -struct TALER_PQ_QueryParam -TALER_PQ_query_param_absolute_time (const struct GNUNET_TIME_Absolute *x) -{ - struct TALER_PQ_QueryParam res = - { TALER_PQ_QF_TIME_ABSOLUTE, x, sizeof (*x) }; - return res; -} - - -/** - * Generate query parameter for an absolute time value. - * The database must store a 64-bit integer. - * - * @param x pointer to the query parameter to pass - */ -struct TALER_PQ_QueryParam -TALER_PQ_query_param_absolute_time_nbo(const struct GNUNET_TIME_AbsoluteNBO *x) -{ - struct TALER_PQ_QueryParam res = - TALER_PQ_query_param_auto_from_type (&x->abs_value_us__); - return res; -} - - -/** - * Generate query parameter for an uint16_t in host byte order. - * - * @param x pointer to the query parameter to pass - */ -struct TALER_PQ_QueryParam -TALER_PQ_query_param_uint16 (const uint16_t *x) -{ - struct TALER_PQ_QueryParam res = - { TALER_PQ_QF_UINT16, x, sizeof (*x) }; - return res; -} - - -/** - * Generate query parameter for an uint32_t in host byte order. - * - * @param x pointer to the query parameter to pass - */ -struct TALER_PQ_QueryParam -TALER_PQ_query_param_uint32 (const uint32_t *x) -{ - struct TALER_PQ_QueryParam res = - { TALER_PQ_QF_UINT32, x, sizeof (*x) }; - return res; -} - - -/** - * Generate query parameter for an uint16_t in host byte order. - * - * @param x pointer to the query parameter to pass - */ -struct TALER_PQ_QueryParam -TALER_PQ_query_param_uint64 (const uint64_t *x) -{ - struct TALER_PQ_QueryParam res = - { TALER_PQ_QF_UINT64, x, sizeof (*x) }; - return res; -} - - -/** - * Generate query parameter for a JSON object (stored as a string - * in the DB). - * - * @param x pointer to the json object to pass - */ -struct TALER_PQ_QueryParam -TALER_PQ_query_param_json (const json_t *x) -{ - struct TALER_PQ_QueryParam res = - { TALER_PQ_QF_JSON, x, 0 }; - return res; -} - - -/** - * Variable-size result expected. - * - * @param name name of the field in the table - * @param[out] dst where to store the result, allocated - * @param[out] sptr where to store the size of @a dst - * @return array entry for the result specification to use - */ -struct TALER_PQ_ResultSpec -TALER_PQ_result_spec_variable_size (const char *name, - void **dst, - size_t *sptr) -{ - struct TALER_PQ_ResultSpec res = - { TALER_PQ_RF_VARSIZE_BLOB, (void *) (dst), 0, name, sptr }; - return res; -} - - -/** - * Currency amount expected. - * - * @param name name of the field in the table - * @param[out] amount where to store the result - * @return array entry for the result specification to use - */ -struct TALER_PQ_ResultSpec -TALER_PQ_result_spec_amount_nbo (const char *name, - struct TALER_AmountNBO *amount) -{ - struct TALER_PQ_ResultSpec res = - {TALER_PQ_RF_AMOUNT_NBO, (void *) amount, sizeof (*amount), name, NULL }; - return res; -} - - -/** - * Currency amount expected. - * - * @param name name of the field in the table - * @param[out] amount where to store the result - * @return array entry for the result specification to use - */ -struct TALER_PQ_ResultSpec -TALER_PQ_result_spec_amount (const char *name, - struct TALER_Amount *amount) -{ - struct TALER_PQ_ResultSpec res = - {TALER_PQ_RF_AMOUNT, (void *) amount, sizeof (*amount), name, NULL }; - return res; -} - - -/** - * RSA public key expected. - * - * @param name name of the field in the table - * @param[out] rsa where to store the result - * @return array entry for the result specification to use - */ -struct TALER_PQ_ResultSpec -TALER_PQ_result_spec_rsa_public_key (const char *name, - struct GNUNET_CRYPTO_rsa_PublicKey **rsa) -{ - struct TALER_PQ_ResultSpec res = - {TALER_PQ_RF_RSA_PUBLIC_KEY, (void *) rsa, 0, name, NULL }; - return res; -} - - -/** - * RSA signature expected. - * - * @param name name of the field in the table - * @param[out] sig where to store the result; - * @return array entry for the result specification to use - */ -struct TALER_PQ_ResultSpec -TALER_PQ_result_spec_rsa_signature (const char *name, - struct GNUNET_CRYPTO_rsa_Signature **sig) -{ - struct TALER_PQ_ResultSpec res = - {TALER_PQ_RF_RSA_SIGNATURE, (void *) sig, 0, (name), NULL }; - return res; -} - - -/** - * Absolute time expected. - * - * @param name name of the field in the table - * @param[out] at where to store the result - * @return array entry for the result specification to use - */ -struct TALER_PQ_ResultSpec -TALER_PQ_result_spec_absolute_time (const char *name, - struct GNUNET_TIME_Absolute *at) -{ - struct TALER_PQ_ResultSpec res = - {TALER_PQ_RF_TIME_ABSOLUTE, (void *) at, sizeof (*at), (name), NULL }; - return res; -} - - -/** - * Absolute time expected. - * - * @param name name of the field in the table - * @param[out] at where to store the result - * @return array entry for the result specification to use - */ -struct TALER_PQ_ResultSpec -TALER_PQ_result_spec_absolute_time_nbo (const char *name, - struct GNUNET_TIME_AbsoluteNBO *at) -{ - struct TALER_PQ_ResultSpec res = - TALER_PQ_result_spec_auto_from_type(name, &at->abs_value_us__); - return res; -} - - -/** - * uint16_t expected. - * - * @param name name of the field in the table - * @param[out] u16 where to store the result - * @return array entry for the result specification to use - */ -struct TALER_PQ_ResultSpec -TALER_PQ_result_spec_uint16 (const char *name, - uint16_t *u16) -{ - struct TALER_PQ_ResultSpec res = - {TALER_PQ_RF_UINT16, (void *) u16, sizeof (*u16), (name), NULL }; - return res; -} - - -/** - * uint32_t expected. - * - * @param name name of the field in the table - * @param[out] u32 where to store the result - * @return array entry for the result specification to use - */ -struct TALER_PQ_ResultSpec -TALER_PQ_result_spec_uint32 (const char *name, - uint32_t *u32) -{ - struct TALER_PQ_ResultSpec res = - {TALER_PQ_RF_UINT32, (void *) u32, sizeof (*u32), (name), NULL }; - return res; -} - - -/** - * uint64_t expected. - * - * @param name name of the field in the table - * @param[out] u64 where to store the result - * @return array entry for the result specification to use - */ -struct TALER_PQ_ResultSpec -TALER_PQ_result_spec_uint64 (const char *name, - uint64_t *u64) -{ - struct TALER_PQ_ResultSpec res = - {TALER_PQ_RF_UINT64, (void *) u64, sizeof (*u64), (name), NULL }; - return res; -} - - -/** - * json_t expected. - * - * @param name name of the field in the table - * @param[out] jp where to store the result - * @return array entry for the result specification to use - */ -struct TALER_PQ_ResultSpec -TALER_PQ_result_spec_json (const char *name, - json_t **jp) -{ - struct TALER_PQ_ResultSpec res = - {TALER_PQ_RF_JSON, (void *) jp, 0, (name), NULL }; - return res; -} - -/* end of pq_helper.c */ |