| 
| DrmaaServiceJob *  | AllocateDrmaaServiceJob (const char *drmaa_program_name_s, Service *service_p, const char *job_name_s) | 
|   | Allocate a DrmaaServiceJob.  More...
  | 
|   | 
| void  | InitDrmaaServiceJob (DrmaaServiceJob *job_p, Service *service_p, const char *job_name_s) | 
|   | Initialise a DrmaaServiceJob.  More...
  | 
|   | 
| json_t *  | GetDrmmaaServiceJobAsJSON (const DrmaaServiceJob *const job_p) | 
|   | Serialise the DrmaaServiceJob into a JSON fragment.  More...
  | 
|   | 
| DrmaaServiceJob *  | GetDrmmaaServiceJobFromJSON (const json_t *const json_p) | 
|   | Deserialise a DrmaaServiceJob from a JSON fragment.  More...
  | 
|   | 
| void  | FreeServiceJob (ServiceJob *job_p) | 
|   | Free a ServiceJob.  More...
  | 
|   | 
| void  | FreeBaseServiceJob (ServiceJob *job_p) | 
|   | Free a ServiceJob ignoring if it is a subclass.  More...
  | 
|   | 
| ServiceJob *  | AllocateServiceJob (struct Service *service_p, const char *job_name_s, const char *job_description_s, bool(*update_fn)(struct ServiceJob *job_p), bool(*calculate_results_fn)(struct ServiceJob *job_p), void(*free_job_fn)(struct ServiceJob *job_p), const char *job_type_s) | 
|   | Allocate a ServiceJob.  More...
  | 
|   | 
| ServiceJob *  | CreateAndAddServiceJobToService (struct Service *service_p, const char *job_name_s, const char *job_description_s, bool(*update_fn)(struct ServiceJob *job_p), bool(*calculate_results_fn)(struct ServiceJob *job_p), void(*free_job_fn)(struct ServiceJob *job_p)) | 
|   | Allocate a ServiceJob and add it to a ServiceJobSet.  More...
  | 
|   | 
| bool  | InitServiceJob (ServiceJob *job_p, struct Service *service_p, const char *job_name_s, const char *job_description_s, bool(*update_fn)(struct ServiceJob *job_p), bool(*calculate_results_fn)(struct ServiceJob *job_p), void(*free_job_fn)(struct ServiceJob *job_p), uuid_t *id_p, const char *job_type_s) | 
|   | Initialise a ServiceJob.  More...
  | 
|   | 
| void  | ClearServiceJob (ServiceJob *job_p) | 
|   | Clear a Service Job ready for reuse.  More...
  | 
|   | 
| ServiceJob *  | CloneServiceJob (const ServiceJob *src_p) | 
|   | Create a deep copy of a ServiceJob.  More...
  | 
|   | 
| bool  | CopyServiceJob (const ServiceJob *src_p, ServiceJob *dest_p) | 
|   | Make a deep copy of one ServiceJob to another.  More...
  | 
|   | 
| struct Service *  | GetServiceFromServiceJob (ServiceJob *job_p) | 
|   | Get the owning Service for a given ServiceJob.  More...
  | 
|   | 
| bool  | SetServiceJobDescription (ServiceJob *job_p, const char *const description_s) | 
|   | Set the description of ServiceJob.  More...
  | 
|   | 
| bool  | SetServiceJobURL (ServiceJob *job_p, const char *const url_s) | 
|   | Set the description of ServiceJob.  More...
  | 
|   | 
| bool  | SetServiceJobName (ServiceJob *job_p, const char *const name_s) | 
|   | Set the name of ServiceJob.  More...
  | 
|   | 
| json_t *  | GetServiceJobAsJSON (ServiceJob *const job_p, bool omit_results_flag) | 
|   | Get a ServiceJob as JSON.  More...
  | 
|   | 
| json_t *  | GetServiceJobStatusAsJSON (ServiceJob *job_p, bool omit_results_flag) | 
|   | Get the Current OperationStatus of a ServiceJob as JSON.  More...
  | 
|   | 
| ServiceJob *  | CreateServiceJobFromJSON (const json_t *job_json_p, GrassrootsServer *grassroots_p) | 
|   | Create a ServiceJob from a json_t object.  More...
  | 
|   | 
| bool  | InitServiceJobFromJSON (ServiceJob *job_p, const json_t *json_p, struct Service *service_p, GrassrootsServer *grassroots_p) | 
|   | Get a ServiceJob from a json_t object.  More...
  | 
|   | 
| OperationStatus  | GetServiceJobStatus (ServiceJob *job_p) | 
|   | Get the Current OperationStatus of a ServiceJob.  More...
  | 
