Replaced ike_sa_t.create_child_sa_iterator with enumerator.

This required two new methods on ike_sa_t. One returns the number of
CHILD_SAs and one allows to remove a CHILD_SA.
This commit is contained in:
Tobias Brunner
2011-07-06 09:43:45 +02:00
parent 4f9c691adb
commit 4bbce1ef37
16 changed files with 140 additions and 119 deletions
+4 -4
View File
@@ -367,7 +367,7 @@ METHOD(controller_t, terminate_child, status_t,
{
ike_sa_t *ike_sa;
child_sa_t *child_sa;
iterator_t *iterator;
enumerator_t *enumerator;
interface_job_t job = {
.listener = {
.public = {
@@ -397,8 +397,8 @@ METHOD(controller_t, terminate_child, status_t,
}
job.listener.ike_sa = ike_sa;
iterator = ike_sa->create_child_sa_iterator(ike_sa);
while (iterator->iterate(iterator, (void**)&child_sa))
enumerator = ike_sa->create_child_sa_enumerator(ike_sa);
while (enumerator->enumerate(enumerator, (void**)&child_sa))
{
if (child_sa->get_state(child_sa) != CHILD_ROUTED &&
child_sa->get_reqid(child_sa) == reqid)
@@ -407,7 +407,7 @@ METHOD(controller_t, terminate_child, status_t,
}
child_sa = NULL;
}
iterator->destroy(iterator);
enumerator->destroy(enumerator);
if (child_sa == NULL)
{