E_dbus 1.7.0 ****************************************************************************** FOR ANY ISSUES PLEASE EMAIL: enlightenment-devel@lists.sourceforge.net ****************************************************************************** Requirements: ------------- Must: libc libdbus eina (at least 1.1.0) ecore (at least 1.1.0) Recommended: evas (at least 1.1.0) This is the start of some basic convenience wrappers around dbus to ease integrating dbus with EFL based applications. When using e_dbus, direct use of the low level dbus api is still heavily required for processing messages. A few things to note: e_dbus_bus_get() currently creates a new private connection to whichever bus is passed in, and hooks this into the ecore main loop. At some point, we should implement internal refcounting and sharing of these private connections (one for each bus type) so that e.g. multiple modules in an app can reuse the same connection. libdbus implements its own shared connections (available via dbus_bus_get()), but the final reference is always retained by libdbus iteself, causing any cleanup handlers on the connection to only be called at app exit. Thus, if a module hooks a connection in to the mainloop, there is no way to clean up fully before unloading the module, causing issues. Patches can be sent to the enlightenment dev mailing list, or, if you have commit access, feel free to commit. ABOUT PROVIDED MODULES: ----------------------- E_DBus provides easy C API for some D-Bus services, the org.freedesktop.DBus interface is implemented into libedbus/E_DBus.h itself, while the following modules provides more and their respective version: * bluez(v4.9x): barebones to toggle state and change visibility. * connman0.7x: complete manager, service and technology. * hal(v0.5.x): deprecated, provides basic for e17. See ukit. * notification(v0.7.x): complete client and server. * ofono(v0.5x, v1.0): barebones to toggle state. * ukit(upower-v0.9.x, udisks-1.0.x): most of upower, status api from udisks. API STABILITY: -------------- Everything but libedbus (E_DBus.h) is subject to API or ABI stability of the provided service or protocol specification. If the service change their API, we'll break our API. The library/module versioning will be used at the name, leaving the soversion synchronized with libedbus.so. Examples: * libeconnman0_7x.so.1.1.0 is the service connman at version 0.7x created with libedbus.so.1.1.0. * econnman-0.7x.pc (Version: 1.1.0) is the service connman at version 0.7x created with edbus.pc (Version: 1.1.0). ------------------------------------------------------------------------------ COMPILING AND INSTALLING: ./configure make (do this as root unless you are installing in your users directories): make install