summaryrefslogtreecommitdiff
path: root/src/lib/efl/Efl_Model_Common.h
diff options
context:
space:
mode:
authorFelipe Magno de Almeida <felipe@expertisesolutions.com.br>2015-04-05 15:19:59 +0200
committerCedric BAIL <cedric@osg.samsung.com>2015-04-05 16:23:38 +0200
commit7928609a2945d2aef038b1e97a6d800d864d6f1a (patch)
treea66dd4a9bc24ff2a33ebb6ed9b76cbe08bb08aa5 /src/lib/efl/Efl_Model_Common.h
parent2f5383333196004f9113952c864bf9848025a04b (diff)
efl: move emodel to be an efl interfaces.
Diffstat (limited to 'src/lib/efl/Efl_Model_Common.h')
-rw-r--r--src/lib/efl/Efl_Model_Common.h92
1 files changed, 92 insertions, 0 deletions
diff --git a/src/lib/efl/Efl_Model_Common.h b/src/lib/efl/Efl_Model_Common.h
new file mode 100644
index 0000000000..bd9ab62e5f
--- /dev/null
+++ b/src/lib/efl/Efl_Model_Common.h
@@ -0,0 +1,92 @@
1#ifndef _EFL_MODEL_COMMON_H
2#define _EFL_MODEL_COMMON_H
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8/**
9 * @enum _Efl_Model_Load_Status
10 * XXX/TODO/FIXME: Remove this enum (and possibly other data) from here
11 * as soon as eolian translates these data types in .eo's.
12 */
13enum _Efl_Model_Load_Status
14 {
15 EFL_MODEL_LOAD_STATUS_ERROR = 0,
16 EFL_MODEL_LOAD_STATUS_LOADING_PROPERTIES = (1 << 0),
17 EFL_MODEL_LOAD_STATUS_LOADING_CHILDREN = (1 << 1),
18 EFL_MODEL_LOAD_STATUS_LOADING = (1 << 0) | (1 << 1),
19
20 EFL_MODEL_LOAD_STATUS_LOADED_PROPERTIES = (1 << 2),
21 EFL_MODEL_LOAD_STATUS_LOADED_CHILDREN = (1 << 3),
22 EFL_MODEL_LOAD_STATUS_LOADED = (1 << 2) | (1 << 3),
23
24 EFL_MODEL_LOAD_STATUS_UNLOADING = (1 << 4),
25 EFL_MODEL_LOAD_STATUS_UNLOADED = (1 << 5)
26 };
27/**
28 * @typedef Efl_Model_Load_Status
29 */
30typedef enum _Efl_Model_Load_Status Efl_Model_Load_Status;
31
32/**
33 * @struct _Efl_Model_Load
34 * Structure to hold Efl_Model_Load_Status enum
35 * (and possible other data) to avoid ABI break.
36 */
37struct _Efl_Model_Load
38 {
39 Efl_Model_Load_Status status;
40 /* add more data below here if necessary */
41 };
42
43/**
44 * @typedef Efl_Model_Load
45 */
46typedef struct _Efl_Model_Load Efl_Model_Load;
47
48/**
49 * @struct _Efl_Model_Property_Event
50 */
51struct _Efl_Model_Property_Event
52{
53 const Eina_Array *changed_properties; /**< array of property name */
54 const Eina_Array *invalidated_properties; /**< array of property name */
55};
56
57/**
58 * @typedef Efl_Model_Property_Event
59 */
60typedef struct _Efl_Model_Property_Event Efl_Model_Property_Event;
61
62/**
63 * @struct _Efl_Model_Children_Event
64 * Every time a child id added the event
65 * EFL_MODEL_EVENT_CHILD_ADDED is dispatched
66 * passing along this structure.
67 */
68struct _Efl_Model_Children_Event
69{
70 Eo *child; /**< child, for child_add */
71 /**
72 * index is a hint and is intended
73 * to provide a way for applications
74 * to control/know children relative
75 * positions through listings.
76 *
77 * NOTE: If listing is performed asynchronously
78 * exact order may not be guaranteed.
79 */
80 unsigned int index;
81};
82
83/**
84 * @struct Efl_Model_Children_Event
85 */
86typedef struct _Efl_Model_Children_Event Efl_Model_Children_Event;
87
88
89#ifdef __cplusplus
90}
91#endif
92#endif