updated Doxyfile
[strongswan.git] / src / charon / processing / jobs / mediation_job.h
1 /*
2 * Copyright (C) 2007 Tobias Brunner
3 * Hochschule fuer Technik Rapperswil
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License as published by the
7 * Free Software Foundation; either version 2 of the License, or (at your
8 * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
9 *
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
12 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 * for more details.
14 *
15 * $Id$
16 */
17
18 /**
19 * @defgroup mediation_job mediation_job
20 * @{ @ingroup jobs
21 */
22
23 #ifndef MEDIATION_JOB_H_
24 #define MEDIATION_JOB_H_
25
26 typedef struct mediation_job_t mediation_job_t;
27
28 #include <library.h>
29 #include <processing/jobs/job.h>
30 #include <utils/identification.h>
31 #include <utils/linked_list.h>
32
33 /**
34 * Class representing a MEDIATION Job.
35 *
36 * This job handles the mediation on the mediation server.
37 */
38 struct mediation_job_t {
39 /**
40 * implements job_t interface
41 */
42 job_t job_interface;
43 };
44
45 /**
46 * Creates a job of type MEDIATION.
47 *
48 * Parameters get cloned.
49 *
50 * @param peer_id ID of the requested peer
51 * @param requester ID of the requesting peer
52 * @param connect_id content of ME_CONNECTID (could be NULL)
53 * @param connect_key content of ME_CONNECTKEY
54 * @param endpoints list of submitted endpoints
55 * @param response TRUE if this is a response
56 * @return job object
57 */
58 mediation_job_t *mediation_job_create(identification_t *peer_id,
59 identification_t *requester, chunk_t connect_id, chunk_t connect_key,
60 linked_list_t *endpoints, bool response);
61
62
63 /**
64 * Creates a special job of type MEDIATION that is used to send a callback
65 * notification to a peer.
66 *
67 * Parameters get cloned.
68 *
69 * @param requester ID of the waiting peer
70 * @param peer_id ID of the requested peer
71 * @return job object
72 */
73 mediation_job_t *mediation_callback_job_create(identification_t *requester,
74 identification_t *peer_id);
75
76 #endif /** MEDIATION_JOB_H_ @}*/