ODeV framework  v2
ApplicationContext.h
Go to the documentation of this file.
1 
32 #ifndef INCLUDE_SERVICES_APPLICATIONCONTEXT_H_
33 
34 #define INCLUDE_SERVICES_APPLICATIONCONTEXT_H_
35 
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 
40 #include "systp.h"
41 #include "AManagedTask.h"
42 #include "AManagedTaskEx.h"
43 #include "AManagedTaskEx_vtbl.h"
44 
48 typedef struct _ApplicationContext {
53 
57  uint8_t m_nListSize;
59 
60 // Public API declaration
61 //***********************
62 
70 
80 
89 
96 inline uint8_t ACGetTaskCount(ApplicationContext *this);
97 
105 
113 inline AManagedTask *ACGetNextTask(ApplicationContext *this, const AManagedTask *pTask);
114 
115 
116 // Inline functions definition
117 // ***************************
118 
119 SYS_DEFINE_INLINE
121  assert_param(this);
122 
123  return this->m_nListSize;
124 }
125 
126 SYS_DEFINE_INLINE
128  assert_param(this);
129 
130  return this->m_pHead;
131 }
132 
133 SYS_DEFINE_INLINE
135  assert_param(this);
136  assert_param(pTask);
137  UNUSED(this);
138 
139  return pTask->m_pNext;
140 }
141 
142 #ifdef __cplusplus
143 }
144 #endif
145 
146 
147 #endif /* INCLUDE_SERVICES_APPLICATIONCONTEXT_H_ */
sys_error_code_t ACAddTask(ApplicationContext *this, AManagedTask *pTask)
uint8_t ACGetTaskCount(ApplicationContext *this)
Definition: ApplicationContext.h:120
#define assert_param(expr)
Include module's header file.
Definition: stm32l4xx_hal_conf.h:359
Definition: AManagedTaskVtbl.h:95
This file declare the Managed task Interface.
AManagedTask * ACGetFirstTask(ApplicationContext *this)
Definition: ApplicationContext.h:127
sys_error_code_t ACRemoveTask(ApplicationContext *this, AManagedTask *pTask)
struct _AManagedTask * m_pNext
Definition: AManagedTaskVtbl.h:109
sys_error_code_t ACInit(ApplicationContext *this)
This file declare the Managed task Interface.
uint8_t m_nListSize
Definition: ApplicationContext.h:57
TODO - insert here the file description.
AManagedTask * ACGetNextTask(ApplicationContext *this, const AManagedTask *pTask)
Definition: ApplicationContext.h:134
unsigned short sys_error_code_t
Definition: syserror.h:45
struct _ApplicationContext ApplicationContext
Definition: ApplicationContext.h:48
AManagedTask * m_pHead
Definition: ApplicationContext.h:52
Target platform definition.