C++ TargetRTS
Loading...
Searching...
No Matches
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
45protected:
46 RTActorRef specials;
47 RTActorRef application;
48 Frame::Base frame;
49 Timing::Base timer;
50
51#if USE_THREADS
52 RTController * timerController;
53 RTThread * timerThread;
54#endif
55
56 void t1_initialize( void );
57 void t2_start( void );
58
59 enum { rtid_frame = 1, rtid_timer };
60
61 static const RTActor_class rtg_class;
62
63private:
64 static const RTComponentDescriptor rtg_capsule_roles[];
65#if USE_THREADS
66 static const RTFieldDescriptor rtg_fields[];
67#endif
68 static const RTStateId rtg_parent_state[];
69 static const RTPortDescriptor rtg_ports[];
70
71 // unavailable methods
72 RTSuperActor & operator=( const RTSuperActor & );
73 RTSuperActor( const RTSuperActor & );
74}; //lint !e1712
75
76#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
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