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

◆ ObeyForget() [2/3]

virtual void DcppTask::ObeyForget ( const char *const  name,
StatusType *const  status,
const SdsId arg,
const DcppHandlerRoutine  SuccessHandler,
const DcppHandlerRoutine  ErrorHandler,
const DcppHandlerRoutine  TriggerHandler,
const DcppVoidPnt  ClientData,
const DcppHandlerRoutine  ErsHandler,
const DcppHandlerRoutine  MsgHandler,
SdsId *const  tidArg 
)
inlinevirtualinherited

Send a DRAMA Obey message to the task, forgetting the transaction.

This a method for sending an OBEY message to the task referred to by this object, but immediately orphaning the resulting transaction. We must already have path to the task. This version returns the transaction id in a SDS structure set up ready for sending with a Kick message. (It is set up by DcppSpawnKickArg()).

If all handlers are null (0) then the transaction is completely orphaned and will not be handled by DcppDispatch(). If the success handler is set to "DcppTask::DiscardResponse" then the other handlers are ignored and reponses are not even sent back to this task at all. Otherwise, the various handlers will be invoked if DcppDispatch() is invoked by an orphan handler in response to reply message from this message.

Parameters
nameThe name of the action to obey.
statusInherited Status
argThe argument to the action. 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.
MsgHandlerDcppDispatch() will invoke this if a MsgOut() 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 MsgOut() messages.
tidArgReturn the DRAMA transaction id of the started transaction in a form ready for use in a Kick message argument. This is usefull when we might want to kick a spawnable action.

References DcppSpawnKickArg().