C++ TargetRTS
Loading...
Searching...
No Matches
RTTimerId.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 __RTTimerId_h__
11#define __RTTimerId_h__ included
12
13#ifdef PRAGMA
14#pragma interface
15#endif
16
17#ifndef __RTFieldDescriptor_h__
18#include <RTFieldDescriptor.h>
19#endif
20
21#ifndef __RTObject_class_h__
22#include <RTObject_class.h>
23#endif
24
25class RTController;
26class RTTimerNode;
27
34{
35public:
36 RTS_INLINE RTTimerId( void );
37 RTS_INLINE RTTimerId( RTTimerNode * ); //lint !e1931
38 RTS_INLINE RTTimerId( const RTTimerId & );
39 ~RTTimerId( void );
40
41 RTTimerId & operator=( const RTTimerId & );
42 RTTimerId & operator=( RTTimerNode * );
43
44 RTS_INLINE int operator==( const RTTimerId & ) const;
45 RTS_INLINE int operator!=( const RTTimerId & ) const;
46
54 RTS_INLINE int isValid( void ) const;
55
64 int timeouts( void ) const;
65
68
69#define RTType_RTTimerId ( RTTimerId::classData )
70
71private:
72 friend class RTTimerNode;
73
74 static const RTFieldDescriptor fieldData[];
75
76 struct Ring
77 {
78 RTS_INLINE Ring( void );
79
80 Ring * prev;
81 Ring * next;
82 };
83
84 Ring ring;
85 RTTimerNode * node;
86};
87
89{
90 const void * data;
91 const RTObject_class * type;
92
93 RTS_INLINE RTTypedValue_RTTimerId( const RTTimerId & ); //lint !e1931
94 RTS_INLINE RTTypedValue_RTTimerId( const RTTimerId &, const RTObject_class * );
95}; //lint !e1712
96
97#if RTS_INLINES
98#include <RTTimerId.inl>
99#endif
100
101#endif // __RTTimerId_h__
A controller manages a group of capsule instances that all run in the same physical thread (i....
Definition: RTController.h:54
An identifier for a timer request.
Definition: RTTimerId.h:34
int timeouts(void) const
Get the number of timeout intervals that passed before the timeout of a periodic timer was actually p...
static const RTObject_class classData
Type descriptor for an RTTimerId.
Definition: RTTimerId.h:67
int isValid(void) const
Check if this object identifies a valid timer request.
Definition: RTTimerId.inl:62
Definition: RTTimerNode.h:47
Definition: RTFieldDescriptor.h:40
A type descriptor providing information about a type.
Definition: RTObject_class.h:64
Definition: RTTimerId.h:89