|   | 
| OperationStatus  | GetCachedServiceJobStatus (const ServiceJob *job_p) | 
|   | Get the last retrieved OperationStatus of a ServiceJob.  More...
  | 
|   | 
| const char *  | GetServiceJobName (const ServiceJob *job_p) | 
|   | Get the name of ServiceJob.  More...
  | 
|   | 
| bool  | CloseServiceJob (ServiceJob *job_p) | 
|   | Close a ServiceJob.  More...
  | 
|   | 
| void  | ClearServiceJobResults (ServiceJob *job_p, bool free_memory_flag) | 
|   | Clear the results associated with a ServiceJob.  More...
  | 
|   | 
| char *  | SerialiseServiceJobToJSON (ServiceJob *const job_p, bool omit_results_flag) | 
|   | Save the ServiceJob to a persistent format that allows the ServiceJob to be recreated in a potentially different thread and/or process.  More...
  | 
|   | 
| ServiceJob *  | CreateServiceJobFromResultsJSON (const json_t *results_p, struct Service *service_p, const char *name_s, const char *description_s, OperationStatus status, const char *job_type_s) | 
|   | Create a ServiceJob from a JSON Resource fragment.  More...
  | 
|   | 
| bool  | InitServiceJobFromResultsJSON (ServiceJob *job_p, const json_t *results_p, struct Service *service_p, const char *name_s, const char *description_s, OperationStatus status, const char *job_type_s) | 
|   | Fill in the data for a ServiceJob from a given JSON fragement.  More...
  | 
|   | 
| bool  | AddParameterErrorMessageToServiceJob (ServiceJob *job_p, const char *const param_s, const ParameterType param_type, const char *const value_s) | 
|   | Add a key-value pair error statement to a ServiceJob.  More...
  | 
|   | 
| bool  | AddGeneralErrorMessageToServiceJob (ServiceJob *job_p, const char *const value_s) | 
|   | Add a key-value pair error statement to a ServiceJob.  More...
  | 
|   | 
| bool  | AddCompoundErrorToServiceJob (ServiceJob *job_p, const char *param_s, const ParameterType param_type, json_t *error_details_p) | 
|   | Add a key-value pair error statement to a ServiceJob.  More...
  | 
|   | 
| bool  | AddResultToServiceJob (ServiceJob *job_p, json_t *result_p) | 
|   | Add a result to ServiceJob.  More...
  | 
|   | 
| void  | SetServiceJobStatus (ServiceJob *job_p, OperationStatus status) | 
|   | Set the current OperationStatus for a given ServiceJob.  More...
  | 
|   | 
| void  | SetServiceJobUpdateFunction (ServiceJob *job_p, bool(*update_fn)(ServiceJob *job_p)) | 
|   | Set the function that a ServiceJob will use to update itself.  More...
  | 
|   | 
| void  | SetServiceJobFreeFunction (ServiceJob *job_p, void(*free_fn)(ServiceJob *job_p)) | 
|   | Set the function that a ServiceJob will use to free itself.  More...
  | 
|   | 
| void  | SetServiceJobCalculateResultFunction (ServiceJob *job_p, bool(*calculate_fn)(ServiceJob *job_p)) | 
|   | Set the function that a ServiceJob will use to calculate its results.  More...
  | 
|   | 
| bool  | UpdateServiceJob (ServiceJob *job_p) | 
|   | Update, if appropriate, a given ServiceJob.  More...
  | 
|   | 
| uint32  | GetNumberOfServiceJobResults (const ServiceJob *job_p) | 
|   | Get the number of results stored on a ServiceJob.  More...
  | 
|   | 
| bool  | ReplaceServiceJobResults (ServiceJob *job_p, json_t *results_p) | 
|   | Replace the set of results for a given ServiceJob.  More...
  | 
|   | 
| bool  | AddLinkedServiceToServiceJob (ServiceJob *job_p, struct LinkedService *linked_service_p) | 
|   | Add a LinkedService to ServiceJob.  More...
  | 
|   | 
| void  | ProcessLinkedServices (ServiceJob *job_p) | 
|   | Attempt to extract the relevant data for all LinkedServices that the ServiceJob's Service has and store them in the ServiceJob.  More...
  | 
|   | 
| bool  | CalculateServiceJobResult (ServiceJob *job_p) | 
|   | Calculate the results for the given ServiceJob.  More...
  | 
|   | 
| void  | SetServiceJobUUID (ServiceJob *job_p, const uuid_t new_job_id) | 
|   | Replace the uuid for a given ServiceJob.  More...
  | 
|   | 
A ServiceJob that also has the data for running as Drmaa-based task.