aboutsummaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorJan Hutter <jhutter@hsr.ch>2005-11-17 12:49:56 +0000
committerJan Hutter <jhutter@hsr.ch>2005-11-17 12:49:56 +0000
commitf07a80d192330751c12eb9f0f23b8205246ea26a (patch)
tree8d1476f053988fe265d590da7ccc089ec751ce3f /Source
parente31eb71e1c88a9dd6ae940fa6cec61a9cb5d72c8 (diff)
downloadstrongswan-f07a80d192330751c12eb9f0f23b8205246ea26a.tar.bz2
strongswan-f07a80d192330751c12eb9f0f23b8205246ea26a.tar.xz
- added destroy_all to job_t
Diffstat (limited to 'Source')
-rw-r--r--Source/charon/jobs/incoming_packet_job.c16
-rw-r--r--Source/charon/jobs/initiate_ike_sa_job.c3
-rw-r--r--Source/charon/jobs/job.c1
-rw-r--r--Source/charon/jobs/job.h8
4 files changed, 27 insertions, 1 deletions
diff --git a/Source/charon/jobs/incoming_packet_job.c b/Source/charon/jobs/incoming_packet_job.c
index c7758faed..fe311d248 100644
--- a/Source/charon/jobs/incoming_packet_job.c
+++ b/Source/charon/jobs/incoming_packet_job.c
@@ -68,6 +68,21 @@ static status_t get_packet(private_incoming_packet_job_t *this,packet_t **packet
}
+
+/**
+ * Implements job_t's and destroy_all function.
+ * See #job_t.destroy_all description.
+ */
+static status_t destroy_all(private_incoming_packet_job_t *this)
+{
+ if (this->packet != NULL)
+ {
+ this->packet->destroy(this->packet);
+ }
+ allocator_free(this);
+ return SUCCESS;
+}
+
/**
* Implements job_t's and incoming_packet_job_t's destroy function.
* See #job_t.destroy or #incoming_packet_job_t.destroy for description.
@@ -93,6 +108,7 @@ incoming_packet_job_t *incoming_packet_job_create(packet_t *packet)
/* interface functions */
this->public.job_interface.get_type = (job_type_t (*) (job_t *)) get_type;
+ this->public.job_interface.destroy_all = (status_t (*) (job_t *)) destroy_all;
this->public.job_interface.destroy = destroy;
/* public functions */
diff --git a/Source/charon/jobs/initiate_ike_sa_job.c b/Source/charon/jobs/initiate_ike_sa_job.c
index d14de48ad..0bf0ccae9 100644
--- a/Source/charon/jobs/initiate_ike_sa_job.c
+++ b/Source/charon/jobs/initiate_ike_sa_job.c
@@ -64,7 +64,6 @@ static char * get_configuration_name(private_initiate_ike_sa_job_t *this)
return this->configuration_name;
}
-
/**
* Implements job_t's and initiate_ike_sa_job_t's destroy function.
* See #job_t.destroy or #initiate_ike_sa_job_t.destroy for description.
@@ -91,6 +90,8 @@ initiate_ike_sa_job_t *initiate_ike_sa_job_create(char *configuration_name)
/* interface functions */
this->public.job_interface.get_type = (job_type_t (*) (job_t *)) get_type;
+ /* same as destroy */
+ this->public.job_interface.destroy_all = (status_t (*) (job_t *)) destroy;
this->public.job_interface.destroy = destroy;
/* public functions */
diff --git a/Source/charon/jobs/job.c b/Source/charon/jobs/job.c
index 218800352..a7df3ec7f 100644
--- a/Source/charon/jobs/job.c
+++ b/Source/charon/jobs/job.c
@@ -20,6 +20,7 @@
* for more details.
*/
+
#include "job.h"
diff --git a/Source/charon/jobs/job.h b/Source/charon/jobs/job.h
index ae2d27170..2563390a8 100644
--- a/Source/charon/jobs/job.h
+++ b/Source/charon/jobs/job.h
@@ -72,6 +72,14 @@ struct job_s{
job_type_t (*get_type) (job_t *this);
/**
+ * @brief Destroys a job_t object and all assigned data!
+ *
+ * @param job_t calling object
+ * @returns SUCCESS if succeeded, FAILED otherwise
+ */
+ status_t (*destroy_all) (job_t *job);
+
+ /**
* @brief Destroys a job_t object
*
* @param job_t calling object