summaryrefslogtreecommitdiff
path: root/src/lib/exchange_api_handle.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/exchange_api_handle.c')
-rw-r--r--src/lib/exchange_api_handle.c93
1 files changed, 25 insertions, 68 deletions
diff --git a/src/lib/exchange_api_handle.c b/src/lib/exchange_api_handle.c
index 4d245b077..7e3021129 100644
--- a/src/lib/exchange_api_handle.c
+++ b/src/lib/exchange_api_handle.c
@@ -113,16 +113,6 @@ struct TEAH_AuditorListEntry
struct TALER_AUDITOR_GetConfigHandle *ah;
/**
- * Head of DLL of interactions with this auditor.
- */
- struct TEAH_AuditorInteractionEntry *ai_head;
-
- /**
- * Tail of DLL of interactions with this auditor.
- */
- struct TEAH_AuditorInteractionEntry *ai_tail;
-
- /**
* Public key of the auditor.
*/
struct TALER_AuditorPublicKeyP auditor_pub;
@@ -168,58 +158,24 @@ struct KeysRequest
void
-TEAH_acc_confirmation_cb (
- void *cls,
- const struct TALER_AUDITOR_DepositConfirmationResponse *dcr)
-{
- struct TEAH_AuditorInteractionEntry *aie = cls;
- struct TEAH_AuditorListEntry *ale = aie->ale;
-
- if (MHD_HTTP_OK != dcr->hr.http_status)
- {
- GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
- "Failed to submit deposit confirmation to auditor `%s' with HTTP status %d (EC: %d). This is acceptable if it does not happen often.\n",
- ale->auditor_url,
- dcr->hr.http_status,
- dcr->hr.ec);
- }
- GNUNET_CONTAINER_DLL_remove (ale->ai_head,
- ale->ai_tail,
- aie);
- GNUNET_free (aie);
-}
-
-
-void
-TEAH_get_auditors_for_dc (struct TALER_EXCHANGE_Handle *h,
+TEAH_get_auditors_for_dc (struct TALER_EXCHANGE_Keys *keys,
TEAH_AuditorCallback ac,
void *ac_cls)
{
- if (NULL == h->auditors_head)
+ if (0 == keys->num_auditors)
{
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
- "No auditor available for exchange `%s'. Not submitting deposit confirmations.\n",
- h->url);
+ "No auditor available. Not submitting deposit confirmations.\n");
return;
}
- for (struct TEAH_AuditorListEntry *ale = h->auditors_head;
- NULL != ale;
- ale = ale->next)
+ for (unsigned int i = 0; i<keys->num_auditors; i++)
{
- struct TEAH_AuditorInteractionEntry *aie;
+ const struct TALER_EXCHANGE_AuditorInformation *auditor
+ = &keys->auditors[i];
- if (! ale->is_up)
- continue;
- aie = ac (ac_cls,
- ale->auditor_url,
- &ale->auditor_pub);
- if (NULL != aie)
- {
- aie->ale = ale;
- GNUNET_CONTAINER_DLL_insert (ale->ai_head,
- ale->ai_tail,
- aie);
- }
+ ac (ac_cls,
+ auditor->auditor_url,
+ &auditor->auditor_pub);
}
}
@@ -2121,20 +2077,6 @@ TALER_EXCHANGE_disconnect (struct TALER_EXCHANGE_Handle *exchange)
while (NULL != (ale = exchange->auditors_head))
{
- struct TEAH_AuditorInteractionEntry *aie;
-
- while (NULL != (aie = ale->ai_head))
- {
- GNUNET_assert (aie->ale == ale);
- GNUNET_log (GNUNET_ERROR_TYPE_INFO,
- "Not sending deposit confirmation to auditor `%s' due to exchange disconnect\n",
- ale->auditor_url);
- TALER_AUDITOR_deposit_confirmation_cancel (aie->dch);
- GNUNET_CONTAINER_DLL_remove (ale->ai_head,
- ale->ai_tail,
- aie);
- GNUNET_free (aie);
- }
GNUNET_CONTAINER_DLL_remove (exchange->auditors_head,
exchange->auditors_tail,
ale);
@@ -2275,7 +2217,7 @@ TALER_EXCHANGE_get_denomination_key_by_hash (
}
-const struct TALER_EXCHANGE_Keys *
+struct TALER_EXCHANGE_Keys *
TALER_EXCHANGE_get_keys (struct TALER_EXCHANGE_Handle *exchange)
{
(void) TALER_EXCHANGE_check_keys_current (exchange,
@@ -2297,4 +2239,19 @@ TALER_EXCHANGE_get_keys_raw (struct TALER_EXCHANGE_Handle *exchange)
}
+struct TALER_EXCHANGE_Keys *
+TALER_EXCHANGE_keys_incref (struct TALER_EXCHANGE_Keys *keys)
+{
+ // FIXME
+ return keys;
+}
+
+
+void
+TALER_EXCHANGE_keys_decref (struct TALER_EXCHANGE_Keys *keys)
+{
+ // FIXME
+}
+
+
/* end of exchange_api_handle.c */