Enlightenment CVS committal Author : englebass Project : e17 Module : libs/e_dbus
Dir : e17/libs/e_dbus/src/lib/dbus Modified Files: E_DBus.h e_dbus.c e_dbus_interfaces.c e_dbus_message.c e_dbus_methods.c e_dbus_object.c e_dbus_private.h e_dbus_signal.c e_dbus_util.c Log Message: EAPI =================================================================== RCS file: /cvs/e/e17/libs/e_dbus/src/lib/dbus/E_DBus.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- E_DBus.h 29 Oct 2007 02:20:47 -0000 1.1 +++ E_DBus.h 4 Nov 2007 07:51:36 -0000 1.2 @@ -10,7 +10,7 @@ #include <dbus/dbus.h> #include <Ecore.h> -extern int E_DBUS_EVENT_SIGNAL; +EAPI extern int E_DBUS_EVENT_SIGNAL; typedef struct E_DBus_Connection E_DBus_Connection; typedef struct E_DBus_Object E_DBus_Object; @@ -36,104 +36,100 @@ typedef struct E_DBus_Callback E_DBus_Callback; -int e_dbus_init(void); -void e_dbus_shutdown(void); +EAPI int e_dbus_init(void); +EAPI int e_dbus_shutdown(void); /* setting up the connection */ -E_DBus_Connection *e_dbus_bus_get(DBusBusType type); +EAPI E_DBus_Connection *e_dbus_bus_get(DBusBusType type); -void e_dbus_connection_ref(E_DBus_Connection *conn); -void e_dbus_connection_unref(E_DBus_Connection *conn); +EAPI void e_dbus_connection_ref(E_DBus_Connection *conn); +EAPI void e_dbus_connection_unref(E_DBus_Connection *conn); -E_DBus_Connection *e_dbus_connection_setup(DBusConnection *conn); -void e_dbus_connection_close(E_DBus_Connection *conn); +EAPI E_DBus_Connection *e_dbus_connection_setup(DBusConnection *conn); +EAPI void e_dbus_connection_close(E_DBus_Connection *conn); /* receiving method calls */ -E_DBus_Interface *e_dbus_interface_new(const char *interface); -void e_dbus_interface_ref(E_DBus_Interface *iface); -void e_dbus_interface_unref(E_DBus_Interface *iface); -void e_dbus_object_interface_attach(E_DBus_Object *obj, E_DBus_Interface *iface); -void e_dbus_object_interface_detach(E_DBus_Object *obj, E_DBus_Interface *iface); -int e_dbus_interface_method_add(E_DBus_Interface *iface, const char *member, const char *signature, const char *reply_signature, E_DBus_Method_Cb func); - -E_DBus_Object *e_dbus_object_add(E_DBus_Connection *conn, const char *object_path, void *data); -void e_dbus_object_free(E_DBus_Object *obj); -void *e_dbus_object_data_get(E_DBus_Object *obj); +EAPI E_DBus_Interface *e_dbus_interface_new(const char *interface); +EAPI void e_dbus_interface_ref(E_DBus_Interface *iface); +EAPI void e_dbus_interface_unref(E_DBus_Interface *iface); +EAPI void e_dbus_object_interface_attach(E_DBus_Object *obj, E_DBus_Interface *iface); +EAPI void e_dbus_object_interface_detach(E_DBus_Object *obj, E_DBus_Interface *iface); +EAPI int e_dbus_interface_method_add(E_DBus_Interface *iface, const char *member, const char *signature, const char *reply_signature, E_DBus_Method_Cb func); + +EAPI E_DBus_Object *e_dbus_object_add(E_DBus_Connection *conn, const char *object_path, void *data); +EAPI void e_dbus_object_free(E_DBus_Object *obj); +EAPI void *e_dbus_object_data_get(E_DBus_Object *obj); -void e_dbus_object_property_get_cb_set(E_DBus_Object *obj, E_DBus_Object_Property_Get_Cb func); -void e_dbus_object_property_set_cb_set(E_DBus_Object *obj, E_DBus_Object_Property_Set_Cb func); +EAPI void e_dbus_object_property_get_cb_set(E_DBus_Object *obj, E_DBus_Object_Property_Get_Cb func); +EAPI void e_dbus_object_property_set_cb_set(E_DBus_Object *obj, E_DBus_Object_Property_Set_Cb func); /* sending method calls */ -DBusPendingCall *e_dbus_message_send(E_DBus_Connection *conn, DBusMessage *msg, E_DBus_Method_Return_Cb cb_return, int timeout, void *data); +EAPI DBusPendingCall *e_dbus_message_send(E_DBus_Connection *conn, DBusMessage *msg, E_DBus_Method_Return_Cb cb_return, int timeout, void *data); -DBusPendingCall *e_dbus_method_call_send(E_DBus_Connection *conn, DBusMessage *msg, E_DBus_Unmarshal_Func unmarshal_func, E_DBus_Callback_Func cb_func, E_DBus_Free_Func free_func, int timeout, void *data); +EAPI DBusPendingCall *e_dbus_method_call_send(E_DBus_Connection *conn, DBusMessage *msg, E_DBus_Unmarshal_Func unmarshal_func, E_DBus_Callback_Func cb_func, E_DBus_Free_Func free_func, int timeout, void *data); /* signal receiving */ -int e_dbus_signal_init(void); -void e_dbus_signal_shutdown(void); -E_DBus_Signal_Handler *e_dbus_signal_handler_add(E_DBus_Connection *conn, const char *sender, const char *path, const char *interface, const char *member, E_DBus_Signal_Cb cb_signal, void *data); -void e_dbus_signal_handler_del(E_DBus_Connection *conn, E_DBus_Signal_Handler *sh); +EAPI E_DBus_Signal_Handler *e_dbus_signal_handler_add(E_DBus_Connection *conn, const char *sender, const char *path, const char *interface, const char *member, E_DBus_Signal_Cb cb_signal, void *data); +EAPI void e_dbus_signal_handler_del(E_DBus_Connection *conn, E_DBus_Signal_Handler *sh); /* standard dbus method calls */ -void e_dbus_request_name(E_DBus_Connection *conn, const char *name, - unsigned int flags, - E_DBus_Method_Return_Cb cb_return, - void *data); -void e_dbus_release_name(E_DBus_Connection *conn, const char *name, - E_DBus_Method_Return_Cb cb_return, - void *data); +EAPI void e_dbus_request_name(E_DBus_Connection *conn, const char *name, + unsigned int flags, + E_DBus_Method_Return_Cb cb_return, + void *data); +EAPI void e_dbus_release_name(E_DBus_Connection *conn, const char *name, + E_DBus_Method_Return_Cb cb_return, + void *data); -void e_dbus_get_name_owner(E_DBus_Connection *conn, const char *name, - E_DBus_Method_Return_Cb cb_return, - void *data); -void e_dbus_list_names(E_DBus_Connection *conn, - E_DBus_Method_Return_Cb cb_return, - void *data); -void e_dbus_list_activatable_names(E_DBus_Connection *conn, - E_DBus_Method_Return_Cb cb_return, - void *data); -void e_dbus_name_has_owner(E_DBus_Connection *conn, const char *name, - E_DBus_Method_Return_Cb cb_return, - void *data); -void e_dbus_start_service_by_name(E_DBus_Connection *conn, const char *name, - E_DBus_Method_Return_Cb cb_return, - void *data); +EAPI void e_dbus_get_name_owner(E_DBus_Connection *conn, const char *name, + E_DBus_Method_Return_Cb cb_return, + void *data); +EAPI void e_dbus_list_names(E_DBus_Connection *conn, + E_DBus_Method_Return_Cb cb_return, + void *data); +EAPI void e_dbus_list_activatable_names(E_DBus_Connection *conn, + E_DBus_Method_Return_Cb cb_return, + void *data); +EAPI void e_dbus_name_has_owner(E_DBus_Connection *conn, const char *name, + E_DBus_Method_Return_Cb cb_return, + void *data); +EAPI void e_dbus_start_service_by_name(E_DBus_Connection *conn, const char *name, + E_DBus_Method_Return_Cb cb_return, + void *data); /* standard methods calls on objects */ -void e_dbus_peer_ping(E_DBus_Connection *conn, const char *destination, - const char *path, E_DBus_Method_Return_Cb cb_return, - void *data); -void e_dbus_peer_get_machine_id(E_DBus_Connection *conn, - const char *destination, const char *path, +EAPI void e_dbus_peer_ping(E_DBus_Connection *conn, const char *destination, + const char *path, E_DBus_Method_Return_Cb cb_return, + void *data); +EAPI void e_dbus_peer_get_machine_id(E_DBus_Connection *conn, + const char *destination, const char *path, + E_DBus_Method_Return_Cb cb_return, + void *data); +EAPI void e_dbus_properties_get(E_DBus_Connection *conn, const char *destination, + const char *path, const char *interface, + const char *property, E_DBus_Method_Return_Cb cb_return, void *data); -void e_dbus_properties_get(E_DBus_Connection *conn, const char *destination, - const char *path, const char *interface, - const char *property, - E_DBus_Method_Return_Cb cb_return, - void *data); -void e_dbus_properties_set(E_DBus_Connection *conn, const char *destination, - const char *path, const char *interface, - const char *property, int value_type, - void *value, E_DBus_Method_Return_Cb cb_return, - void *data); - +EAPI void e_dbus_properties_set(E_DBus_Connection *conn, const char *destination, + const char *path, const char *interface, + const char *property, int value_type, + void *value, E_DBus_Method_Return_Cb cb_return, + void *data); -E_DBus_Callback *e_dbus_callback_new(E_DBus_Callback_Func cb_func, E_DBus_Unmarshal_Func unmarshal_func, E_DBus_Free_Func free_func, void *user_data); -void e_dbus_callback_free(E_DBus_Callback *callback); -void e_dbus_callback_call(E_DBus_Callback *cb, void *data, DBusError *error); -void *e_dbus_callback_unmarshal(E_DBus_Callback *cb, DBusMessage *msg, DBusError *err); -void e_dbus_callback_return_free(E_DBus_Callback *callback, void *data); +EAPI E_DBus_Callback *e_dbus_callback_new(E_DBus_Callback_Func cb_func, E_DBus_Unmarshal_Func unmarshal_func, E_DBus_Free_Func free_func, void *user_data); -const char *e_dbus_basic_type_as_string(int type); +EAPI void e_dbus_callback_free(E_DBus_Callback *callback); +EAPI void e_dbus_callback_call(E_DBus_Callback *cb, void *data, DBusError *error); +EAPI void *e_dbus_callback_unmarshal(E_DBus_Callback *cb, DBusMessage *msg, DBusError *err); +EAPI void e_dbus_callback_return_free(E_DBus_Callback *callback, void *data); #define DEBUG_LVL 0 #define DEBUG(lvl, ...) if (lvl <= DEBUG_LVL) printf(__VA_ARGS__) =================================================================== RCS file: /cvs/e/e17/libs/e_dbus/src/lib/dbus/e_dbus.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- e_dbus.c 29 Oct 2007 02:20:47 -0000 1.1 +++ e_dbus.c 4 Nov 2007 07:51:36 -0000 1.2 @@ -22,7 +22,7 @@ static int connection_slot = -1; static int init = 0; -int E_DBUS_EVENT_SIGNAL = 0; +EAPI int E_DBUS_EVENT_SIGNAL = 0; static E_DBus_Connection *shared_connections[2] = {NULL, NULL}; @@ -420,7 +420,7 @@ * Retrieve a connection to the bus and integrate it with the ecore main loop. * @param type the type of bus to connect to, e.g. DBUS_BUS_SYSTEM or DBUS_BUS_SESSION */ -E_DBus_Connection * +EAPI E_DBus_Connection * e_dbus_bus_get(DBusBusType type) { DBusError err; @@ -471,7 +471,7 @@ * * @param conn - a dbus connection */ -E_DBus_Connection * +EAPI E_DBus_Connection * e_dbus_connection_setup(DBusConnection *conn) { E_DBus_Connection *cd; @@ -512,7 +512,7 @@ * Close out a connection retrieved with e_dbus_bus_get() * @param conn the connection to close */ -void +EAPI void e_dbus_connection_close(E_DBus_Connection *conn) { DEBUG(5, "e_dbus_connection_close\n"); @@ -539,13 +539,13 @@ // Note: the E_DBus_Connection gets freed when the dbus_connection is cleaned up by the previous unref } -void +EAPI void e_dbus_connection_ref(E_DBus_Connection *conn) { conn->refcount++; } -void +EAPI void e_dbus_connection_unref(E_DBus_Connection *conn) { if (--(conn->refcount) == 0) e_dbus_connection_close(conn); @@ -560,7 +560,7 @@ /** * @brief Initialize e_dbus */ -int +EAPI int e_dbus_init(void) { if (++init != 1) return init; @@ -574,10 +574,11 @@ /** * Shutdown e_dbus. */ -void +EAPI int e_dbus_shutdown(void) { - if (--init) return; + if (--init) return init; e_dbus_object_shutdown(); e_dbus_signal_shutdown(); + return init; } =================================================================== RCS file: /cvs/e/e17/libs/e_dbus/src/lib/dbus/e_dbus_interfaces.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- e_dbus_interfaces.c 29 Oct 2007 02:20:47 -0000 1.1 +++ e_dbus_interfaces.c 4 Nov 2007 07:51:36 -0000 1.2 @@ -6,7 +6,7 @@ * objects on the bus should implement. */ -void +EAPI void e_dbus_peer_ping(E_DBus_Connection*conn, const char *destination, const char *path, E_DBus_Method_Return_Cb cb_return, void *data) { DBusMessage *msg; @@ -15,7 +15,7 @@ e_dbus_message_send(conn, msg, cb_return, -1, data); } -void +EAPI void e_dbus_peer_get_machine_id(E_DBus_Connection*conn, const char *destination, const char *path, E_DBus_Method_Return_Cb cb_return, void *data) { DBusMessage *msg; @@ -36,7 +36,7 @@ * @param cb_return a callback for a successful return * @param data data to pass to the callbacks */ -void +EAPI void e_dbus_properties_get(E_DBus_Connection*conn, const char *destination, const char *path, const char *interface, const char *property, E_DBus_Method_Return_Cb cb_return, void *data) { DBusMessage *msg; @@ -59,7 +59,7 @@ * @param cb_return a callback for a successful return * @param data data to pass to the callbacks */ -void +EAPI void e_dbus_properties_set(E_DBus_Connection*conn, const char *destination, const char *path, const char *interface, const char *property, int value_type, void *value, E_DBus_Method_Return_Cb cb_return, void *data) { DBusMessage *msg; =================================================================== RCS file: /cvs/e/e17/libs/e_dbus/src/lib/dbus/e_dbus_message.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- e_dbus_message.c 29 Oct 2007 02:20:47 -0000 1.1 +++ e_dbus_message.c 4 Nov 2007 07:51:37 -0000 1.2 @@ -62,7 +62,7 @@ * @param timeout A timeout in milliseconds, after which a synthetic error will be generated * @return a DBusPendingCall that can be used to cancel the current call */ -DBusPendingCall * +EAPI DBusPendingCall * e_dbus_message_send(E_DBus_Connection *conn, DBusMessage *msg, E_DBus_Method_Return_Cb cb_return, int timeout, void *data) { DBusPendingCall *pending; @@ -107,7 +107,7 @@ e_dbus_callback_free(cb); } -DBusPendingCall * +EAPI DBusPendingCall * e_dbus_method_call_send(E_DBus_Connection *conn, DBusMessage *msg, E_DBus_Unmarshal_Func unmarshal_func, E_DBus_Callback_Func cb_func, E_DBus_Free_Func free_func, int timeout, void *data) { E_DBus_Callback *cb; =================================================================== RCS file: /cvs/e/e17/libs/e_dbus/src/lib/dbus/e_dbus_methods.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- e_dbus_methods.c 29 Oct 2007 02:20:47 -0000 1.1 +++ e_dbus_methods.c 4 Nov 2007 07:51:37 -0000 1.2 @@ -1,7 +1,7 @@ #include "E_DBus.h" #include "e_dbus_private.h" -void +EAPI void e_dbus_request_name(E_DBus_Connection *conn, const char *name, unsigned int flags, E_DBus_Method_Return_Cb cb_return, void *data) { DBusMessage *msg; @@ -14,7 +14,7 @@ e_dbus_message_send(conn, msg, cb_return, -1, data); } -void +EAPI void e_dbus_release_name(E_DBus_Connection *conn, const char *name, E_DBus_Method_Return_Cb cb_return, void *data) { DBusMessage *msg; @@ -25,7 +25,7 @@ } -void +EAPI void e_dbus_get_name_owner(E_DBus_Connection *conn, const char *name, E_DBus_Method_Return_Cb cb_return, void *data) { DBusMessage *msg; @@ -35,7 +35,7 @@ e_dbus_message_send(conn, msg, cb_return, -1, data); } -void +EAPI void e_dbus_list_names(E_DBus_Connection *conn, E_DBus_Method_Return_Cb cb_return, void *data) { DBusMessage *msg; @@ -45,7 +45,7 @@ } -void +EAPI void e_dbus_list_activatable_names(E_DBus_Connection *conn, E_DBus_Method_Return_Cb cb_return, void *data) { DBusMessage *msg; @@ -54,7 +54,7 @@ e_dbus_message_send(conn, msg, cb_return, -1, data); } -void +EAPI void e_dbus_name_has_owner(E_DBus_Connection *conn, const char *name, E_DBus_Method_Return_Cb cb_return, void *data) { DBusMessage *msg; @@ -65,7 +65,7 @@ } -void +EAPI void e_dbus_start_service_by_name(E_DBus_Connection *conn, const char *name, E_DBus_Method_Return_Cb cb_return, void *data) { DBusMessage *msg; =================================================================== RCS file: /cvs/e/e17/libs/e_dbus/src/lib/dbus/e_dbus_object.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- e_dbus_object.c 29 Oct 2007 02:20:47 -0000 1.1 +++ e_dbus_object.c 4 Nov 2007 07:51:37 -0000 1.2 @@ -198,7 +198,7 @@ * @param data custom data to set on the object (retrievable via * e_dbus_object_data_get()) */ -E_DBus_Object * +EAPI E_DBus_Object * e_dbus_object_add(E_DBus_Connection *conn, const char *object_path, void *data) { E_DBus_Object *obj; @@ -229,7 +229,7 @@ * * @param obj the object to free */ -void +EAPI void e_dbus_object_free(E_DBus_Object *obj) { if (!obj) return; @@ -249,7 +249,7 @@ * @brief Fetch the data pointer for a dbus object * @param obj the dbus object */ -void * +EAPI void * e_dbus_object_data_get(E_DBus_Object *obj) { return obj->data; @@ -260,7 +260,7 @@ * @param obj the object * @param func the callback */ -void +EAPI void e_dbus_object_property_get_cb_set(E_DBus_Object *obj, E_DBus_Object_Property_Get_Cb func) { obj->cb_property_get = func; @@ -271,13 +271,13 @@ * @param obj the object * @param func the callback */ -void +EAPI void e_dbus_object_property_set_cb_set(E_DBus_Object *obj, E_DBus_Object_Property_Set_Cb func) { obj->cb_property_set = func; } -void +EAPI void e_dbus_object_interface_attach(E_DBus_Object *obj, E_DBus_Interface *iface) { e_dbus_interface_ref(iface); @@ -286,7 +286,7 @@ DEBUG(4, "e_dbus_object_interface_attach (%s, %s) ", obj->path, iface->name); } -void +EAPI void e_dbus_object_interface_detach(E_DBus_Object *obj, E_DBus_Interface *iface) { E_DBus_Interface *found; @@ -300,14 +300,14 @@ e_dbus_interface_unref(iface); } -void +EAPI void e_dbus_interface_ref(E_DBus_Interface *iface) { iface->refcount++; DEBUG(4, "e_dbus_interface_ref (%s) = %d\n", iface->name, iface->refcount); } -void +EAPI void e_dbus_interface_unref(E_DBus_Interface *iface) { DEBUG(4, "e_dbus_interface_unref (%s) = %d\n", iface->name, iface->refcount - 1); @@ -336,7 +336,7 @@ * * @return 1 if successful, 0 if failed (e.g. no memory) */ -int +EAPI int e_dbus_interface_method_add(E_DBus_Interface *iface, const char *member, const char *signature, const char *reply_signature, E_DBus_Method_Cb func) { E_DBus_Method *m; @@ -349,7 +349,7 @@ return 1; } -E_DBus_Interface * +EAPI E_DBus_Interface * e_dbus_interface_new(const char *interface) { E_DBus_Interface *iface; =================================================================== RCS file: /cvs/e/e17/libs/e_dbus/src/lib/dbus/e_dbus_private.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- e_dbus_private.h 29 Oct 2007 02:20:47 -0000 1.1 +++ e_dbus_private.h 4 Nov 2007 07:51:37 -0000 1.2 @@ -26,10 +26,15 @@ void *user_data; }; -int e_dbus_object_init(void); +int e_dbus_signal_init(void); +void e_dbus_signal_shutdown(void); +int e_dbus_object_init(void); void e_dbus_object_shutdown(void); extern int e_dbus_idler_active; void e_dbus_signal_handlers_clean(E_DBus_Connection *conn); + +const char *e_dbus_basic_type_as_string(int type); + #endif =================================================================== RCS file: /cvs/e/e17/libs/e_dbus/src/lib/dbus/e_dbus_signal.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- e_dbus_signal.c 29 Oct 2007 02:20:47 -0000 1.1 +++ e_dbus_signal.c 4 Nov 2007 07:51:37 -0000 1.2 @@ -123,7 +123,7 @@ * @param cb_signal a callback to call when the signal is received * @param data custom data to pass in to the callback */ -E_DBus_Signal_Handler * +EAPI E_DBus_Signal_Handler * e_dbus_signal_handler_add(E_DBus_Connection *conn, const char *sender, const char *path, const char *interface, const char *member, E_DBus_Signal_Cb cb_signal, void *data) { E_DBus_Signal_Handler *sh; @@ -179,7 +179,7 @@ * @param conn the dbus connection * @param sh the handler to delete */ -void +EAPI void e_dbus_signal_handler_del(E_DBus_Connection *conn, E_DBus_Signal_Handler *sh) { char match[DBUS_MAXIMUM_MATCH_RULE_LENGTH]; =================================================================== RCS file: /cvs/e/e17/libs/e_dbus/src/lib/dbus/e_dbus_util.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- e_dbus_util.c 29 Oct 2007 02:20:47 -0000 1.1 +++ e_dbus_util.c 4 Nov 2007 07:51:37 -0000 1.2 @@ -7,7 +7,7 @@ * @param cb_func the callback function * @param user_data data to pass to the callback */ -E_DBus_Callback * +EAPI E_DBus_Callback * e_dbus_callback_new(E_DBus_Callback_Func cb_func, E_DBus_Unmarshal_Func unmarshal_func, E_DBus_Free_Func free_func, void *user_data) { E_DBus_Callback *cb; @@ -28,20 +28,20 @@ * @brief Free a callback structure * @param callback the callback to free */ -void +EAPI void e_dbus_callback_free(E_DBus_Callback *callback) { free(callback); } -void +EAPI void e_dbus_callback_call(E_DBus_Callback *cb, void *data, DBusError *error) { if (cb && cb->cb_func) cb->cb_func(cb->user_data, data, error); } -void * +EAPI void * e_dbus_callback_unmarshal(E_DBus_Callback *cb, DBusMessage *msg, DBusError *err) { if (cb && cb->unmarshal_func) @@ -50,7 +50,7 @@ return NULL; } -void +EAPI void e_dbus_callback_return_free(E_DBus_Callback *cb, void *data) { if (cb && cb->free_func) ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs