summaryrefslogtreecommitdiff
path: root/src/examples/ecore
diff options
context:
space:
mode:
authorMarcel Hollerbach <mail@marcel-hollerbach.de>2019-02-09 18:45:27 +0100
committerMarcel Hollerbach <mail@marcel-hollerbach.de>2019-02-13 16:59:58 +0100
commit37d2d378ec2e2d1f9a3941372ef4d818996291c7 (patch)
treee100879fbdc9ce0d2ce810be81977be97125603b /src/examples/ecore
parent3b2a5a429be16e5b8e5d322b7a077a2c849586b8 (diff)
eolian: drop class function overriding
Until this commit eo did class functions as part of the vtable, which enabled those functions to be overwritten in classes inheriting another class. However in task T7675 we decided that this is not really good for bindings, as most OOP languages do not support this sort of feature. After this commit eolian realizes class function completly outside of the vtable, the c-symbol that is the class funciton is now just directly redirecting to a implementation, without the involvement of the vtable. This also means a change to the syntax created by eo: Calling before: class_function(CLASS_A); Calling after: class_function(); Implementation before: class_function(const Eo *obj, void *pd) { ... } Implementation after: class_function(void) { ... } This fixes T7675. Co-authored-by: lauromauro <lauromoura@expertisesolutions.com.br> Reviewed-by: Daniel Kolesa <daniel@octaforge.org> Differential Revision: https://phab.enlightenment.org/D7901
Diffstat (limited to 'src/examples/ecore')
-rw-r--r--src/examples/ecore/efl_net_ip_address_example.c4
-rw-r--r--src/examples/ecore/efl_net_socket_ssl_dialer_example.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/examples/ecore/efl_net_ip_address_example.c b/src/examples/ecore/efl_net_ip_address_example.c
index 16fc876117..0097c2ac72 100644
--- a/src/examples/ecore/efl_net_ip_address_example.c
+++ b/src/examples/ecore/efl_net_ip_address_example.c
@@ -123,7 +123,7 @@ main(int argc, char *argv[])
123 for (i = 1; i < argc; i++) 123 for (i = 1; i < argc; i++)
124 { 124 {
125 const char *address = argv[i]; 125 const char *address = argv[i];
126 Eo *o = efl_net_ip_address_parse(EFL_NET_IP_ADDRESS_CLASS, address); 126 Eo *o = efl_net_ip_address_parse( address);
127 if (o) 127 if (o)
128 { 128 {
129 _print_ip_addr_info(o); 129 _print_ip_addr_info(o);
@@ -131,7 +131,7 @@ main(int argc, char *argv[])
131 } 131 }
132 else 132 else
133 { 133 {
134 Eina_Future *f = efl_net_ip_address_resolve(EFL_NET_IP_ADDRESS_CLASS, address, 0, 0); 134 Eina_Future *f = efl_net_ip_address_resolve( address, 0, 0);
135 eina_future_then(f, _resolved, address); 135 eina_future_then(f, _resolved, address);
136 printf("INFO: %s is not numeric, resolving...\n", address); 136 printf("INFO: %s is not numeric, resolving...\n", address);
137 resolving = eina_list_append(resolving, f); 137 resolving = eina_list_append(resolving, f);
diff --git a/src/examples/ecore/efl_net_socket_ssl_dialer_example.c b/src/examples/ecore/efl_net_socket_ssl_dialer_example.c
index 10cec47dda..45dc189d09 100644
--- a/src/examples/ecore/efl_net_socket_ssl_dialer_example.c
+++ b/src/examples/ecore/efl_net_socket_ssl_dialer_example.c
@@ -464,7 +464,7 @@ efl_main(void *data EINA_UNUSED,
464 efl_net_ssl_context_hostname_set(efl_added, hostname_override), 464 efl_net_ssl_context_hostname_set(efl_added, hostname_override),
465 efl_net_ssl_context_setup(efl_added, cipher, EINA_TRUE)); 465 efl_net_ssl_context_setup(efl_added, cipher, EINA_TRUE));
466#else 466#else
467 ssl_ctx = efl_net_ssl_context_default_dialer_get(EFL_NET_SSL_CONTEXT_CLASS); 467 ssl_ctx = efl_net_ssl_context_default_dialer_get();
468 fprintf(stderr, "INFO: using default context for dialers.\n"); 468 fprintf(stderr, "INFO: using default context for dialers.\n");
469#endif 469#endif
470 470