C++ TargetRTS
All Classes Functions Variables Enumerations Enumerator Pages
RTSuperActor.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 __RTSuperActor_h__
11#define __RTSuperActor_h__ included
12
13#ifdef PRAGMA
14#pragma interface
15#endif
16
17#ifndef __RTActor_h__
18#include <RTActor.h>
19#endif
20
21#ifndef __RTActorRef_h__
22#include <RTActorRef.h>
23#endif
24
25#ifndef __RTFrame_h__
26#include <RTFrame.h>
27#endif
28
29#ifndef __RTTiming_h__
30#include <RTTiming.h>
31#endif
32
33class RTController;
34class RTThread;
35
36class RTSuperActor : public RTActor
37{
38public:
39 explicit RTSuperActor( RTController * );
40 virtual ~RTSuperActor( void );
41
42 virtual void rtsBehavior( int, int ) override;
43 virtual const RTActor_class * getActorData( void ) const override;
44
45 friend class RTTracer;
46
47protected:
48 RTActorRef specials;
49 RTActorRef application;
50 Frame::Base frame;
51 Timing::Base timer;
52
53#if USE_THREADS
54 RTController * timerController;
55 RTThread * timerThread;
56#endif
57
58 void t1_initialize( void );
59 void t2_start( void );
60
61 enum { rtid_frame = 1, rtid_timer };
62
63 static const RTActor_class rtg_class;
64
65private:
66 static const RTComponentDescriptor rtg_capsule_roles[];
67#if USE_THREADS
68 static const RTFieldDescriptor rtg_fields[];
69#endif
70 static const RTStateId rtg_parent_state[];
71 static const RTPortDescriptor rtg_ports[];
72
73 // unavailable methods
74 RTSuperActor & operator=( const RTSuperActor & );
75 RTSuperActor( const RTSuperActor & );
76}; //lint !e1712
77
78#endif // __RTSuperActor_h__
Represents a frame port.
Definition: RTFrame.h:39
An instance of this class represents a capsule instance.
Definition: RTActor.h:44
Represents a capsule part.
Definition: RTActorRef.h:39
A controller manages a group of capsule instances that all run in the same physical thread (i....
Definition: RTController.h:54
Definition: RTSuperActor.h:37
virtual void rtsBehavior(int, int) override
Defines the state machine behavior for this capsule instance.
virtual const RTActor_class * getActorData(void) const override
Get information (meta data) about the capsule, such as its name, ports, states etc.
Represents a thread in the operating system.
Definition: RTThread.h:26
Definition: RTTracer.h:15
Represents a timer port.
Definition: RTTiming.h:43
Definition: RTActor_class.h:49
This structure describes a capsule part (a.k.a.
Definition: RTComponentDescriptor.h:33
Definition: RTFieldDescriptor.h:40
Definition: RTPortDescriptor.h:42