summaryrefslogtreecommitdiff
path: root/src/lib/eolian/eolian_database.h
diff options
context:
space:
mode:
authorDaniel Kolesa <d.kolesa@samsung.com>2019-01-18 17:24:12 +0100
committerDaniel Kolesa <d.kolesa@samsung.com>2019-01-21 17:19:14 +0100
commit7feeda0410382a2d121e5de1ba89982eda9a41b6 (patch)
tree9ebe815b576448969c0a9a95040b17b5fdd35ae4 /src/lib/eolian/eolian_database.h
parentdab4d8d8a446f98b4fa2f63e5b948b8f629e460d (diff)
eolian: add support for composite section into regular classes
Each regular class can now have a section called 'composite', which can contain interfaces and interfaces only. This defines a list of interfaces that are allowed to be unimplemented on the class, as it is assumed the class will be composited with some other class implementing those interfaces. Only regular classes can have this, as only regular classes can be instantiated. It will also be necessary to check whether the classes in the section appear somewhere within the inheritance tree. For now, this testing is not being done. Example of usage: composite { Some.Magic.Interface; Another.Magic.Interface; } directly in the class body.
Diffstat (limited to 'src/lib/eolian/eolian_database.h')
-rw-r--r--src/lib/eolian/eolian_database.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/lib/eolian/eolian_database.h b/src/lib/eolian/eolian_database.h
index 805b547..d0d7873 100644
--- a/src/lib/eolian/eolian_database.h
+++ b/src/lib/eolian/eolian_database.h
@@ -191,6 +191,7 @@ struct _Eolian_Class
191 Eina_List *constructors; /* Eolian_Constructor */ 191 Eina_List *constructors; /* Eolian_Constructor */
192 Eina_List *events; /* Eolian_Event */ 192 Eina_List *events; /* Eolian_Event */
193 Eina_List *parts; /* Eolian_Part */ 193 Eina_List *parts; /* Eolian_Part */
194 Eina_List *composite; /* Eolian_Class */
194 Eina_List *requires; /* a list of required other classes only used internally */ 195 Eina_List *requires; /* a list of required other classes only used internally */
195 Eina_List *callables; /* internal for now */ 196 Eina_List *callables; /* internal for now */
196 Eina_Bool class_ctor_enable:1; 197 Eina_Bool class_ctor_enable:1;