Grassroots Infrastructure
The Grassroots Infrastructure is a suite of computing tools to help users and developers use scientific data infrastructure that can easily be interconnected.
drmaa_service_job.h
Go to the documentation of this file.
1 /*
2 ** Copyright 2014-2016 The Earlham Institute
3 **
4 ** Licensed under the Apache License, Version 2.0 (the "License");
5 ** you may not use this file except in compliance with the License.
6 ** You may obtain a copy of the License at
7 **
8 ** http://www.apache.org/licenses/LICENSE-2.0
9 **
10 ** Unless required by applicable law or agreed to in writing, software
11 ** distributed under the License is distributed on an "AS IS" BASIS,
12 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 ** See the License for the specific language governing permissions and
14 ** limitations under the License.
15 */
16 
21 /*
22  * drmaa_service_job.h
23  *
24  * Created on: 19 Jan 2016
25  * Author: tyrrells
26  */
27 
28 #ifndef DRMAA_SERVICE_JOB_H_
29 #define DRMAA_SERVICE_JOB_H_
30 
31 #include "drmaa_library.h"
32 #include "drmaa_tool.h"
33 #include "service_job.h"
34 #include "service.h"
35 #include "jansson.h"
36 
37 
45 typedef struct DrmaaServiceJob
46 {
49 
53 
54 
55 #ifdef __cplusplus
56 extern "C" {
57 #endif
58 
59 
69 GRASSROOTS_DRMAA_API DrmaaServiceJob *AllocateDrmaaServiceJob (const char *drmaa_program_name_s, Service *service_p, const char *job_name_s);
70 
71 
80 GRASSROOTS_DRMAA_API void InitDrmaaServiceJob (DrmaaServiceJob *job_p, Service *service_p, const char *job_name_s);
81 
82 
89 
90 
97 
98 
108 
109 
119 
120 
121 
122 #ifdef __cplusplus
123 }
124 #endif
125 
126 
127 #endif /* DRMAA_SERVICE_JOB_H_ */
DrmaaServiceJob::GetDrmmaaServiceJobFromJSON
DrmaaServiceJob * GetDrmmaaServiceJobFromJSON(const json_t *const json_p)
Deserialise a DrmaaServiceJob from a JSON fragment.
DrmaaServiceJob::dsj_job
ServiceJob dsj_job
The base ServiceJob.
Definition: drmaa_service_job.h:48
service.h
ServiceJob
A datatype to represent a running task.
Definition: service_job.h:72
DrmaaServiceJob::InitDrmaaServiceJob
void InitDrmaaServiceJob(DrmaaServiceJob *job_p, Service *service_p, const char *job_name_s)
Initialise a DrmaaServiceJob.
AllocateDrmaaServiceJobSet
ServiceJobSet * AllocateDrmaaServiceJobSet(void)
Allocate a ServiceJobSet to store DrmaaServiceJobs.
GRASSROOTS_DRMAA_API
#define GRASSROOTS_DRMAA_API
Definition: drmaa_library.h:46
DrmaaServiceJob::GetDrmmaaServiceJobAsJSON
json_t * GetDrmmaaServiceJobAsJSON(const DrmaaServiceJob *const job_p)
Serialise the DrmaaServiceJob into a JSON fragment.
Service
A datatype which defines an available service, its capabilities and its parameters.
Definition: service.h:153
DrmaaServiceJob
A ServiceJob that also has the data for running as Drmaa-based task.
Definition: drmaa_service_job.h:45
FreeDrmaaServiceJobSet
void FreeDrmaaServiceJobSet(ServiceJobSet *jobs_p)
Free a DrmaaServiceJobSet.
service_job.h
ServiceJobSet
A datatype to represent a collection of ServiceJobs.
Definition: service_job.h:185
DrmaaServiceJob::dsj_drmaa_p
DrmaaTool * dsj_drmaa_p
The associated DrmaaTool.
Definition: drmaa_service_job.h:51
drmaa_tool.h
DrmaaTool
A Tool for running Drmaa jobs.
Definition: drmaa_tool.h:56
drmaa_library.h
DrmaaServiceJob::AllocateDrmaaServiceJob
DrmaaServiceJob * AllocateDrmaaServiceJob(const char *drmaa_program_name_s, Service *service_p, const char *job_name_s)
Allocate a DrmaaServiceJob.