From: Martin Willi Date: Mon, 7 Jun 2010 09:37:55 +0000 (+0200) Subject: Wrap task enumerator in ike_sa X-Git-Tag: 4.4.1~181 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ea340ee8400826c0204eb88dc452248bde227c52;p=thirdparty%2Fstrongswan.git Wrap task enumerator in ike_sa --- diff --git a/src/libcharon/sa/ike_sa.c b/src/libcharon/sa/ike_sa.c index 5145da2e2d..a2190ff0ca 100644 --- a/src/libcharon/sa/ike_sa.c +++ b/src/libcharon/sa/ike_sa.c @@ -1786,6 +1786,12 @@ METHOD(ike_sa_t, add_configuration_attribute, void, this->attributes->insert_last(this->attributes, entry); } +METHOD(ike_sa_t, create_task_enumerator, enumerator_t*, + private_ike_sa_t *this, task_queue_t queue) +{ + return this->task_manager->create_task_enumerator(this->task_manager, queue); +} + METHOD(ike_sa_t, inherit, status_t, private_ike_sa_t *this, ike_sa_t *other_public) { @@ -2020,6 +2026,7 @@ ike_sa_t * ike_sa_create(ike_sa_id_t *ike_sa_id) .get_virtual_ip = _get_virtual_ip, .add_configuration_attribute = _add_configuration_attribute, .set_kmaddress = _set_kmaddress, + .create_task_enumerator = _create_task_enumerator, #ifdef ME .act_as_mediation_server = _act_as_mediation_server, .get_server_reflexive_host = _get_server_reflexive_host, diff --git a/src/libcharon/sa/ike_sa.h b/src/libcharon/sa/ike_sa.h index c61502edfe..372405efcf 100644 --- a/src/libcharon/sa/ike_sa.h +++ b/src/libcharon/sa/ike_sa.h @@ -37,7 +37,7 @@ typedef struct ike_sa_t ike_sa_t; #include #include #include -#include +#include #include #include #include @@ -887,6 +887,14 @@ struct ike_sa_t { */ void (*set_kmaddress) (ike_sa_t *this, host_t *local, host_t *remote); + /** + * Create enumerator over a task queue of this IKE_SA. + * + * @param queue type to enumerate + * @return enumerator over task_t + */ + enumerator_t* (*create_task_enumerator)(ike_sa_t *this, task_queue_t queue); + /** * Inherit all attributes of other to this after rekeying. *