forked from enlightenment/efl
30df128be5
Summary: Applications can: void method_callback(void* data, const Eldbus_Service_Interface* iface, const Eldbus_Message* message); struct { ... } data_struct; Eldbus_Method methods[] = { "method1", ELDBUS_ARGS("b", "bool"), ELDBUS_ARGS("b", "bool"), ELDBUS_METHOD_FLAG_HAS_DATA , (Eldbus_Method_Cb)&method_callback, &data_struct }; And method_callback will be called with data parameter pointing to data_struct global object. Also, Eldbus-cxx supports registering an interface passing a lambda or function object as method. For example: edb::service_interface iface = edb::service_interface_register (c, path, interface , es::method("SendStringAndBool" , [expected_string, expected_bool] (std::string const& n, bool b , bool* out) { std::cout << "Running SendStringAndBool" << std::endl; ck_assert(n == expected_string); ck_assert(b == expected_bool); *out = b; return n; } , es::ins<std::string, bool>("string", "bool") , es::outs<std::string, bool>("string", "bool") ) ); When a request for "SendStringAndBool" with the proper signature is called, executes the lambda and replies with the return value and its bool* out parameter value. Reviewers: cedric, woohyun, raster CC: savio, cedric Differential Revision: https://phab.enlightenment.org/D1052 |
||
---|---|---|
.. | ||
benchmarks | ||
bin | ||
bindings | ||
edje_external/emotion | ||
examples | ||
lib | ||
modules | ||
scripts/eina | ||
static_libs | ||
tests | ||
utils/ecore | ||
Makefile.am | ||
Makefile_EPhysics.am | ||
Makefile_Ecore.am | ||
Makefile_Ecore_Audio.am | ||
Makefile_Ecore_Audio_Cxx.am | ||
Makefile_Ecore_Avahi.am | ||
Makefile_Ecore_Cocoa.am | ||
Makefile_Ecore_Con.am | ||
Makefile_Ecore_Cxx.am | ||
Makefile_Ecore_Drm.am | ||
Makefile_Ecore_Evas.am | ||
Makefile_Ecore_FB.am | ||
Makefile_Ecore_File.am | ||
Makefile_Ecore_IMF.am | ||
Makefile_Ecore_IMF_Evas.am | ||
Makefile_Ecore_Input.am | ||
Makefile_Ecore_Input_Evas.am | ||
Makefile_Ecore_Ipc.am | ||
Makefile_Ecore_Psl1ght.am | ||
Makefile_Ecore_SDL.am | ||
Makefile_Ecore_Wayland.am | ||
Makefile_Ecore_Win32.am | ||
Makefile_Ecore_WinCE.am | ||
Makefile_Ecore_X.am | ||
Makefile_Edje.am | ||
Makefile_Edje_Cxx.am | ||
Makefile_Edje_Helper.am | ||
Makefile_Eet.am | ||
Makefile_Eet_Cxx.am | ||
Makefile_Eeze.am | ||
Makefile_Efl.am | ||
Makefile_Efreet.am | ||
Makefile_Eina.am | ||
Makefile_Eina_Cxx.am | ||
Makefile_Eio.am | ||
Makefile_Eldbus.am | ||
Makefile_Eldbus_Cxx.am | ||
Makefile_Elua.am | ||
Makefile_Elua_Helper.am | ||
Makefile_Embryo.am | ||
Makefile_Emotion.am | ||
Makefile_Eo.am | ||
Makefile_Eo_Cxx.am | ||
Makefile_Eolian.am | ||
Makefile_Eolian_Cxx.am | ||
Makefile_Eolian_Cxx_Helper.am | ||
Makefile_Eolian_Helper.am | ||
Makefile_Escape.am | ||
Makefile_Ethumb.am | ||
Makefile_Ethumb_Client.am | ||
Makefile_Evas.am | ||
Makefile_Evas_Cxx.am | ||
Makefile_Evil.am |