C++ TargetRTS
Loading...
Searching...
No Matches
RTEventInfo.h
1/*
2 * Licensed Materials - Property of HCL and/or IBM
3 * Copyright HCL Technologies Ltd. 2016, 2021. All Rights Reserved.
4 * Copyright IBM Corporation 1999, 2016. All Rights Reserved.
5 *
6 * U.S. Government Users Restricted Rights - Use, duplication or
7 * disclosure restricted by GSA ADP Schedule.
8 */
9
10#ifndef __RTEventInfo_h__
11#define __RTEventInfo_h__ included
12
13#ifdef PRAGMA
14#pragma interface
15#endif
16
17#ifndef __RTTimespec_h__
18#include <RTTimespec.h>
19#endif
20
21class RTActor;
22struct RTActor_class;
23class RTMessage;
24
26{
27public:
28 enum EventType
29 {
30 EventPresence,
31 EventReference,
32 EventChain,
33 EventState,
34 EventFSM,
35 EventLateFSM,
36 EventMsgIn,
37 EventMsgOut,
38 EventMsgOutIn,
39 EventTimer,
40 EventVariable,
41 EventHistory,
42 EventMsgQueue,
43 EventControl,
44
45 EventLastEntry = EventControl
46 };
47
48 enum SendMethod
49 {
50 SendNormal, // normal send
51 SendInvoke, // invoke
52 SendReply, // reply to an invoke
53
54 SendInformIn, // faked event for informIn
55 SendInformAt, // faked event for informAt
56 SendInformEvery // faked event for informEvery
57 };
58
59 // this definition _must_ match the RTDebugger::mode definition
60 enum TargetMode
61 {
62 Halted,
63 Stepping,
64 Running
65 };
66
67 RTEventInfo( EventType,
68 int theProbeNr,
69 int theActorIndex );
70 ~RTEventInfo( void );
71
72 EventType eventKind;
73 int probeNr;
74 int actorIndex;
75
76 int observerId;
77 int daemonId;
78 RTTimespec timestamp;
79
80 // used by chain events:
81 char * chainStrOrigin;
82 const char * chainStrTrans;
83 int chainOrigin;
84 int chainPosition;
85 int chainParent; // only valid and used if origin is a cp
86
87 // used by state and history events:
88 char * stateStrTarget;
89 int stateTarget;
90
91 char * portName;
92 RTMessage * message;
93 SendMethod sendMethod;
94 const char * signalName;
95
96 const RTActor * actor;
97 const RTActor_class * info;
98
99 int compIndex;
100 int nrIncarns;
101
102 // used by variable events:
103 char * varName;
104 char * varValue;
105
106 // used by history events:
107 char * histStrHist;
108 char * histStrCurr;
109 int histHist;
110 int histCurr;
111
112 // used by control events:
113 TargetMode targetMode;
114
115 // Used for linked event lists
116 RTEventInfo * prev;
117 RTEventInfo * next;
118
119private:
120 // unavailable methods
121 RTEventInfo( const RTEventInfo & );
122 RTEventInfo & operator=( const RTEventInfo & );
123}; //lint !e1712
124
125#endif // __RTEventInfo_h__
An instance of this class represents a capsule instance.
Definition: RTActor.h:44
Definition: RTEventInfo.h:26
Represents a message used for communication between capsule instances.
Definition: RTMessage.h:33
Definition: RTActor_class.h:49
A time value which can represent either an absolute or relative time.
Definition: RTTimespec.h:29