1#ifndef _DRAMA2_ENTRYINFO_INC
2#define _DRAMA2_ENTRYINFO_INC
28#include "DitsSystem.h"
29#include "DitsInteraction.h"
71 DramaRunLoopExit=1111,
72 DramaMainThreadComplete=1112,
82 unsigned long _sequence=0;
103#ifdef DITS_TASKDYNAMIC
104 static_assert(0,
"DRAMA 2 does not (yet) support dynamic DITS Global items");
131 return _info.reasonstat;
138 return static_cast<EntryCode>(_info.reason);
154 return static_cast<bool>(_info.complete);
171 return _info.sysErrText;
189 return _info.sysSysStat;
222 return _info.bulkTransferInfo;
261 return _info.bulkArgRelease ?
true :
false;
long int LoadErrorStatus() const
Returns the system status code associated with a load error.
Definition entryinfo.hh:215
DitsBulkInfoType GetBulkInfo() const
Return bulk transfer info.
Definition entryinfo.hh:248
std::string EntryName() const
Return the name associated with the entry.
Definition entryinfo.hh:172
std::string LoadErrText() const
Returns the system status code text associated with a load error.
Definition entryinfo.hh:195
sds::Id Argument() const
Return any SDS argument to the action entry.
Definition entryinfo.hh:147
DitsTransIdType EntryTransId() const
Return the transaction id associated with the entry.
Definition entryinfo.hh:223
unsigned long Sequence() const
Return the Action sequence count.
Definition entryinfo.hh:230
EntryInfo()
Construct the EntryInfo item.
Definition entryinfo.hh:116
bool ArgIsBulk() const
Indicates if the action argument was transferred using bulk data techniques.
Definition entryinfo.hh:287
bool Complete() const
Indicate if any transaction associated with this entry is complete.
Definition entryinfo.hh:180
StatusType Status() const
Return the status associated with the action entry.
Definition entryinfo.hh:157
void SetFromDits()
Grab the information of interest from DITS.
Definition entryinfo.hh:123
EntryCode Reason() const
Return the reason associated with the action entry.
Definition entryinfo.hh:164
DitsPathType EntryPath() const
Returns the path associated with the current action entry, if any.
Definition entryinfo.hh:257
std::string EntryTaskName() const
Returns the task name of the path associated with the action entry, if any.
Definition entryinfo.hh:265
The EntryInfo class is used to access details about a DRAMA message event (and entry to an action).
Definition entryinfo.hh:106
static Id CreateFromSdsIdType(const SdsIdType item, const bool free=false, const bool del=false, const bool readfree=false)
Factory constructor method that constructs an sds::Id item from an existing C language SDS id.
A C++ Interface to the handling SDS structures.
Definition sds.hh:428
#define DramaTHROW(status_, message_)
Throw a Drama exception.
Definition exception.hh:93
void CreateRunDramaTask()
Create and run a DRAMA task, with standard exception handling.
Definition task.hh:1322
EntryCode
Entry type code - indicates the type of a DRAMA event.
Definition entryinfo.hh:67
@ Resched
Action reschedule reschedule - aliased by Timeout.
@ Signal
Signal message received.
@ LoadFailed
Attempt to load a program failed.
@ Kick
Action has been kicked.
@ Message
MsgOut message from subsidiary action.
@ BulkTransferred
bulk data transferred message received
@ PathFound
GetPath operation success.
@ BulkDone
message received
@ Error
ERS Message from subsidiary action.
@ PathFailed
GetPath operation failed.
@ Obey
Action has been obeyed.
@ Notify
DRAMA notification message received.
@ Complete
Obey/Kick etc message completed.
@ Died
Task we have a path to has died.
@ Timeout
Action reschedule reschedule - alias to Resched.
@ Rejected
Obey/Kick etc message rejected.
@ Load
Load successful, task registered.
@ Trigger
Trigger message from subsidiary action.
@ Drama2Signal
message received
@ Exit
Loaded task exited message received.
The drama namespace contains all the classes, types etc of the DRAMA 2 implementation.
Definition drama.hh:93
DRAMA 2 include file - Sds class definition.