Annotation of embedaddon/strongswan/src/libcharon/processing/jobs/mediation_job.h, revision 1.1.1.1
1.1 misho 1: /*
2: * Copyright (C) 2007 Tobias Brunner
3: * HSR 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:
16: /**
17: * @defgroup mediation_job mediation_job
18: * @{ @ingroup cjobs
19: */
20:
21: #ifndef MEDIATION_JOB_H_
22: #define MEDIATION_JOB_H_
23:
24: typedef struct mediation_job_t mediation_job_t;
25:
26: #include <library.h>
27: #include <processing/jobs/job.h>
28: #include <utils/identification.h>
29: #include <collections/linked_list.h>
30:
31: /**
32: * Class representing a MEDIATION Job.
33: *
34: * This job handles the mediation on the mediation server.
35: */
36: struct mediation_job_t {
37: /**
38: * implements job_t interface
39: */
40: job_t job_interface;
41: };
42:
43: /**
44: * Creates a job of type MEDIATION.
45: *
46: * Parameters get cloned.
47: *
48: * @param peer_id ID of the requested peer
49: * @param requester ID of the requesting peer
50: * @param connect_id content of ME_CONNECTID (could be NULL)
51: * @param connect_key content of ME_CONNECTKEY
52: * @param endpoints list of submitted endpoints
53: * @param response TRUE if this is a response
54: * @return job object
55: */
56: mediation_job_t *mediation_job_create(identification_t *peer_id,
57: identification_t *requester, chunk_t connect_id, chunk_t connect_key,
58: linked_list_t *endpoints, bool response);
59:
60:
61: /**
62: * Creates a special job of type MEDIATION that is used to send a callback
63: * notification to a peer.
64: *
65: * Parameters get cloned.
66: *
67: * @param requester ID of the waiting peer
68: * @param peer_id ID of the requested peer
69: * @return job object
70: */
71: mediation_job_t *mediation_callback_job_create(identification_t *requester,
72: identification_t *peer_id);
73:
74: #endif /** MEDIATION_JOB_H_ @}*/
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>