QP/C++ 6.9.3
macros.hpp
Go to the documentation of this file.
1 namespace QP {
2 
5 
7 //
17 #define Q_NASSERT
18 
21 //
28 #define Q_EVT_CTOR
29 
32 //
36 #define Q_SPY
37 
43 #define Q_UTEST
44 
46 #define QF_THREAD_TYPE void*
47 
49 #define QF_EQUEUE_TYPE QEQueue
50 
52 // the native ::QEQueue when the queue is empty
53 //
61 #define QF_OS_OBJECT_TYPE pthread_cond_t
62 
65 //
69 // need to define the macro appropriately for the underlying kernel/OS you're
71 #define QACTIVE_EQUEUE_WAIT_(me_) \
72  Q_ASSERT((me_)->m_eQueue.m_frontEvt != nullptr)
73 
76 //
87 #define QACTIVE_EQUEUE_SIGNAL_(me_) do { \
88  QK_readySet_.insert((me_)->m_prio); \
89  if (QK_intNest_ == 0U) { \
90  uint8_t p = QK_schedPrio_(); \
91  if (p != 0U) { \
92  QK_sched_(p); \
93  } \
94  } \
95 } while (false)
96 
98 //
102 #define QF_EPOOL_TYPE_ QMPool
103 
106 #define QK_ON_CONTEXT_SW
107 
110 #define QXK_ON_CONTEXT_SW
111 
117 #define QF_EPOOL_INIT_(p_, poolSto_, poolSize_, evtSize_) \
118  (p_).init((poolSto_), (poolSize_), static_cast<QMPoolSize>(evtSize_))
119 
126 #define QF_EPOOL_EVENT_SIZE_(p_) static_cast<uint32_t>((p_).getBlockSize())
127 
134 #define QF_EPOOL_GET_(p_, e_, m_, qs_id_) \
135  ((e_) = static_cast<QEvt *>((p_).get((m_), (qs_id_))))
136 
143 #define QF_EPOOL_PUT_(p_, e_, qs_id_) ((p_).put((e_), (qs_id_)))
144 
148 #define WIN32_GUI
149 
150 } // namespace QP
namespace associated with the QP/C++ framework
Definition: struct.dox:1