diff options
author | Jan Hutter <jhutter@hsr.ch> | 2005-11-07 07:33:31 +0000 |
---|---|---|
committer | Jan Hutter <jhutter@hsr.ch> | 2005-11-07 07:33:31 +0000 |
commit | 0e39bf8a3b5b5138c0925439084175e2f5c6ad83 (patch) | |
tree | 7097c1c1568bd7fce44426287d6a1e5785fc7455 | |
parent | b6e9bc4925de143618d4042a836c5847837590c1 (diff) | |
download | strongswan-0e39bf8a3b5b5138c0925439084175e2f5c6ad83.tar.bz2 strongswan-0e39bf8a3b5b5138c0925439084175e2f5c6ad83.tar.xz |
- job_t is now defined in its own files job.h and job.c
-rw-r--r-- | Source/charon/job.c | 52 | ||||
-rw-r--r-- | Source/charon/job.h | 88 | ||||
-rw-r--r-- | Source/charon/job_queue.c | 24 | ||||
-rw-r--r-- | Source/charon/job_queue.h | 62 |
4 files changed, 142 insertions, 84 deletions
diff --git a/Source/charon/job.c b/Source/charon/job.c new file mode 100644 index 000000000..b929223aa --- /dev/null +++ b/Source/charon/job.c @@ -0,0 +1,52 @@ +/** + * @file job.c + * + * @brief Job-Class representing a job e.g. in job_queue + * + */ + +/* + * Copyright (C) 2005 Jan Hutter, Martin Willi + * Hochschule fuer Technik Rapperswil + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * for more details. + */ + +#include <stdlib.h> + #include <freeswan.h> +#include <pluto/constants.h> +#include <pluto/defs.h> + + #include "job.h" + + /** + * @brief implements function destroy of job_t + */ +static status_t job_destroy(job_t *job) +{ + pfree(job); + return SUCCESS; +} + +/* + * Creates a job (documented in header-file) + */ +job_t *job_create(job_type_t type, void *assigned_data) +{ + job_t *this = alloc_thing(job_t, "job_t"); + + this->destroy = job_destroy; + + this->type = type; + this->assigned_data = assigned_data; + + return this; +} diff --git a/Source/charon/job.h b/Source/charon/job.h new file mode 100644 index 000000000..6063b44ea --- /dev/null +++ b/Source/charon/job.h @@ -0,0 +1,88 @@ +/** + * @file job.h + * + * @brief Job-Class representing a job e.g. in job_queue + * + */ + +/* + * Copyright (C) 2005 Jan Hutter, Martin Willi + * Hochschule fuer Technik Rapperswil + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * for more details. + */ + +#ifndef JOB_H_ +#define JOB_H_ + +#include "types.h" + +/** + * Type of Jobs in Job-Queue + */ +typedef enum job_type_e job_type_t; + +enum job_type_e{ + /** + * process an incoming IKEv2-Message + */ + INCOMING_PACKET, + /** + * retransmit an IKEv2-Message + */ + RETRANSMIT_REQUEST, + /** + * establish an ike sa as initiator + */ + ESTABLISH_IKE_SA + /* more job types have to be inserted here */ +}; + + +/** + * @brief Job as it is stored in the job queue + * + * A job consists of a job-type and an assigned value + * + * The value-type for a specific job is not discussed here + */ +typedef struct job_s job_t; + +struct job_s{ + /** + * Type of job + */ + job_type_t type; + /** + * Every job has its assigned_data based on the job type + */ + void * assigned_data; + + /** + * @brief Destroys a job_t object + * + * @param job_t calling object + * @returns SUCCESS if succeeded, FAILED otherwise + */ + status_t (*destroy) (job_t *job); +}; + +/** + * @brief Creates a job of specific type + * + * @param type type of the job + * @param assigned_data value to assign to the job + * + * @return job_t job object + */ +job_t *job_create(job_type_t type, void *assigned_data); + +#endif /*JOB_H_*/ diff --git a/Source/charon/job_queue.c b/Source/charon/job_queue.c index 84a72992f..902f92e50 100644 --- a/Source/charon/job_queue.c +++ b/Source/charon/job_queue.c @@ -29,30 +29,6 @@ #include "job_queue.h" /** - * @brief implements function destroy of job_t - */ -static status_t job_destroy(job_t *job) -{ - pfree(job); - return SUCCESS; -} - -/* - * Creates a job (documented in header-file) - */ -job_t *job_create(job_type_t type, void *assigned_data) -{ - job_t *this = alloc_thing(job_t, "job_t"); - - this->destroy = job_destroy; - - this->type = type; - this->assigned_data = assigned_data; - - return this; -} - -/** * @brief Private Variables and Functions of job_queue class * */ diff --git a/Source/charon/job_queue.h b/Source/charon/job_queue.h index 9516c4ebd..11e194e82 100644 --- a/Source/charon/job_queue.h +++ b/Source/charon/job_queue.h @@ -23,69 +23,11 @@ #ifndef JOB_QUEUE_H_ #define JOB_QUEUE_H_ +#include "types.h" +#include "job.h" #include "linked_list.h" /** - * Type of Jobs in Job-Queue - */ -typedef enum job_type_e job_type_t; - -enum job_type_e{ - /** - * process an incoming IKEv2-Message - */ - INCOMING_PACKET, - /** - * retransmit an IKEv2-Message - */ - RETRANSMIT_REQUEST, - /** - * establish an ike sa as initiator - */ - ESTABLISH_IKE_SA - /* more job types have to be inserted here */ -}; - - -/** - * @brief Job as it is stored in the job queue - * - * A job consists of a job-type and an assigned value - * - * The value-type for a specific job is not discussed here - */ -typedef struct job_s job_t; - -struct job_s{ - /** - * Type of job - */ - job_type_t type; - /** - * Every job has its assigned_data based on the job type - */ - void * assigned_data; - - /** - * @brief Destroys a job_t object - * - * @param job_t calling object - * @returns SUCCESS if succeeded, FAILED otherwise - */ - status_t (*destroy) (job_t *job); -}; - -/** - * @brief Creates a job of specific type - * - * @param type type of the job - * @param assigned_data value to assign to the job - * - * @return job_t job object - */ -job_t *job_create(job_type_t type, void *assigned_data); - -/** * @brief Job-Queue * * Despite the job-queue is based on a linked_list_t |