Eo: Added an eo_isa example.
[profile/ivi/eobj.git] / src / examples / eo_isa / simple.h
1 #ifndef SIMPLE_H
2 #define SIMPLE_H
3
4 #include "Eo.h"
5 #include "interface.h"
6 #include "mixin.h"
7
8 extern EAPI Eo_Op SIMPLE_BASE_ID;
9
10 enum {
11      SIMPLE_SUB_ID_A_SET,
12      SIMPLE_SUB_ID_A_GET,
13      SIMPLE_SUB_ID_LAST
14 };
15
16 #define SIMPLE_ID(sub_id) (SIMPLE_BASE_ID + sub_id)
17
18 /**
19  * @def simple_a_set(a)
20  * @brief Set value to a-property
21  * @param[in] a integer value to set
22  */
23 #define simple_a_set(a) SIMPLE_ID(SIMPLE_SUB_ID_A_SET), EO_TYPECHECK(int, a)
24
25 /**
26  * @def simple_a_get(a)
27  * @brief Get value of a-property
28  * @param[out] integer pointer to a-value
29  */
30 #define simple_a_get(a) SIMPLE_ID(SIMPLE_SUB_ID_A_GET), EO_TYPECHECK(int *, a)
31
32 #define SIMPLE_CLASS simple_class_get()
33 const Eo_Class *simple_class_get(void);
34
35 #endif