AAO DRAMA C++ Interface (Old style)
DRAMA C++, Depreciated, don't use for new code
|
A Class which provides access to DRAMA's message sending facilities. More...
#include <dcpptask.h>
Classes | |
class | DisconHandler |
Disconnect handler abstract type. More... | |
Public Member Functions | |
DcppTask (bool self) | |
Path to self constructor. | |
DcppTask (const char *const name, const char *const location=0, const char *const file=0) | |
Normal constructor. | |
DcppTask (DitsPathType p) | |
Constructor from existing path. | |
virtual | ~DcppTask () |
Destructor. | |
virtual bool | Active () const |
Indicate if a task is active. | |
virtual bool | Busy () const |
Returns true if we can't send a message because path is busy. | |
virtual void | ClearState () |
Clear the task state. | |
virtual DcppHandlerRet | 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) |
Send a DRAMA Control message to the task. | |
virtual void | Delete (int force, StatusType *status) |
Delete the task. | |
virtual void | Died () |
Note that a task has died. | |
virtual DcppHandlerRet | Get (const char *const name, StatusType *const status, const DcppHandlerRoutine SuccessHandler=0, const DcppHandlerRoutine ErrorHandler=0, const DcppVoidPnt ClientData=0, const DcppHandlerRoutine ErsHandler=0) |
Send a DRAMA message to the task to get the value of a parameter. | |
const char * | GetArgument () const |
Fetch the load argument. | |
virtual void | GetDitsPath (DitsPathType *path, StatusType *status) |
Return the underlying DITS path object. | |
virtual DcppHandlerRet | GetPath (StatusType *const status, const DcppHandlerRoutine SuccessHandler=0, const DcppHandlerRoutine ErrorHandler=0, const DcppVoidPnt ClientData=0) |
Get a path to/load a the task. | |
virtual void | GetPathImmed (StatusType *const status) |
Get a path to a task if DITS already has it. | |
bool | GetPathLoaded () const |
Indicate if a the task was loaded. | |
DcppHandlerRet | HandleMessage (DcppTransaction *transaction, StatusType *status) |
Function used by DcppDispatch in dispatching to handlers. | |
virtual bool | Initial () const |
Return true if a GetPath operation is required. | |
virtual bool | IsDead () const |
Return true if a previously active task has disconnected. | |
virtual DcppHandlerRet | Kick (const char *const name, const DcppShared &SharedMem, const bool sds, const int NotifyBytes, StatusType *const status, const DcppHandlerRoutine SuccessHandler=0, const DcppHandlerRoutine ErrorHandler=0, const DcppBulkTransRoutine BulkTransHandler=0, const DcppHandlerRoutine BulkDoneHandler=0, const DcppVoidPnt ClientData=0, const DcppHandlerRoutine ErsHandler=0, const DcppHandlerRoutine MsgHandler=0) |
Send a DRAMA bulk data Kick message to the task. | |
virtual DcppHandlerRet | Kick (const char *const name, StatusType *const status, const SdsId &arg=SdsNull, const DcppHandlerRoutine SuccessHandler=0, const DcppHandlerRoutine ErrorHandler=0, const DcppVoidPnt ClientData=0, const DcppHandlerRoutine ErsHandler=0, const DcppHandlerRoutine MsgHandler=0) |
Send a DRAMA Kick message to the task. | |
virtual void | KickForget (const char *const name, StatusType *const status, const SdsId &arg=SdsNull, const DcppHandlerRoutine SuccessHandler=0, const DcppHandlerRoutine ErrorHandler=0, const DcppVoidPnt ClientData=0, const DcppHandlerRoutine ErsHandler=0, const DcppHandlerRoutine MsgHandler=0) |
Send a DRAMA OKick message to the task, forgetting the transaction. | |
const char * | Location () const |
Fetch the task location. | |
virtual void | LogLoad (const bool Flag=true) |
Load use MsgOut() a lines indicating the load operations. | |
virtual void | LosePath (StatusType *const status) |
Lose the path and then set as if the task has died. | |
virtual DcppHandlerRet | MGet (const DcppHandlerRoutine SuccessHandler, const DcppHandlerRoutine ErrorHandler, const DcppHandlerRoutine ErsHandler, const DcppVoidPnt ClientData, unsigned count, StatusType *status,...) |
Send a DRAMA message to the task to get the value of multiple parameters. | |
virtual DcppHandlerRet | MGet (const DcppHandlerRoutine SuccessHandler, const DcppHandlerRoutine ErrorHandler, const DcppVoidPnt ClientData, unsigned count, StatusType *status,...) |
Send a DRAMA message to the task to get the value of multiple parameters. | |
virtual DcppHandlerRet | Monitor (const char *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 bool SendCurrent=false, const DcppHandlerRoutine ErsHandler=0) |
Send a DRAMA Monitor message to the task. | |
virtual void | MonitorForget (const char *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 bool SendCurrent=false, const DcppHandlerRoutine ErsHandler=0) |
Send a DRAMA Monitor message to the task, forgetting the transaction. | |
virtual DcppHandlerRet | Obey (const char *const name, const DcppShared &SharedMem, const bool sds, const int NotifyBytes, StatusType *const status, const DcppHandlerRoutine SuccessHandler, const DcppHandlerRoutine ErrorHandler, const DcppBulkTransRoutine BulkTransHandler, const DcppHandlerRoutine BulkDoneHandler, const DcppHandlerRoutine TriggerHandler, const DcppVoidPnt ClientData, const DcppHandlerRoutine ErsHandler, const DcppHandlerRoutine MsgHandler, const SdsId *const tidArg) |
Send a DRAMA Obey bulk data message to the task. | |
virtual DcppHandlerRet | Obey (const char *const name, const DcppShared &SharedMem, const bool sds, const int NotifyBytes, StatusType *const status, const DcppHandlerRoutine SuccessHandler, const DcppHandlerRoutine ErrorHandler, const DcppBulkTransRoutine BulkTransHandler, const DcppHandlerRoutine BulkDoneHandler, const DcppHandlerRoutine TriggerHandler, const DcppVoidPnt ClientData, const DcppHandlerRoutine ErsHandler, const DcppHandlerRoutine MsgHandler, SdsId *const tidArg) |
Send a DRAMA Obey bulk data message to the task. | |
virtual DcppHandlerRet | Obey (const char *const name, const DcppShared &SharedMem, const bool sds, const int NotifyBytes, StatusType *const status, const DcppHandlerRoutine SuccessHandler=0, const DcppHandlerRoutine ErrorHandler=0, const DcppBulkTransRoutine BulkTransHandler=0, const DcppHandlerRoutine BulkDoneHandler=0, const DcppHandlerRoutine TriggerHandler=0, const DcppVoidPnt ClientData=0, const DcppHandlerRoutine ErsHandler=0, const DcppHandlerRoutine MsgHandler=0, DitsTransIdType *const transid=0) |
Send a DRAMA Obey bulk data message to the task. | |
virtual DcppHandlerRet | Obey (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, const SdsId *const tidArg) |
Send a DRAMA Obey message to the task. | |
virtual DcppHandlerRet | Obey (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) |
Send a DRAMA Obey message to the task. | |
virtual DcppHandlerRet | Obey (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, const DcppHandlerRoutine MsgHandler=0, DitsTransIdType *const transid=0) |
Send a DRAMA Obey message to the task. | |
virtual void | 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, const SdsId *const tidArg) |
Send a DRAMA Obey message to the task, forgetting the transaction. | |
virtual void | 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) |
Send a DRAMA Obey message to the task, forgetting the transaction. | |
virtual void | ObeyForget (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, const DcppHandlerRoutine MsgHandler=0, DitsTransIdType *const transid=0) |
Send a DRAMA Obey message to the task, forgetting the transaction. | |
virtual DisconHandler * | PutDisconnectHandler (DisconHandler *p) |
Add a new disconnect handler for this task. | |
void | Report (StatusType *status) const |
Dump details using MsgOut(). | |
virtual DcppHandlerRet | Set (const char *const name, StatusType *const status, const SdsId &arg=SdsNull, const DcppHandlerRoutine SuccessHandler=0, const DcppHandlerRoutine ErrorHandler=0, const DcppVoidPnt ClientData=0, const DcppHandlerRoutine ErsHandler=0) |
Send a DRAMA set message to the task. | |
virtual void | SetArgument (const char *const LoadArg, bool const Append=false) |
Set the load time argument string. | |
virtual void | SetBuffers (const DcppBuffers &Buffers) |
Set the DRAMA path buffers. | |
virtual void | SetFile (const char *const File) |
Set the executable file name. | |
virtual void | SetFlowControl () |
Set the FLOW control flag. | |
virtual void | SetLocation (const char *const Location) |
Set the task location. | |
virtual void | SetName (const char *const TaskName) |
Set the task name. | |
virtual void | SetNames (const bool Flag=true) |
Insist that symbols known to IMP_Master be known to the task. | |
virtual void | SetPriority (const int Priority, const bool Absolute=false) |
Set the load time priority for a task when loaded. | |
virtual void | SetProcess (const char *const ProcessName) |
Set the process names. | |
virtual void | SetProg (const bool Flag=true) |
Interpert file name as a program name. | |
virtual void | SetStackSize (unsigned bytes) |
Set the stack size for the load. | |
virtual void | SetSymbols (const bool Flag=true) |
Interpert file name as a symbol (VMS Target only) | |
void | TaskLoggingOff () |
Turn logging off for this object. | |
void | TaskLoggingOn () |
Turn logging on for this object. | |
const char * | TaskName () const |
Fetch the task name. | |
Static Public Member Functions | |
static DcppHandlerRet | DiscardResponse (DcppVoidPnt ClientData, StatusType *status) |
Flag argument success handler indicating reponses are to be ignored. | |
static void | HandleDisconnected (const char *task, DitsPathType path, StatusType *status) |
Handle task disconnection. | |
static void | LoggingOff () |
Disable logging for all tasks. | |
static void | LoggingOn () |
Enable logging for all DcppTask objects. | |
A Class which provides access to DRAMA's message sending facilities.
This class was the original attempt at providing a C++ interface to DRAMA's message sending functions. The idea is that you maintain an object of this type for each task you want to send messages to. You can then use the various methods to send messages. The Action/UFACE routine which processes replies to these messages can use DcppDisptach() to dispatch the messages such that the callback functions which are specified when the message is sent, are invoked.
In addition, when invoked with an action, the used of DcppTask can be combined with a DcppHandler object to handle action rescheduling transparently. This is optional.
Click here for the DRAMA home page and here for the AAO home page.
For more information, contact tony.farrell@mq.edu.au
Generated on Thu Dec 12 2024 23:07:38 for AAO DRAMA C++ Interface (Old style) by 1.9.8