aboutsummaryrefslogtreecommitdiff
path: root/vendor/voclient/voapps/task/voTask.c
blob: 01de7af11dff20c1f615effd2f429354e9317451 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
/**
 *
 *  VOTASK.C -- Utilities to run a VOApps task as a connected subprocess.
 *
 *
 *  Client Interface:
 *  =================
 *  
 *  Task Execution:						
 *  ---------------
 *
 *              tp = vo_taskInit  (pkgName, taskName) # Initialize a task
 * 
 *         vo_taskSetStringParam  (tp, pname, sval)   # Set input params
 *           vo_taskSetBoolParam  (tp, pname, bval)
 *            vo_taskSetIntParam  (tp, pname, ival)
 *           vo_taskSetRealParam  (tp, pname, dval)
 *            vo_taskSetPtrParam  (tp, pname, ptr, size)
 * 
 *            vo_taskSetCallback  (tp, type, &func)   # Set param callback
 *       rp = vo_taskExecuteSync  (tp, status, msg)   # Execute sync
 *           vo_taskExecuteAsync  (tp)      	      # Execute async
 *              rp = vo_taskWait  (tp)      	      # Wait for task, get RP
 *    status = vo_taskCheckError  (tp, msg)	      # Check for any error
 * 
 *                  vo_taskClose  (tp)      	      # Free task resources
 * 
 *
 *  @file       voTask.c
 *  @author     Mike Fitzpatrick & Doug Tody
 *  @date       9/24/12
 *
 *  @brief      VOClient Tasking Interface.
 */


#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <errno.h>
#include <fcntl.h>
#include <signal.h>
#include <stdarg.h>
#include <setjmp.h>
#include <sys/wait.h>
#include <sys/stat.h>
#include <sys/select.h>
#include <sys/time.h>
#include <sys/types.h>
#include "voTask.h"
 



/**************************************************************************/
/***	Task Execution Methods						***/
/**************************************************************************/

/**
 *  VO_TASKINIT -- Prepare to run a task.
 *
 *  @brief   Prepare to run a task.
 *  @fn      handle = vo_taskInit (char *pkgName, char *taskName)
 *
 *  @param   pkgName   Package name
 *  @param   taskName  Task name
 *  @returns           handle to the task descriptor
 */
handle_t
vo_taskInit (char *pkgName, char *taskName) 
{
}

 
/**
 *  VO_TASKSETSTRINGPARAM -- Set a string-valued param.
 *
 *  @brief   Set a string-valued param.
 *  @fn      vo_taskSetStringParam (handle_t tp, char *paramName, char *sval)
 *
 *  @param   tp        Task handle
 *  @param   paramName Parameter name
 *  @param   sval      Parameter value
 *  @returns           nothing
 */         
void
vo_taskSetStringParam (handle_t tp, char *paramName, char *sval)
{
}

           
/**
 *  VO_TASKSETBOOLPARAM -- Set a bool-valued param.
 *
 *  @brief   Set a bool-valued param.
 *  @fn      vo_taskSetBoolParam (handle_t tp, char *paramName, int bval)
 *
 *  @param   tp        Task handle
 *  @param   paramName Parameter name
 *  @param   bval      Parameter value (0=false, 1=true)
 *  @returns           nothing
 */         
void
vo_taskSetBoolParam (handle_t tp, char *paramName, int bval)
{
}

            
/**
 *  VO_TASKSETINTPARAM -- Set a int-valued param.
 *
 *  @brief   Set a int-valued param.
 *  @fn      vo_taskSetIntParam (handle_t tp, char *paramName, int ival)
 *
 *  @param   tp        Task handle
 *  @param   paramName Parameter name
 *  @param   ival      Parameter value
 *  @returns           nothing
 */         
void
vo_taskSetIntParam (handle_t tp, char *paramName, int ival)
{
}

           
/**
 *  VO_TASKSETREALPARAM -- Set a real-valued param.
 *
 *  @brief   Set a real-valued param.
 *  @fn      vo_taskSetRealParam (handle_t tp, char *paramName, double rval)
 *
 *  @param   tp        Task handle
 *  @param   paramName Parameter name
 *  @param   dval      Parameter value
 *  @returns           nothing
 */         
void
vo_taskSetRealParam (handle_t tp, char *paramName, double dval)
{
}


/**
 *  VO_TASKSETRAWPARAM -- Set a raw-valued param.
 *
 *  @brief   Set a raw-valued param.
 *  @fn      vo_taskSetRawParam (handle_t tp, char *paramName, void *ptr,
 *			size_t size)
 *
 *  @param   tp        Task handle
 *  @param   paramName Parameter name
 *  @param   ptr       Pointer to raw data block
 *  @param   size      Size of data block
 *  @returns           nothing
 */         
void
vo_taskSetRawParam (handle_t tp, char *paramName, void *ptr, size_t size)
{
}


/**
 *  VO_TASKSETCALLBACK -- Set a callback for a parameter type.
 *
 *  @brief   Set a callback for a parameter type.
 *  @fn      vo_taskSetCallback (handle_t tp, int type, void *func)
 *
 *  @param   tp        Task handle
 *  @param   type      Parameter type
 *  @param   func      Callback function 
 */
void
vo_taskSetCallback (handle_t tp, int type, void *func)
{
}


/**
 *  VO_TASKEXECUTESYNC -- Execute a task synchronously.
 *
 *  @brief   Execute a task synchronously.
 *  @fn      rp = vo_taskExecuteSync (handle_t tp, int *status, char *msg)
 *
 *  @param   tp        Task handle
 *  @param   status    Task exit status
 *  @param   msg       Buffer for returned error message string
 *  @returns           Handle to output param list
 */         
handle_t
vo_taskExecuteSync (handle_t tp, int status, char *msg)
{
}

           
/**
 *  VO_TASKEXECUTEASYNC -- Execute a task asynchronously.
 *
 *  @brief   Execute a task asynchronously.
 *  @fn      rp = vo_taskExecuteAsync (handle_t tp)
 *
 *  @param   tp        Task handle
 *  @returns           Handle to output param list
 */         
void
vo_taskExecuteAsync (handle_t tp)
{
}


/**
 *  VO_TASKWAIT -- Wait for an asynchronous task to complete.
 *
 *  @brief   Wait for an asynchronous task to complete.
 *  @fn      rp = vo_taskWait (handle_t tp, int *status, char *msg)
 *
 *  @param   tp        Task handle
 *  @param   status    Task exit status
 *  @param   msg       Buffer for returned error message string
 *  @returns           Handle to output param list
 */         
handle_t
vo_taskWait (handle_t tp, int *status, char *msg)
{
}


/**
 *  VO_TASKCHECKERROR -- Get the task exit status and (any) error message.
 *
 *  @brief   Get the task exit status and (any) error message.
 *  @fn      status = vo_taskCheckError (handle_t tp, char *msg)
 *
 *  @param   tp        Task handle
 *  @param   msg       Buffer for returned error message string
 *  @returns           Task exit status
 */         
int
vo_taskCheckError (handle_t tp, char *msg)
{
}



/**
 *  VO_TASKCLOSE -- Free task resources.
 *
 *  @brief   Free task resources.
 *  @fn      status = vo_taskClose (handle_t tp)
 *
 *  @param   tp        Task handle
 *  @returns           zero if OK, one on ERROR
 */
int
vo_taskClose (handle_t tp)
{
    return (OK);
}