hash code trait
This commit is contained in:
parent
513a22c344
commit
7ffc6d0fb9
@ -68,7 +68,8 @@ libtalertesting_la_SOURCES = \
|
|||||||
testing_api_trait_string.c \
|
testing_api_trait_string.c \
|
||||||
testing_api_trait_key_peer.c \
|
testing_api_trait_key_peer.c \
|
||||||
testing_api_trait_wtid.c \
|
testing_api_trait_wtid.c \
|
||||||
testing_api_trait_amount.c
|
testing_api_trait_amount.c \
|
||||||
|
testing_api_trait_hash.c
|
||||||
|
|
||||||
libtalertesting_la_LIBADD = \
|
libtalertesting_la_LIBADD = \
|
||||||
$(top_builddir)/src/json/libtalerjson.la \
|
$(top_builddir)/src/json/libtalerjson.la \
|
||||||
|
71
src/exchange-lib/testing_api_trait_amount.c
Normal file
71
src/exchange-lib/testing_api_trait_amount.c
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
/*
|
||||||
|
This file is part of TALER
|
||||||
|
Copyright (C) 2018 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 exchange-lib/testing_api_trait_amount.c
|
||||||
|
* @brief offer amounts as traits
|
||||||
|
* @author Marcello Stanisci
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "platform.h"
|
||||||
|
#include "taler_json_lib.h"
|
||||||
|
#include <gnunet/gnunet_curl_lib.h>
|
||||||
|
#include "exchange_api_handle.h"
|
||||||
|
#include "taler_signatures.h"
|
||||||
|
#include "taler_testing_lib.h"
|
||||||
|
|
||||||
|
#define TALER_TESTING_TRAIT_AMOUNT "amount"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Obtain an amount from a @a cmd.
|
||||||
|
*
|
||||||
|
* @param cmd command to extract trait from
|
||||||
|
* @param selector which amount to pick if @a cmd has multiple
|
||||||
|
* on offer
|
||||||
|
* @param amount[out] set to the amount
|
||||||
|
* @return #GNUNET_OK on success
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
TALER_TESTING_get_trait_amount_obj (
|
||||||
|
const struct TALER_TESTING_Command *cmd,
|
||||||
|
unsigned int index,
|
||||||
|
struct TALER_Amount **amount)
|
||||||
|
{
|
||||||
|
return cmd->traits (cmd->cls,
|
||||||
|
(void **) amount,
|
||||||
|
TALER_TESTING_TRAIT_AMOUNT,
|
||||||
|
index);
|
||||||
|
}
|
||||||
|
|
||||||
|
struct TALER_TESTING_Trait
|
||||||
|
TALER_TESTING_make_trait_amount_obj (
|
||||||
|
unsigned int index,
|
||||||
|
const struct TALER_Amount *amount)
|
||||||
|
{
|
||||||
|
struct TALER_TESTING_Trait ret = {
|
||||||
|
.index = index,
|
||||||
|
.trait_name = TALER_TESTING_TRAIT_AMOUNT,
|
||||||
|
.ptr = (const void *) amount
|
||||||
|
};
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* end of testing_api_trait_amount.c */
|
74
src/exchange-lib/testing_api_trait_hash.c
Normal file
74
src/exchange-lib/testing_api_trait_hash.c
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
/*
|
||||||
|
This file is part of TALER
|
||||||
|
Copyright (C) 2018 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 exchange-lib/testing_api_trait_hash.c
|
||||||
|
* @brief traits to offer hash codes.
|
||||||
|
* @author Marcello Stanisci
|
||||||
|
*/
|
||||||
|
#include "platform.h"
|
||||||
|
#include "taler_json_lib.h"
|
||||||
|
#include <gnunet/gnunet_curl_lib.h>
|
||||||
|
#include "exchange_api_handle.h"
|
||||||
|
#include "taler_signatures.h"
|
||||||
|
#include "taler_testing_lib.h"
|
||||||
|
|
||||||
|
#define TALER_TESTING_TRAIT_HASH "hash"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Obtain a hash code from @a cmd.
|
||||||
|
*
|
||||||
|
* @param cmd command to extract trait from
|
||||||
|
* @param index which hash code to pick if @a cmd has multiple on
|
||||||
|
* offer
|
||||||
|
* @param wtid[out] set to the wanted hash code.
|
||||||
|
* @return #GNUNET_OK on success
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
TALER_TESTING_get_trait_hash
|
||||||
|
(const struct TALER_TESTING_Command *cmd,
|
||||||
|
unsigned int index,
|
||||||
|
struct GNUNET_HashCode **hash)
|
||||||
|
{
|
||||||
|
return cmd->traits (cmd->cls,
|
||||||
|
(void **) hash,
|
||||||
|
TALER_TESTING_TRAIT_HASH,
|
||||||
|
index);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param index associate the hash code with this index
|
||||||
|
* @param hash which hash code should be returned
|
||||||
|
*
|
||||||
|
* @return the trait, to be put in the traits array of the command
|
||||||
|
*/
|
||||||
|
struct TALER_TESTING_Trait
|
||||||
|
TALER_TESTING_make_trait_hash
|
||||||
|
(unsigned int index,
|
||||||
|
struct GNUNET_HashCode *hash)
|
||||||
|
{
|
||||||
|
struct TALER_TESTING_Trait ret = {
|
||||||
|
.index = index,
|
||||||
|
.trait_name = TALER_TESTING_TRAIT_HASH,
|
||||||
|
.ptr = (const void *) hash
|
||||||
|
};
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* end of testing_api_trait_hash.c */
|
@ -1332,4 +1332,30 @@ TALER_TESTING_make_trait_amount_obj (
|
|||||||
const struct TALER_Amount *amount);
|
const struct TALER_Amount *amount);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Obtain a hash code from @a cmd.
|
||||||
|
*
|
||||||
|
* @param cmd command to extract trait from
|
||||||
|
* @param index which hash code to pick if @a cmd has multiple on
|
||||||
|
* offer
|
||||||
|
* @param wtid[out] set to the wanted hash code.
|
||||||
|
* @return #GNUNET_OK on success
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
TALER_TESTING_get_trait_hash
|
||||||
|
(const struct TALER_TESTING_Command *cmd,
|
||||||
|
unsigned int index,
|
||||||
|
struct GNUNET_HashCode **hash);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param index associate the hash code with this index
|
||||||
|
* @param hash which hash code should be returned
|
||||||
|
*
|
||||||
|
* @return the trait, to be put in the traits array of the command
|
||||||
|
*/
|
||||||
|
struct TALER_TESTING_Trait
|
||||||
|
TALER_TESTING_make_trait_hash
|
||||||
|
(unsigned int index,
|
||||||
|
struct GNUNET_HashCode *hash);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user