C++ TargetRTS
Loading...
Searching...
No Matches
RTMessageQ.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 __RTMessageQ_h__
11#define __RTMessageQ_h__ included
12
13#ifdef PRAGMA
14#pragma interface
15#endif
16
17#ifndef __RTConfig_h__
18#include <RTConfig.h>
19#endif
20
21class RTMessage;
22class RTQFilter;
23
27{
28private:
29 RTMessage * head;
30 RTMessage * tail;
31
32public:
33 RTMessageQ( void );
34 ~RTMessageQ( void );
35
36 RTS_INLINE int isEmpty( void ) const;
37 int size( void ) const;
38
39 int filterOne( RTQFilter & );
40 int filterAll( RTQFilter & );
41
42 void link( RTMessage * array, int );
43
44 RTS_INLINE void appendFrom( RTMessageQ & );
45 void nqHead( RTMessage * );
46 RTS_INLINE void nqTail( RTMessage * );
47 RTS_INLINE RTMessage * dqHead( void );
48 RTS_INLINE RTMessage * dqAll( void );
49
50private:
51 // unavailable methods
52 RTMessageQ( const RTMessageQ & );
53 RTMessageQ & operator=( const RTMessageQ & );
54};
55
56#if RTS_INLINES
57#include <RTMessageQ.inl>
58#endif
59
60#endif // __RTMessageQ_h__
Represents a message used for communication between capsule instances.
Definition: RTMessage.h:33
Represents a message queue.
Definition: RTMessageQ.h:27
Definition: RTQFilter.h:24