exchange/src/mintdb/perf_taler_mintdb_init.h

208 lines
5.4 KiB
C
Raw Normal View History

2015-06-09 17:35:33 +02:00
/*
This file is part of TALER
Copyright (C) 2014, 2015 Christian Grothoff (and other contributing authors)
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 mintdb/perf_taler_mintdb_init.h
* @brief Heler function for creating dummy inputs for the mint database
2015-06-09 17:35:33 +02:00
* @author Nicolas Fournier
*/
#ifndef __PERF_TALER_MINTDB_INIT_H___
#define __PERF_TALER_MINTDB_INIT_H___
#include "taler_mintdb_plugin.h"
2015-06-09 13:55:05 +02:00
#define CURRENCY "EUR"
2015-06-30 09:23:04 +02:00
/**
2015-06-30 09:23:04 +02:00
* Generate a dummy DenominationKeyInformation for testing purposes
* @return a dummy denomination key
*/
2015-06-30 09:23:04 +02:00
struct TALER_MINTDB_DenominationKeyIssueInformation *
PERF_TALER_MINTDB_denomination_init (void);
/**
2015-06-30 09:23:04 +02:00
* Copies the given denomination
* @param reserve the deposit copy
* @return a copy of @a deposit; NULL if error
*/
2015-06-30 09:23:04 +02:00
struct TALER_MINTDB_DenominationKeyIssueInformation *
PERF_TALER_MINTDB_denomination_copy (
const struct TALER_MINTDB_DenominationKeyIssueInformation *dki);
/**
2015-06-30 09:23:04 +02:00
* Free memory of a DenominationKeyIssueInformation
* @param dki pointer to the struct to free
*/
int
2015-06-30 09:23:04 +02:00
PERF_TALER_MINTDB_denomination_free (
struct TALER_MINTDB_DenominationKeyIssueInformation *dki);
/**
2015-06-30 09:23:04 +02:00
* Generate a dummy reserve for testing
* @return a reserve with 1000 EUR in it
*/
struct TALER_MINTDB_Reserve *
2015-06-12 12:09:14 +02:00
PERF_TALER_MINTDB_reserve_init (void);
/**
2015-06-30 09:23:04 +02:00
* Copies the given reserve
* @param reserve the reserve to copy
* @return a copy of @a reserve; NULL if error
*/
struct TALER_MINTDB_Reserve *
PERF_TALER_MINTDB_reserve_copy (const struct TALER_MINTDB_Reserve *reserve);
/**
2015-06-30 09:23:04 +02:00
* Free memory of a reserve
* @param reserve pointer to the structure to be freed
*/
int
2015-06-30 09:23:04 +02:00
PERF_TALER_MINTDB_reserve_free (struct TALER_MINTDB_Reserve *reserve);
/**
2015-06-30 09:23:04 +02:00
* Generate a dummy deposit for testing purposes
* @param dki the denomination key used to sign the key
*/
struct TALER_MINTDB_Deposit *
2015-06-30 09:23:04 +02:00
PERF_TALER_MINTDB_deposit_init (
const struct TALER_MINTDB_DenominationKeyIssueInformation *dki);
/**
2015-06-30 09:23:04 +02:00
* Copies the given deposit
* @param reserve the deposit copy
* @return a copy of @a deposit; NULL if error
*/
struct TALER_MINTDB_Deposit *
PERF_TALER_MINTDB_deposit_copy (const struct TALER_MINTDB_Deposit *deposit);
/**
* Free memory of a deposit
2015-06-30 09:23:04 +02:00
* @param deposit pointer to the structure to free
*/
int
2015-06-12 12:09:14 +02:00
PERF_TALER_MINTDB_deposit_free (struct TALER_MINTDB_Deposit *deposit);
/**
2015-06-30 09:23:04 +02:00
* Generate a CollectableBlindcoin for testing purpuses
* @param dki denomination key used to sign the coin
* @param reserve reserve providing the money for the coin
* @return a randomly generated CollectableBlindcoin
*/
2015-06-30 09:23:04 +02:00
struct TALER_MINTDB_CollectableBlindcoin *
PERF_TALER_MINTDB_collectable_blindcoin_init (
const struct TALER_MINTDB_DenominationKeyIssueInformation *dki,
const struct TALER_MINTDB_Reserve *reserve);
2015-06-12 11:14:32 +02:00
/**
2015-06-30 09:23:04 +02:00
* Copies the given coin
* @param coin the coin to copy
* @return a copy of coin; NULL if error
*/
2015-06-30 09:23:04 +02:00
struct TALER_MINTDB_CollectableBlindcoin *
PERF_TALER_MINTDB_collectable_blindcoin_copy (
const struct TALER_MINTDB_CollectableBlindcoin *coin);
/**
2015-06-30 09:23:04 +02:00
* Liberate memory of @a coin
* @param coin pointer to the structure to free
*/
2015-06-09 13:55:05 +02:00
int
2015-06-30 09:23:04 +02:00
PERF_TALER_MINTDB_collectable_blindcoin_free (
struct TALER_MINTDB_CollectableBlindcoin *coin);
2015-07-09 10:46:33 +02:00
/**
* Create a melt operation
*
* @param session the refresh session
* @param dki the denomination the melted coin uses
* @return a pointer to a #TALER_MINTDB_RefreshMelt
*/
struct TALER_MINTDB_RefreshMelt *
PERF_TALER_MINTDB_refresh_melt_init (struct GNUNET_HashCode *session,
struct TALER_MINTDB_DenominationKeyIssueInformation *dki);
/**
* Copies the internals of a #TALER_MINTDB_RefreshMelt
*
* @param melt the refresh melt to copy
* @return an copy of @ melt
*/
struct TALER_MINTDB_RefreshMelt *
PERF_TALER_MINTDB_refresh_melt_copy (const struct TALER_MINTDB_RefreshMelt *melt);
/**
* Free the internal memory of a #TALER_MINTDB_RefreshMelt
*
* @param melt the #TALER_MINTDB_RefreshMelt to free
* @return #GNUNET_OK if the operation was successful, #GNUNET_SYSERROR
*/
int
PERF_TALER_MINTDB_refresh_melt_free (struct TALER_MINTDB_RefreshMelt *melt)
/**
* Generate a random CoinPublicInfo
*/
struct TALER_CoinPublicInfo *
PERF_TALER_MINTDB_coin_public_info_init (void);
/**
* Free a CoinPublicInfo
*/
int PERF_TALER_MINTDB_coin_public_info_free (struct TALER_CoinPublicInfo *cpi);
2015-06-30 09:23:04 +02:00
/**
* @return a randomly generated refresh session
*/
struct TALER_MINTDB_RefreshSession *
PERF_TALER_MINTDB_refresh_session_init (void);
2015-07-09 10:46:33 +02:00
/**
* @return #GNUNET_OK if the copy was successful, #GNUNET_SYSERR if it wasn't
*/
int
PERF_TALER_MINTDB_refresh_session_copy (struct TALER_MINTDB_RefreshSession *session,
struct TALER_MINTDB_RefreshSession *copy)
2015-06-30 09:23:04 +02:00
/**
* Frees memory of a refresh_session
*/
int
PERF_TALER_MINTDB_refresh_session_free (
struct TALER_MINTDB_RefreshSession *refresh_session);
#endif