It saves the argument for use when the action returns. This routine only has an effect if an appropriate request is put with DitsPutRequest. The appropriate requests are
DITS_REQ_END | Action to complete immediately |
---|---|
DITS_REQ_EXIT | Action to complete immediately and task to exit. |
The argument is encoded in Sds, hence this routine simply does an SdsCopy of the argument or saves its id depending upon the flag.
There are no restrictions on the argument, any value which can encoded in Sds may be supplied as an argument, although there may be limitations to the size of messages which can be sent. See DitsAppInit(3) and DitsPathGet(3) for details of such limitations.
Normally, arguments are encoded and decoded using the ARG package (supplied as part of SDS), but this is not required.
Note, this function is implemented as a macro in C.
> | argument | SdsIdType | The argument to return. This should be the Sds Id of the argument. |
---|---|---|---|
> | flag | DitsArgFlagType | Possible values are
|
DITS_ARG_COPY | A copy is made of the argument using SdsCopy and this copy is deleted after the action completes. |
---|---|
DITS_ARG_DELETE | No copy is made, the original argument is deleted after the action completes using SdsDelete, followed by SdsFreeId(). You should not delete this item yourself. |
DITS_ARG_READFREE | No copy is made, the original argument is read-free-ed after the action completes using SdsReadFree(), followed by SdsFreeId(). |
DITS_ARG_FREEID | No copy is made. the original argument is free-ed using SdsFreeId() after the action completes. |
DITS_ARG_NODELETE | The argument is not copied and not deleted and not read-free-ed. You should not delete this item yourself until after this reschedule of this action exit. |
! | status | StatusType * | Modified status.
|
---|---|---|---|
SdsCopy | SDS | Makes a copy of the argument. |
---|---|---|
Click here for the DRAMA home page and here for the AAO home page.
For more information, contact tony.farrell@mq.edu.au