diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-07-08 20:46:52 -0400 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-07-08 20:46:52 -0400 |
commit | fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 (patch) | |
tree | bdda434976bc09c864f2e4fa6f16ba1952b1e555 /vendor/voclient/voapps/task/Notes.fitz | |
download | iraf-linux-fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4.tar.gz |
Initial commit
Diffstat (limited to 'vendor/voclient/voapps/task/Notes.fitz')
-rw-r--r-- | vendor/voclient/voapps/task/Notes.fitz | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/vendor/voclient/voapps/task/Notes.fitz b/vendor/voclient/voapps/task/Notes.fitz new file mode 100644 index 00000000..fe36e903 --- /dev/null +++ b/vendor/voclient/voapps/task/Notes.fitz @@ -0,0 +1,99 @@ + Client Interface: + ================= + + Package/Task Management: + ------------------------ + + vo_setPkgDir (path) # set package dir + path = vo_getPkgDir () # get package dir + + pkg = vo_pkgList (pattern) # Get available packages + len = vo_pkgLen (pkg) + pkg = vo_pkgNext (pkg) + str = vo_pkgAttr (pkg, attr) + + task = vo_taskList (taskName) # Get tasks in package + len = vo_taskLen (task) + str = vo_taskNext (task) + task = vo_taskAttr (task, attr) + + pp = vo_taskParams (pkgName, taskName) # Input param defs + ( see parameter handling below ) + + xml = vo_pkgXML (pattern) # XML serializations (opt) + xml = vo_taskXML (pkgName) + xml = vo_paramXML (pkgName, taskName) + + + 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_taskSetDictParam (tp, pname, dict) + vo_taskSetListParam (tp, pname, list) + 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 + + Parameter Handling: + ------------------- + + Directed parameter access: + + int = vo_taskParamCount (rp) + vo_taskGetParamInfo (rp, pnum, *name, *type, *encoding, + *description) + str = vo_taskGetStringParam (rp, pname, pnum) # pnum used if pname=null + ival = vo_taskGetBoolParam (rp, pname, pnum) + ival = vo_taskGetIntParam (rp, pname, pnum) + dval = vo_taskGetRealParam (rp, pname, pnum) + dict = vo_taskGetDictParam (rp, pname, pnum) + dict = vo_taskGetListParam (rp, pname, pnum) + void = vo_taskGetParamValue (rp, pname, pnum, size) + + Iterated parameter access: + + pp = vo_taskGetParam (rp, pname, pnum) + len = vo_paramLen (pp, [typ|enc]) + pp = vo_paramNext (pp, [typ|enc]) + str = vo_paramAttr (pp, attr) + + +Notes: +====== + + - Added set/get methods for the package directory to be searched for + packages. This allows a client to point to different dirs depending + on which package is being 'loaded'. + - The pkgList() takes a 'pattern' param to select only files matching a + specific pattern (e.g. "*.e" or "*.pkg") from the working directory. + Only files matching the pattern (or all files if NULL) will be queried + for metadata. This also allows for a directory to contain single-task + binaries and not require a single binary for all tasks in a package. + - Made pkg/task/param listings optionally XML, these are manageable by + many languages but not always 'natural'. The use of iterators allows + a client to traverse the metadata and request attributes w/out depending + on an XML parser. + - Added 'pname' to the setParam() methods to set specific params. + - Added status/msg returns from sync execution + - Input and output parameters share the same data structure and interface + methods work on either. This means a 'blob' can now be an input param, + e.g. an in-memory object (e.g. a target list or TAP ADQL string) from a + client can be posted over IPC to the task. Note however this may not be + implemented for current tasks. + - Parameter callbacks can be set for specific parameter types + - Parameter iterators allow a 'type' or 'encoding' option to find the + next param of the same typ/enc. This allows a client to skip through + output params to find e.g. only FITS objects or only the stdout text + strings and means the callback can be tied to a parameter type easily. |