summaryrefslogtreecommitdiff
path: root/src/backend/taler-merchant-httpd.h
blob: b60d91bdb26c2c8a77466b3363d89b3730a22779 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/*
  This file is part of TALER
  (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 merchant/backend/taler-merchant-httpd.h
 * @brief HTTP serving layer mainly intended to communicate with the frontend
 * @author Marcello Stanisci
 */

#include "merchant_db.h"

/**
 * Kick MHD to run now, to be called after MHD_resume_connection().
 */
void
TM_trigger_daemon (void);


struct TM_HandlerContext;

/**
 * Signature of a function used to clean up the context
 * we keep in the "connection_cls" of MHD when handling
 * a request.
 *
 * @param hc header of the context to clean up.
 */
typedef void
(*TM_ContextCleanup)(struct TM_HandlerContext *hc);


struct TM_HandlerContext
{

  TM_ContextCleanup cc;

};

extern struct MERCHANT_Mint *mints;

extern struct MERCHANT_WIREFORMAT_Sepa *wire;

extern PGconn *db_conn;

extern long long salt;

extern unsigned int nmints;

extern struct GNUNET_TIME_Relative edate_delay;

extern struct GNUNET_CRYPTO_EddsaPrivateKey *privkey;

extern struct GNUNET_SCHEDULER_Task *poller_task;


void
context_task (void *cls,
              const struct GNUNET_SCHEDULER_TaskContext *tc);