Since ur breaking API, add void*data to callbacks, otherwise u make bindings harder if not impossible.
On Sunday, December 5, 2010, Enlightenment SVN <no-re...@enlightenment.org> wrote: > Log: > api break: send return value of calls to client callbacks when set > typedef Eina_Error (*Azy_Client_Return_Cb)(Azy_Client *cli, Azy_Content > *ret_content, void *ret); > > > Author: discomfitor > Date: 2010-12-05 17:45:29 -0800 (Sun, 05 Dec 2010) > New Revision: 55306 > Trac: http://trac.enlightenment.org/e/changeset/55306 > > Modified: > trunk/PROTO/azy/src/include/Azy.h > trunk/PROTO/azy/src/lib/azy_client_events.c > trunk/PROTO/azy/src/tests/client.c trunk/PROTO/azy/src/tests/stress_client.c > > Modified: trunk/PROTO/azy/src/include/Azy.h > =================================================================== > --- trunk/PROTO/azy/src/include/Azy.h 2010-12-06 01:37:43 UTC (rev 55305) > +++ trunk/PROTO/azy/src/include/Azy.h 2010-12-06 01:45:29 UTC (rev 55306) > @@ -204,7 +204,7 @@ > * Function must return AZY_ERROR_NONE (0) on success, else > * an error number. > */ > -typedef Eina_Error (*Azy_Client_Return_Cb)(Azy_Client *, Azy_Content *); > +typedef Eina_Error (*Azy_Client_Return_Cb)(Azy_Client *cli, Azy_Content > *ret_content, void *ret); > /** }@ */ > #ifdef __cplusplus > extern "C" { > > Modified: trunk/PROTO/azy/src/lib/azy_client_events.c > =================================================================== > --- trunk/PROTO/azy/src/lib/azy_client_events.c 2010-12-06 01:37:43 UTC (rev > 55305) > +++ trunk/PROTO/azy/src/lib/azy_client_events.c 2010-12-06 01:45:29 UTC (rev > 55306) > @@ -116,7 +116,7 @@ > if (cb) > { > Eina_Error ret; > - ret = cb(client, content); > + ret = cb(client, content, content->ret); > > ecore_event_add(AZY_CLIENT_RESULT, &ret, > (Ecore_End_Cb)_azy_event_handler_fake_free, NULL); > eina_hash_del_by_key(client->callbacks, &content->id); > > Modified: trunk/PROTO/azy/src/tests/client.c > =================================================================== > --- trunk/PROTO/azy/src/tests/client.c 2010-12-06 01:37:43 UTC (rev 55305) > +++ trunk/PROTO/azy/src/tests/client.c 2010-12-06 01:45:29 UTC (rev 55306) > @@ -36,7 +36,7 @@ > } > > static Eina_Error > -_T_Test1_getBigArray_ret(Azy_Client *client, Azy_Content *content) > +_T_Test1_getBigArray_ret(Azy_Client *client, Azy_Content *content, void *r) > { > Eina_List *ret; > > @@ -47,7 +47,7 @@ > ecore_main_loop_quit(); > return azy_content_error_code_get(content); > } > - ret = azy_content_return_get(content); > + ret = r; > > if (ret) > printf("%i list entries\n", eina_list_count(ret)); > @@ -56,7 +56,7 @@ > } > > static Eina_Error > -_T_Test1_putBigArray_ret(Azy_Client *client __UNUSED__, Azy_Content *content) > +_T_Test1_putBigArray_ret(Azy_Client *client __UNUSED__, Azy_Content > *content, void *r) > { > Eina_Bool ret; > > @@ -68,13 +68,13 @@ > return azy_content_error_code_get(content); > } > > - ret = (intptr_t)azy_content_return_get(content); > + ret = (intptr_t)r; > printf("%s: Success? %s!\n", __PRETTY_FUNCTION__, ret ? "YES" : "NO"); > return AZY_ERROR_NONE; > } > > static Eina_Error > -_T_Test1_getAll_ret(Azy_Client *client __UNUSED__, Azy_Content *content) > +_T_Test1_getAll_ret(Azy_Client *client __UNUSED__, Azy_Content *content, > void *r) > { > T_AllTypes *ret; > > @@ -86,13 +86,13 @@ > return azy_content_error_code_get(content); > } > > - ret = azy_content_return_get(content); > + ret = r; > printf("%s: Success? %s!\n", __PRETTY_FUNCTION__, ret ? "YES" : "NO"); > return AZY_ERROR_NONE; > } > > static Eina_Error > -_T_Test1_getAllArrays_ret(Azy_Client *client __UNUSED__, Azy_Content > *content) > +_T_Test1_getAllArrays_ret(Azy_Client *client __UNUSED__, Azy_Content > *content, void *r) > { > T_AllArrays *ret; > > @@ -104,13 +104,13 @@ > return azy_content_error_code_get(content); > } > > - ret = azy_content_return_get(content); > + ret = r; > printf("%s: Success? %s!\n", __PRETTY_FUNCTION__, ret ? "YES" : "NO"); > return AZY_ERROR_NONE; > } > > static Eina_Error > -_T_Test2_auth_ret(Azy_Client *client __UNUSED__, Azy_Content *content) > +_T_Test2_auth_ret(Azy_Client *client __UNUSED__, Azy_Content *content, void > *r) > { > Eina_Bool ret; > > @@ -122,13 +122,13 @@ > return azy_content_error_code_get(content); > } > > - ret = (intptr_t)azy_content_return_get(content); > + ret = (intptr_t)r; > printf("%s: Success? %s!\n", __PRETTY_FUNCTION__, ret ? "YES" : "NO"); > return AZY_ERROR_NONE; > } > > static Eina_Error > -_T_Test1_undefined_ret(Azy_Client *client __UNUSED__, Azy_Content *content) > +_T_Test1_undefined_ret(Azy_Client *client __UNUSED__, Azy_Content *content, > void *r __UNUSED__) > { > if (azy_content_error_is_set(content)) > printf("Error encountered: %s\n", > azy_content_error_message_get(content)); > > Modified: trunk/PROTO/azy/src/tests/stress_client.c > =================================================================== > --- trunk/PROTO/azy/src/tests/stress_client.c 2010-12-06 01:37:43 UTC (rev > 55305) > +++ trunk/PROTO/azy/src/tests/stress_client.c 2010-12-06 01:45:29 UTC (rev > 55306) > @@ -35,7 +35,7 @@ > > #ifdef HAVE_MYSQL > static Eina_Error > -T_SQL_test_ret(Azy_Client *client __UNUSED__, Azy_Content *content) > +ret_(Azy_Client *client __UNUSED__, int type __UNUSED__, Azy_Content > *content) > { > > static int x; > @@ -55,7 +55,7 @@ > #else > > static Eina_Error > -T_Test1_getAll_ret(Azy_Client *client __UNUSED__, Azy_Content *content) > +ret_(Azy_Client *client __UNUSED__, int type __UNUSED__, Azy_Content > *content) > { > static int x; > T_AllTypes *ret; > @@ -102,12 +102,10 @@ > ret = T_SQL_test(ev, err, NULL); > if (check_err(err) || (!ret)) > goto error; > - azy_client_callback_set(ev, ret, T_SQL_test_ret); > #else > ret = T_Test1_getAll(ev, err, NULL); > if (check_err(err) || (!ret)) > goto error; > - azy_client_callback_set(ev, ret, T_Test1_getAll_ret); > #endif > } > azy_content_free(err); > @@ -158,7 +156,8 @@ > > ecore_job_add(spawn, NULL); > ecore_event_handler_add(AZY_CLIENT_CONNECTED, > (Ecore_Event_Handler_Cb)connected, NULL); > - ecore_event_handler_add(AZY_CLIENT_CONNECTED, > (Ecore_Event_Handler_Cb)disconnected, NULL); > + ecore_event_handler_add(AZY_CLIENT_RETURN, (Ecore_Event_Handler_Cb)ret_, > NULL); > + ecore_event_handler_add(AZY_CLIENT_DISCONNECTED, > (Ecore_Event_Handler_Cb)disconnected, NULL); > ecore_main_loop_begin(); > > EINA_LIST_FREE(clients, cli) > > > ------------------------------------------------------------------------------ > What happens now with your Lotus Notes apps - do you make another costly > upgrade, or settle for being marooned without product support? Time to move > off Lotus Notes and onto the cloud with Force.com, apps are easier to build, > use, and manage than apps on traditional platforms. Sign up for the Lotus > Notes Migration Kit to learn more. http://p.sf.net/sfu/salesforce-d2d > _______________________________________________ > enlightenment-svn mailing list > enlightenment-...@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-svn > -- Gustavo Sverzut Barbieri http://profusion.mobi embedded systems -------------------------------------- MSN: barbi...@gmail.com Skype: gsbarbieri Mobile: +55 (19) 9225-2202 ------------------------------------------------------------------------------ What happens now with your Lotus Notes apps - do you make another costly upgrade, or settle for being marooned without product support? Time to move off Lotus Notes and onto the cloud with Force.com, apps are easier to build, use, and manage than apps on traditional platforms. Sign up for the Lotus Notes Migration Kit to learn more. http://p.sf.net/sfu/salesforce-d2d _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel