The previous handler's address and client data are returned allowing you to link operations.
The registration handler is invoked in UFACE context. To send DRAMA messages from this routine, you should first invoke DitsUfaceCtxEnable() to specify an appropriate handler for reponses to your message. Alternatively, if you want to communicate with an action in your task which is already running, you can use one of the DitsSignal() series of routines or use a shared variable that will be examined the next time the action is rescheduled. (You can communicate with a running action in your task by sending it a Kick message, but DitsSignal() is the prefered approach, as it is a simpler interface since and you don't need the call to DitsUfaceCtxEnable() or a path to your task).
For this to work with tasks registering on remote machines, the IMP Startup file on that machine must specify that such messages are to be forwarded to this machine. For example, lines such at the following:
forward registrations to machine1 machine2 machine3
There may be mulitple such lines and as many machines as you want on each line.
Note that only tasks which are built against IMP Version 3.43 or later will send registration messages.
> | routine | DitsRegistrationRoutineType | The new registration routine. |
---|---|---|---|
> | client_data | void * | Passed directly to the routine as its client_data argument. |
! | old_routine | DitsRegistrationRoutineType * | If non-null, return the previous handler address here. This address may be null. |
! | old_c_data | void ** | If non-null, return the previous connect handlers client data here. |
! | status | StatusType * | Modified status.
|
> | client_data | void * | The value passed to DitsPutRegistrationHandler(). |
---|---|---|---|
> | taskName | const char * | The name of the registering task. |
> | nodeName | const char * | The node the task registered on. |
! | status | StatusType * | Modified status.
|
Click here for the DRAMA home page and here for the AAO home page.
For more information, contact tony.farrell@mq.edu.au