AAO DRAMA C++ Interface (Old style)
DRAMA C++, Depreciated, don't use for new code

◆ Control()

virtual DcppHandlerRet DcppTask::Control ( const char *const  name,
StatusType *const  status,
const SdsId arg = SdsNull,
const DcppHandlerRoutine  SuccessHandler = 0,
const DcppHandlerRoutine  ErrorHandler = 0,
const DcppHandlerRoutine  TriggerHandler = 0,
const DcppVoidPnt  ClientData = 0,
const DcppHandlerRoutine  ErsHandler = 0 
)
inlinevirtualinherited

Send a DRAMA Control message to the task.

This sends a DRAMA control message to the task referred to by this object. We must already have path to the task.

If this function returns DcppReschedule, then messages are expected and should be dispatched using DcppDispatch() when they arrive. This will ensure that future processing occurs correctly and the the appropriate handler is invoked when the operation completes.

Returns
DcppReschedule if a message was started. Otherwise DcppFinished and status will be set bad.
Parameters
nameThe name of the control message to send.
statusInherited Status
argThe argument to the message. Defaults to SdsNull, a null argument.
SuccessHandlerDcppDispatch() will invoke this if the operation completes successfully.
This function should return DcppReschedule if it sends another message.
Otherwise it should return DcppFinished.
The value returned will be returned by DcppDispatch(). If not specified, DcppDispatch() just returns DcppFinished.
ErrorHandlerDcppDispatch() will invoke this if the operation fails after a message has been sent. This function should return DcppReschedule if it sends another message.
Otherwise it should return DcppFinished.
The value returned will be returned by DcppDispatch(). If not specified, DcppDispatch() just returns DcppFinished.
TriggerHandlerDcppDispatch() will invoke this if a trigger message is received. If not specified, DcppDispatch just returns DcppReschedule, which is what your handler would normally return, since more messages are expected.
ClientDataPassed directly to the handler functions.
ErsHandlerDcppDispatch() will invoke this if a Ers message is received. If not specified, DcppDispatch just returns DcppReschedule, which is what your handler would normally return, since more messages are expected. This would normally only happen if the message was sent in UFACE context DitsInterested() was used to indicate an interest in ERS messages.