C++ TargetRTS
Loading...
Searching...
No Matches
RTRecallFilter.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 __RTRecallFilter_h__
11#define __RTRecallFilter_h__ included
12
13#ifdef PRAGMA
14#pragma interface
15#endif
16
17#ifndef __RTQFilter_h__
18#include <RTQFilter.h>
19#endif
20
21class RTActor;
22class RTController;
23class RTMessage;
24class RTProtocol;
25
27{
28public:
29 enum Options
30 {
31 Front, Back, IndexFront, IndexBack,
32 SignalFront, SignalBack, SignalIndexFront, SignalIndexBack
33 };
34
35 // Filter for recalling messages received on a certain port
37 RTProtocol * port,
38 Options options,
39 int signal = 0,
40 int index = 0 );
41
42 // Filter for recalling messages targeted for a certain receiver
44 RTActor * receiver,
45 Options options,
46 int signal = 0,
47 int index = 0 );
48
49
50 virtual ~RTRecallFilter( void );
51
52 virtual int select( RTMessage & ) override;
53 virtual void accept( RTMessage & ) override;
54
55private:
56 RTController * context;
57 RTMessage * recallToFront;
58 RTProtocol * port;
59 RTActor * receiver;
60 int options;
61 int signal;
62 int index;
63
64 // unavailable methods
65 RTRecallFilter & operator=( const RTRecallFilter & );
67}; //lint !e1712
68
69#endif // __RTRecallFilter_h__
An instance of this class represents a capsule instance.
Definition: RTActor.h:44
A controller manages a group of capsule instances that all run in the same physical thread (i....
Definition: RTController.h:54
Represents a message used for communication between capsule instances.
Definition: RTMessage.h:33
Represents a general capsule port typed by a protocol which determines the set of events that can be ...
Definition: RTProtocol.h:50
Definition: RTQFilter.h:24
Definition: RTRecallFilter.h:27