summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Zaoui <daniel.zaoui@samsung.com>2015-11-15 15:06:22 +0200
committerDaniel Zaoui <daniel.zaoui@samsung.com>2015-11-15 15:06:22 +0200
commit322fc2fb7701e3c4ce44b0da3dee32940e37b2c8 (patch)
tree473a85d72b4edbd92617d3ae3a2c594b3380aab0
parent808ba37d93f9491d824faff139d9e15bc0c03d0c (diff)
Support inheritance
-rw-r--r--src/lib/eolian_debug.c25
1 files changed, 16 insertions, 9 deletions
diff --git a/src/lib/eolian_debug.c b/src/lib/eolian_debug.c
index 8d73492..1d45246 100644
--- a/src/lib/eolian_debug.c
+++ b/src/lib/eolian_debug.c
@@ -260,18 +260,25 @@ _obj_info_req_cb(Eina_Debug_Client *src, void *buffer, int size EINA_UNUSED)
260 } 260 }
261 memcpy(buf, &ptr64, sizeof(uint64_t)); 261 memcpy(buf, &ptr64, sizeof(uint64_t));
262 size_curr = sizeof(uint64_t); 262 size_curr = sizeof(uint64_t);
263 size_curr += _class_buffer_fill(obj, kl, buf + size_curr);
264 263
265#if 0 264 Eina_List *itr, *list2;
266 Eina_Iterator *inherits = eolian_class_inherits_get(kl); 265 Eina_List *list = eina_list_append(NULL, kl);
267 EINA_ITERATOR_FOREACH(inherits, class_name) 266 EINA_LIST_FOREACH(list, itr, kl)
268 { 267 {
269 printf("name = %s \n", class_name); 268 size_curr += _class_buffer_fill(obj, kl, buf + size_curr);
270 const Eolian_Class *ekl = eolian_class_get_by_name(class_name); 269 const char *inherit_name;
271 size_curr += _class_buffer_fill(ptr, ekl, buf); 270 Eina_Iterator *inherits_itr = eolian_class_inherits_get(kl);
271 EINA_ITERATOR_FOREACH(inherits_itr, inherit_name)
272 {
273 const Eolian_Class *inherit = eolian_class_get_by_name(inherit_name);
274 if (!inherit) printf("class not found for name: \"%s\"", inherit_name);
275 /* Avoid duplicates in MRO list. */
276 if (!eina_list_data_find(list, inherit))
277 list2 = eina_list_append(list, inherit);
278 }
279 eina_iterator_free(inherits_itr);
272 } 280 }
273 eina_iterator_free(inherits); 281 (void) list2;
274#endif
275 282
276 eina_debug_session_send(src, _obj_info_op, buf, size_curr); 283 eina_debug_session_send(src, _obj_info_op, buf, size_curr);
277 284