You specify the ID, a routine to be invoked and the client data item.
| > | id | SdsIdType | Identifier to be watched. If 0, then cancel watching. If -1, then watch all IDs. Note, it is possible to watch an ID which is not currently in use, in that case, you will get a SDS_WATCH_EVENT_NEWID event when starts being used. |
|---|---|---|---|
| > | watchRoutine | SdsWatchRoutineType | The routine to be invoked when the watch is triggered. If not specified, then a message is written to stderr. |
| > | clientData | void * | Passed through to watchRoutine as its client data item. |
| < | oldId | SdsIdType * | If non-null, the previous id being watched is returned here. Zero if there was none. |
| < | oldWatchRoutine | SdsWatchRoutineType * | If non-null, any old watch routine address is returned here. |
| < | oldClientData | void ** | If non-null, any old watch routine client data is returned here. |
| ! | status | StatusType* | Modified status.
|
| > | id | SdsIdType | The ID which triggered the watch event. |
|---|---|---|---|
| > | client_data | void * | As supplied to SdsSetWatch(). |
| > | event | int | Indicates the event type. The following event types
are supported. Others might be added later and code
should allow for this.
|
| SDS_WATCH_EVENT_FREE | SdsFree or SdsFreeIdAndCheck. |
|---|---|
| SDS_WATCH_EVENT_DELETE | SdsDelete. |
| SDS_WATCH_EVENT_READFREE | SdsReadFree. |
| SDS_WATCH_EVENT_NEW | SdsNew (on parent). |
| SDS_WATCH_EVENT_COPY | SdsCopy. |
| SDS_WATCH_EVENT_INSERT | SdsInsert. |
| SDS_WATCH_EVENT_INSERT_CELL | SdsInsertCell. |
| SDS_WATCH_EVENT_EXTRACT | SdsExtract. |
| SDS_WATCH_EVENT_RESIZE | SdsResize |
| SDS_WATCH_EVENT_NEWID | Any function that creates an id. "id" is the new SDS ID number. |
Click here for the DRAMA home page and here for the AAO home page.
For more information, contact tony.farrell@mq.edu.au