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.
polymarker_service_job.h
Go to the documentation of this file.
1 /*
2  * polymarker_service_job.h
3  *
4  * Created on: 7 Feb 2017
5  * Author: billy
6  */
7 
8 #ifndef SERVER_SRC_SERVICES_POLYMARKER_INCLUDE_POLYMARKER_SERVICE_JOB_H_
9 #define SERVER_SRC_SERVICES_POLYMARKER_INCLUDE_POLYMARKER_SERVICE_JOB_H_
10 
11 
12 #include "polymarker_service.h"
13 #include "service_job.h"
14 
15 
16 class PolymarkerTool;
17 
18 #ifndef DOXYGEN_SHOULD_SKIP_THIS
19 
20 
21 #ifdef ALLOCATE_POLYMARKER_SERVICE_JOB_TAGS
22  #define POLYMARKER_SERVICE_JOB_PREFIX POLYMARKER_SERVICE_API
23  #define POLYMARKER_SERVICE_JOB_VAL(x) = x
24 #else
25  #define POLYMARKER_SERVICE_JOB_PREFIX extern
26  #define POLYMARKER_SERVICE_JOB_VAL(x)
27 #endif
28 
29 #endif
30 
31 
32 POLYMARKER_SERVICE_JOB_PREFIX const char *PSJ_TYPE_S POLYMARKER_SERVICE_JOB_VAL ("polymarker_service_job");
33 
34 
40 typedef struct PolymarkerServiceJob
41 {
44 
47 
49 
50 
51 
52 #ifdef __cplusplus
53 extern "C"
54 {
55 #endif
56 
57 
58 
68 
69 
77 
78 
88 
89 
90 
99 POLYMARKER_SERVICE_LOCAL ServiceJob *GetPolymarkerServiceJobFromJSON (struct Service *service_p, const json_t *service_job_json_p);
100 
101 
111 POLYMARKER_SERVICE_LOCAL json_t *ConvertPolymarkerServiceJobToJSON (Service *service_p, ServiceJob *service_job_p, bool omit_results_flag);
112 
113 
114 
116 
117 
118 
120 
121 
122 POLYMARKER_SERVICE_LOCAL bool AddPolymarkerResult (PolymarkerServiceJob *polymarker_job_p, const char *uuid_s);
123 
124 
125 
126 #ifdef __cplusplus
127 }
128 #endif
129 
130 
131 #endif /* SERVER_SRC_SERVICES_POLYMARKER_INCLUDE_POLYMARKER_SERVICE_JOB_H_ */
PolymarkerServiceJob::FreePolymarkerServiceJob
void FreePolymarkerServiceJob(ServiceJob *job_p)
Free the PolymarkerServiceJob.
PolymarkerServiceJob::psj_base_job
ServiceJob psj_base_job
The base ServiceJob.
Definition: polymarker_service_job.h:43
PolymarkerServiceJobCompleted
void PolymarkerServiceJobCompleted(ServiceJob *job_p)
ServiceJob
A datatype to represent a running task.
Definition: service_job.h:72
PolymarkerServiceJob::ConvertPolymarkerServiceJobToJSON
json_t * ConvertPolymarkerServiceJobToJSON(Service *service_p, ServiceJob *service_job_p, bool omit_results_flag)
Get the JSON representation of a PolymarkerServiceJob.
PolymarkerSequence
A datatype that stores the information of sequence data that the PolymarkerService can run with.
Definition: polymarker_service.h:106
polymarker_service.h
PolymarkerServiceData
The ServiceData used for the PolymarkerService.
Definition: polymarker_service.h:129
AllocatePolymarkerServiceJob
PolymarkerServiceJob * AllocatePolymarkerServiceJob(Service *service_p, const PolymarkerSequence *db_p, PolymarkerServiceData *data_p)
Create a PolymarkerServiceJob.
PolymarkerServiceJob::GetPolymarkerServiceJobFromJSON
ServiceJob * GetPolymarkerServiceJobFromJSON(struct Service *service_p, const json_t *service_job_json_p)
Create a PolymarkerServiceJob from a JSON-based serialisation.
PolymarkerServiceJob
A datatype for storing a ServiceJob for the PolymarkerService with its extra associated fields.
Definition: polymarker_service_job.h:40
Service
A datatype which defines an available service, its capabilities and its parameters.
Definition: service.h:153
AddPolymarkerResult
bool AddPolymarkerResult(PolymarkerServiceJob *polymarker_job_p, const char *uuid_s)
POLYMARKER_SERVICE_JOB_VAL
const POLYMARKER_SERVICE_JOB_PREFIX char *PSJ_TYPE_S POLYMARKER_SERVICE_JOB_VAL("polymarker_service_job")
service_job.h
PolymarkerServiceJob::UpdatePolymarkerServiceJob
bool UpdatePolymarkerServiceJob(ServiceJob *job_p)
Update the running status of PolymarkerServiceJob if needed.
POLYMARKER_SERVICE_LOCAL
#define POLYMARKER_SERVICE_LOCAL
Definition: polymarker_service.h:48
PolymarkerTool
The base class for the object that will actually run the Polymarker application.
Definition: polymarker_tool.hpp:42
DeterminePolymarkerResult
bool DeterminePolymarkerResult(PolymarkerServiceJob *polymarker_job_p)
PolymarkerServiceJob::psj_tool_p
PolymarkerTool * psj_tool_p
The PolymarkerTool used for this PolymarkerServiceJob.
Definition: polymarker_service_job.h:46