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.
service_job_set_iterator.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  * service_job_set_iterator.h
23  *
24  * Created on: 19 Jan 2016
25  * Author: tyrrells
26  */
27 
28 #ifndef SERVICE_JOB_SET_ITERATOR_H_
29 #define SERVICE_JOB_SET_ITERATOR_H_
30 
32 #include "service_job.h"
33 
34 
41 typedef struct ServiceJobSetIterator
42 {
45 
49 
50 
51 #ifdef __cplusplus
52 extern "C" {
53 #endif
54 
63 
64 
73 
81 
82 
92 
93 
103 
104 
105 #ifdef __cplusplus
106  }
107 #endif
108 
109 
110 #endif /* SERVICE_JOB_SET_ITERATOR_H_ */
ServiceJobSetIterator::InitServiceJobSetIterator
void InitServiceJobSetIterator(ServiceJobSetIterator *iterator_p, ServiceJobSet *set_p)
Initialise a ServiceJobSetIterator to point to the first entry in a given ServiceJobSet.
ServiceJobNode
A datatype used to store a ServiceJob within a ServceJobSet using a LinkedList.
Definition: service_job.h:169
ServiceJob
A datatype to represent a running task.
Definition: service_job.h:72
grassroots_service_library.h
GRASSROOTS_SERVICE_API
#define GRASSROOTS_SERVICE_API
Definition: grassroots_service_library.h:49
ServiceJobSetIterator
A datatype allowing easy traversal over all of the ServiceJobs within a ServiceJobSet.
Definition: service_job_set_iterator.h:41
ServiceJobSetIterator::FreeServiceJobSetIterator
void FreeServiceJobSetIterator(ServiceJobSetIterator *iterator_p)
Free a ServiceJobSetIterator.
ServiceJobSetIterator::GetNextServiceJobFromServiceJobSetIterator
ServiceJob * GetNextServiceJobFromServiceJobSetIterator(ServiceJobSetIterator *iterator_p)
Get the next ServiceJob from the Iterator.
ServiceJobSetIterator::AllocateServiceJobSetIterator
ServiceJobSetIterator * AllocateServiceJobSetIterator(ServiceJobSet *set_p)
Allocate a ServiceJobSetIterator.
service_job.h
ServiceJobSetIterator::HasServiceJobSetIteratorFinished
bool HasServiceJobSetIteratorFinished(const ServiceJobSetIterator *iterator_p)
Has a ServiceJobSetIterator parsed all of the entries in a ServiceJobSet.
ServiceJobSet
A datatype to represent a collection of ServiceJobs.
Definition: service_job.h:185
ServiceJobSetIterator::sjs_current_node_p
ServiceJobNode * sjs_current_node_p
The current position in the entries of the ServiceJobSet.
Definition: service_job_set_iterator.h:47
ServiceJobSetIterator::sjsi_job_set_p
ServiceJobSet * sjsi_job_set_p
The ServiceJobSet to traverse.
Definition: service_job_set_iterator.h:44