From: Enlightenment S. <no-...@en...> - 2010-04-30 08:18:01
|
Log: finish char* to const char* conversion Author: discomfitor Date: 2010-04-30 01:17:53 -0700 (Fri, 30 Apr 2010) New Revision: 48461 Modified: trunk/e/src/bin/e_fm.c trunk/e/src/bin/e_fm_hal.c trunk/e/src/bin/e_fm_hal.h trunk/e/src/bin/e_fm_main.c trunk/e/src/bin/e_fm_shared.h Modified: trunk/e/src/bin/e_fm.c =================================================================== --- trunk/e/src/bin/e_fm.c 2010-04-30 07:34:57 UTC (rev 48460) +++ trunk/e/src/bin/e_fm.c 2010-04-30 08:17:53 UTC (rev 48461) @@ -1304,7 +1304,8 @@ e_fm2_parent_go(Evas_Object *obj) { E_Fm2_Smart_Data *sd; - char *path, *p; + char *p; + const char *path; sd = evas_object_smart_data_get(obj); if (!sd) return; // safety @@ -9691,7 +9692,7 @@ _e_fm2_volume_mount(void *data, E_Menu *m, E_Menu_Item *mi) { E_Volume *v; - char *mp; + const char *mp; v = data; if (!v) return; Modified: trunk/e/src/bin/e_fm_hal.c =================================================================== --- trunk/e/src/bin/e_fm_hal.c 2010-04-30 07:34:57 UTC (rev 48460) +++ trunk/e/src/bin/e_fm_hal.c 2010-04-30 08:17:53 UTC (rev 48461) @@ -144,7 +144,7 @@ if ((!v->mount_point) || (v->mount_point[0] == 0)) { char buf[PATH_MAX]; - char *id; + const char *id; if (v->mount_point) eina_stringshare_del(v->mount_point); v->mount_point = NULL; @@ -378,7 +378,7 @@ return NULL; } -EAPI char * +EAPI const char * e_fm2_hal_volume_mountpoint_get(E_Volume *v) { char buf[PATH_MAX] = {0}; Modified: trunk/e/src/bin/e_fm_hal.h =================================================================== --- trunk/e/src/bin/e_fm_hal.h 2010-04-30 07:34:57 UTC (rev 48460) +++ trunk/e/src/bin/e_fm_hal.h 2010-04-30 08:17:53 UTC (rev 48461) @@ -14,7 +14,7 @@ EAPI void e_fm2_hal_volume_add(E_Volume *s); EAPI void e_fm2_hal_volume_del(E_Volume *s); EAPI E_Volume *e_fm2_hal_volume_find(const char *udi); -EAPI char *e_fm2_hal_volume_mountpoint_get(E_Volume *v); +EAPI const char *e_fm2_hal_volume_mountpoint_get(E_Volume *v); EAPI void e_fm2_hal_mount_add(E_Volume *v, const char *mountpoint); EAPI void e_fm2_hal_mount_del(E_Volume *v); Modified: trunk/e/src/bin/e_fm_main.c =================================================================== --- trunk/e/src/bin/e_fm_main.c 2010-04-30 07:34:57 UTC (rev 48460) +++ trunk/e/src/bin/e_fm_main.c 2010-04-30 08:17:53 UTC (rev 48461) @@ -956,7 +956,7 @@ { char buf[256]; char buf2[256]; - char *mount_point; + const char *mount_point; Eina_List *opt = NULL; if (!v || v->guard || !v->mount_point || strncmp(v->mount_point, "/media/", 7)) Modified: trunk/e/src/bin/e_fm_shared.h =================================================================== --- trunk/e/src/bin/e_fm_shared.h 2010-04-30 07:34:57 UTC (rev 48460) +++ trunk/e/src/bin/e_fm_shared.h 2010-04-30 08:17:53 UTC (rev 48461) @@ -22,7 +22,7 @@ struct { - char *drive, *volume; + const char *drive, *volume; } icon; Eina_List *volumes; |
From: Enlightenment S. <no-...@en...> - 2010-04-30 08:38:17
|
Log: beginnings of the ukit migration. this time, in many many many small commits along the way to avoid breaking things! :) step 1: migrate *hal* files to *dbus* files Author: discomfitor Date: 2010-04-30 01:38:08 -0700 (Fri, 30 Apr 2010) New Revision: 48463 Added: trunk/e/src/bin/e_fm_dbus.c trunk/e/src/bin/e_fm_dbus.h Removed: trunk/e/src/bin/e_fm_hal.c trunk/e/src/bin/e_fm_hal.h Modified: trunk/e/src/bin/Makefile.am trunk/e/src/bin/e_fm.c Modified: trunk/e/src/bin/Makefile.am =================================================================== --- trunk/e/src/bin/Makefile.am 2010-04-30 08:24:55 UTC (rev 48462) +++ trunk/e/src/bin/Makefile.am 2010-04-30 08:38:08 UTC (rev 48463) @@ -133,7 +133,7 @@ e_fm.h \ e_fm_op.h \ e_fm_op_registry.h \ -e_fm_hal.h \ +e_fm_dbus.h \ e_widget_scrollframe.h \ e_sha1.h \ e_widget_fsel.h \ @@ -272,7 +272,7 @@ e_int_border_prop.c \ e_entry_dialog.c \ e_fm.c \ -e_fm_hal.c \ +e_fm_dbus.c \ e_fm_op_registry.c \ e_widget_scrollframe.c \ e_sha1.c \ Modified: trunk/e/src/bin/e_fm.c =================================================================== --- trunk/e/src/bin/e_fm.c 2010-04-30 08:24:55 UTC (rev 48462) +++ trunk/e/src/bin/e_fm.c 2010-04-30 08:38:08 UTC (rev 48463) @@ -2,7 +2,7 @@ * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 */ #include "e.h" -#include "e_fm_hal.h" +#include "e_fm_dbus.h" #include "e_fm_op.h" #define OVERCLIP 128 |
From: Enlightenment S. <no-...@en...> - 2010-04-30 19:13:37
|
Log: check for hash table before freeing it which cause eina to get angry on e restart. don't make eina angry. you wouldn't like eina when it's angry. Author: discomfitor Date: 2010-04-30 12:13:30 -0700 (Fri, 30 Apr 2010) New Revision: 48487 Modified: trunk/e/src/bin/e_menu.c Modified: trunk/e/src/bin/e_menu.c =================================================================== --- trunk/e/src/bin/e_menu.c 2010-04-30 18:11:27 UTC (rev 48486) +++ trunk/e/src/bin/e_menu.c 2010-04-30 19:13:30 UTC (rev 48487) @@ -1763,7 +1763,8 @@ ecore_evas_free(m->ecore_evas); m->ecore_evas = NULL; m->evas = NULL; - eina_hash_del(_e_menu_hash, e_util_winid_str_get(m->evas_win), m); + if (_e_menu_hash) + eina_hash_del(_e_menu_hash, e_util_winid_str_get(m->evas_win), m); m->evas_win = 0; } |
From: Enlightenment S. <no-...@en...> - 2010-04-30 19:30:41
|
Log: step 4.5: also increment this to avoid blowing away configs Author: discomfitor Date: 2010-04-30 12:30:35 -0700 (Fri, 30 Apr 2010) New Revision: 48490 Modified: trunk/e/src/bin/e_config.h Modified: trunk/e/src/bin/e_config.h =================================================================== --- trunk/e/src/bin/e_config.h 2010-04-30 19:23:25 UTC (rev 48489) +++ trunk/e/src/bin/e_config.h 2010-04-30 19:30:35 UTC (rev 48490) @@ -35,7 +35,7 @@ /* increment this whenever a new set of config values are added but the users * config doesn't need to be wiped - simply new values need to be put in */ -#define E_CONFIG_FILE_GENERATION 0x0134 +#define E_CONFIG_FILE_GENERATION 0x0135 #define E_CONFIG_FILE_VERSION ((E_CONFIG_FILE_EPOCH << 16) | E_CONFIG_FILE_GENERATION) #define E_EVAS_ENGINE_DEFAULT 0 |
From: Enlightenment S. <no-...@en...> - 2010-06-01 15:34:04
|
Log: change efm functionality to account for hal not being present. previously on startup, efm sent dbus messages to nonexistent hal object paths, setting up watches and handlers (but not actually setting them up since hal didn't exist). now we test for hal presence through introspection call and set up handlers only if hal is present. otherwise set a poller to call introspect on hal every 30 seconds and then set up handlers if hal is later detected note: this commit message is excessively long. Author: discomfitor Date: 2010-06-01 08:33:56 -0700 (Tue, 01 Jun 2010) New Revision: 49373 Modified: trunk/e/src/bin/e_fm_main.c Modified: trunk/e/src/bin/e_fm_main.c =================================================================== --- trunk/e/src/bin/e_fm_main.c 2010-06-01 14:35:19 UTC (rev 49372) +++ trunk/e/src/bin/e_fm_main.c 2010-06-01 15:33:56 UTC (rev 49373) @@ -220,11 +220,15 @@ static int _e_dbus_vb_vol_ejecting_after_unmount(void *data); static void _e_dbus_cb_vol_ejected(void *user_data, void *method_return, DBusError *error); static int _e_dbus_format_error_msg(char **buf, E_Volume *v, DBusError *error); +static void _hal_test(void *data, DBusMessage *msg, DBusError *error); +static int _e_hal_poll(void *data); static int _e_dbus_vol_mount_timeout(void *data); static int _e_dbus_vol_unmount_timeout(void *data); static int _e_dbus_vol_eject_timeout(void *data); + + EAPI E_Storage *e_storage_add(const char *udi); EAPI void e_storage_del(const char *udi); EAPI E_Storage *e_storage_find(const char *udi); @@ -239,7 +243,7 @@ /* local subsystem globals */ static Ecore_Ipc_Server *_e_ipc_server = NULL; - +static Ecore_Poller *_hal_poll = NULL; static Eina_List *_e_dirs = NULL; static Eina_List *_e_fops = NULL; static int _e_sync_num = 0; @@ -285,58 +289,83 @@ ecore_init(); eina_init(); ecore_app_args_set(argc, (const char **)argv); - ecore_file_init(); - ecore_ipc_init(); - ecore_event_handler_add(ECORE_EXE_EVENT_DATA, _e_fm_slave_data_cb, NULL); - ecore_event_handler_add(ECORE_EXE_EVENT_ERROR, _e_fm_slave_error_cb, NULL); - ecore_event_handler_add(ECORE_EXE_EVENT_DEL, _e_fm_slave_del_cb, NULL); - - _e_storage_volume_edd_init(); e_dbus_init(); e_hal_init(); _e_dbus_conn = e_dbus_bus_get(DBUS_BUS_SYSTEM); + /* previously, this assumed that if dbus was running, hal was running. */ if (_e_dbus_conn) - { - e_hal_manager_get_all_devices(_e_dbus_conn, _e_dbus_cb_dev_all, NULL); - e_hal_manager_find_device_by_capability(_e_dbus_conn, "storage", - _e_dbus_cb_dev_store, NULL); - e_hal_manager_find_device_by_capability(_e_dbus_conn, "volume", - _e_dbus_cb_dev_vol, NULL); - - e_dbus_signal_handler_add(_e_dbus_conn, E_HAL_SENDER, - E_HAL_MANAGER_PATH, - E_HAL_MANAGER_INTERFACE, - "DeviceAdded", _e_dbus_cb_dev_add, NULL); - e_dbus_signal_handler_add(_e_dbus_conn, E_HAL_SENDER, - E_HAL_MANAGER_PATH, - E_HAL_MANAGER_INTERFACE, - "DeviceRemoved", _e_dbus_cb_dev_del, NULL); - e_dbus_signal_handler_add(_e_dbus_conn, E_HAL_SENDER, - E_HAL_MANAGER_PATH, - E_HAL_MANAGER_INTERFACE, - "NewCapability", _e_dbus_cb_cap_add, NULL); - } + e_dbus_introspect(_e_dbus_conn, E_HAL_SENDER, E_HAL_MANAGER_PATH, _hal_test, NULL); + + ecore_file_init(); + ecore_ipc_init(); + _e_storage_volume_edd_init(); + _e_ipc_init(); - if (_e_ipc_init()) ecore_main_loop_begin(); + ecore_event_handler_add(ECORE_EXE_EVENT_DATA, _e_fm_slave_data_cb, NULL); + ecore_event_handler_add(ECORE_EXE_EVENT_ERROR, _e_fm_slave_error_cb, NULL); + ecore_event_handler_add(ECORE_EXE_EVENT_DEL, _e_fm_slave_del_cb, NULL); + ecore_main_loop_begin(); + if (_e_ipc_server) { - ecore_ipc_server_del(_e_ipc_server); - _e_ipc_server = NULL; + ecore_ipc_server_del(_e_ipc_server); + _e_ipc_server = NULL; } - if (_e_dbus_conn) e_dbus_connection_close(_e_dbus_conn); - e_hal_shutdown(); - e_dbus_shutdown(); + if (_e_dbus_conn) + e_dbus_connection_close(_e_dbus_conn); _e_storage_volume_edd_shutdown(); ecore_ipc_shutdown(); ecore_file_shutdown(); + e_hal_shutdown(); + e_dbus_shutdown(); eina_shutdown(); ecore_shutdown(); +} + +static int +_e_hal_poll(void *data) +{ + e_dbus_introspect(_e_dbus_conn, E_HAL_SENDER, E_HAL_MANAGER_PATH, _hal_test, NULL); + return 1; +} + +static void +_hal_test(void *data, DBusMessage *msg, DBusError *error) +{ + + if (dbus_error_is_set(error)) + { + dbus_error_free(error); + if (!_hal_poll) + _hal_poll = ecore_poller_add(ECORE_POLLER_CORE, 256, _e_hal_poll, NULL); + return; + } + if (_hal_poll) + _hal_poll = ecore_poller_del(_hal_poll); + + + e_hal_manager_get_all_devices(_e_dbus_conn, _e_dbus_cb_dev_all, NULL); + e_hal_manager_find_device_by_capability(_e_dbus_conn, "storage", + _e_dbus_cb_dev_store, NULL); + e_hal_manager_find_device_by_capability(_e_dbus_conn, "volume", + _e_dbus_cb_dev_vol, NULL); - return 0; + e_dbus_signal_handler_add(_e_dbus_conn, E_HAL_SENDER, + E_HAL_MANAGER_PATH, + E_HAL_MANAGER_INTERFACE, + "DeviceAdded", _e_dbus_cb_dev_add, NULL); + e_dbus_signal_handler_add(_e_dbus_conn, E_HAL_SENDER, + E_HAL_MANAGER_PATH, + E_HAL_MANAGER_INTERFACE, + "DeviceRemoved", _e_dbus_cb_dev_del, NULL); + e_dbus_signal_handler_add(_e_dbus_conn, E_HAL_SENDER, + E_HAL_MANAGER_PATH, + E_HAL_MANAGER_INTERFACE, + "NewCapability", _e_dbus_cb_cap_add, NULL); } static void @@ -1187,17 +1216,17 @@ sdir = getenv("E_IPC_SOCKET"); if (!sdir) { - printf("The E_IPC_SOCKET environment variable is not set. This is\n" - "exported by Enlightenment to all processes it launches.\n" - "This environment variable must be set and must point to\n" - "Enlightenment's IPC socket file (minus port number).\n"); - return 0; + printf("The E_IPC_SOCKET environment variable is not set. This is\n" + "exported by Enlightenment to all processes it launches.\n" + "This environment variable must be set and must point to\n" + "Enlightenment's IPC socket file (minus port number).\n"); + return 0; } _e_ipc_server = ecore_ipc_server_connect(ECORE_IPC_LOCAL_SYSTEM, sdir, 0, NULL); if (!_e_ipc_server) { - printf("Cannot connect to enlightenment - abort\n"); - return 0; + printf("Cannot connect to enlightenment - abort\n"); + return 0; } ecore_event_handler_add(ECORE_IPC_EVENT_SERVER_ADD, _e_ipc_cb_server_add, NULL); |
From: Enlightenment S. <no-...@en...> - 2010-06-02 03:23:56
|
Log: add header, fix compile warning when printing int64 (use PRIi64) Author: discomfitor Date: 2010-06-01 20:23:49 -0700 (Tue, 01 Jun 2010) New Revision: 49388 Modified: trunk/e/src/bin/e.h trunk/e/src/bin/e_fm.c Modified: trunk/e/src/bin/e.h =================================================================== --- trunk/e/src/bin/e.h 2010-06-02 00:19:38 UTC (rev 49387) +++ trunk/e/src/bin/e.h 2010-06-02 03:23:49 UTC (rev 49388) @@ -62,6 +62,7 @@ #include <libintl.h> #include <errno.h> #include <signal.h> +#include <inttypes.h> #ifndef _POSIX_HOST_NAME_MAX #define _POSIX_HOST_NAME_MAX 255 Modified: trunk/e/src/bin/e_fm.c =================================================================== --- trunk/e/src/bin/e_fm.c 2010-06-02 00:19:38 UTC (rev 49387) +++ trunk/e/src/bin/e_fm.c 2010-06-02 03:23:49 UTC (rev 49388) @@ -640,7 +640,7 @@ status = status_strings[0]; printf("id: %8d, op: %2d [%s] finished: %hhu, needs_attention: %hhu\n" - " %3d%% (%lld/%lld), start_time: %10.0f, eta: %5ds, xwin: %#x\n" + " %3d%% (%"PRIi64"/%"PRIi64"), start_time: %10.0f, eta: %5ds, xwin: %#x\n" " src=[%s]\n" " dst=[%s]\n", ere->id, ere->op, status, ere->finished, ere->needs_attention, |
From: Enlightenment S. <no-...@en...> - 2010-06-02 03:42:11
|
Log: change hal poller to a dbus signal handler Author: discomfitor Date: 2010-06-01 20:42:03 -0700 (Tue, 01 Jun 2010) New Revision: 49389 Modified: trunk/e/src/bin/e_fm_main.c Modified: trunk/e/src/bin/e_fm_main.c =================================================================== --- trunk/e/src/bin/e_fm_main.c 2010-06-02 03:23:49 UTC (rev 49388) +++ trunk/e/src/bin/e_fm_main.c 2010-06-02 03:42:03 UTC (rev 49389) @@ -221,7 +221,7 @@ static void _e_dbus_cb_vol_ejected(void *user_data, void *method_return, DBusError *error); static int _e_dbus_format_error_msg(char **buf, E_Volume *v, DBusError *error); static void _hal_test(void *data, DBusMessage *msg, DBusError *error); -static int _e_hal_poll(void *data); +static void _e_hal_poll(void *data, DBusMessage *msg); static int _e_dbus_vol_mount_timeout(void *data); static int _e_dbus_vol_unmount_timeout(void *data); @@ -243,7 +243,7 @@ /* local subsystem globals */ static Ecore_Ipc_Server *_e_ipc_server = NULL; -static Ecore_Poller *_hal_poll = NULL; +static E_DBus_Signal_Handler *_hal_poll = NULL; static Eina_List *_e_dirs = NULL; static Eina_List *_e_fops = NULL; static int _e_sync_num = 0; @@ -295,7 +295,7 @@ _e_dbus_conn = e_dbus_bus_get(DBUS_BUS_SYSTEM); /* previously, this assumed that if dbus was running, hal was running. */ if (_e_dbus_conn) - e_dbus_introspect(_e_dbus_conn, E_HAL_SENDER, E_HAL_MANAGER_PATH, _hal_test, NULL); + e_dbus_get_name_owner(_e_dbus_conn, E_HAL_SENDER, _hal_test, NULL); ecore_file_init(); ecore_ipc_init(); @@ -326,26 +326,40 @@ ecore_shutdown(); } -static int -_e_hal_poll(void *data) +static void +_e_hal_poll(void *data, DBusMessage *msg) { - e_dbus_introspect(_e_dbus_conn, E_HAL_SENDER, E_HAL_MANAGER_PATH, _hal_test, NULL); - return 1; + DBusError err; + const char *name, *from, *to; + + dbus_error_init(&err); + if (!dbus_message_get_args(msg, &err, + DBUS_TYPE_STRING, &name, + DBUS_TYPE_STRING, &from, + DBUS_TYPE_STRING, &to, + DBUS_TYPE_INVALID)) + dbus_error_free(&err); + + printf("name: %s\nfrom: %s\nto: %s\n", name, from, to); + if ((name) && !strcmp(name, E_HAL_SENDER)) + _hal_test(NULL, NULL, NULL); } static void _hal_test(void *data, DBusMessage *msg, DBusError *error) { - if (dbus_error_is_set(error)) + if ((error) && (dbus_error_is_set(error))) { dbus_error_free(error); if (!_hal_poll) - _hal_poll = ecore_poller_add(ECORE_POLLER_CORE, 256, _e_hal_poll, NULL); + _hal_poll = e_dbus_signal_handler_add(_e_dbus_conn, + E_DBUS_FDO_BUS, E_DBUS_FDO_PATH, E_DBUS_FDO_INTERFACE, + "NameOwnerChanged", _e_hal_poll, NULL); return; } if (_hal_poll) - _hal_poll = ecore_poller_del(_hal_poll); + e_dbus_signal_handler_del(_e_dbus_conn, _hal_poll); e_hal_manager_get_all_devices(_e_dbus_conn, _e_dbus_cb_dev_all, NULL); |
From: Enlightenment S. <no-...@en...> - 2010-07-24 02:11:36
|
Log: e_dbus_object_interface_attach refs interfaces, so you have to unref the interface right after to avoid leaks as seen here Author: discomfitor Date: 2010-07-23 19:11:30 -0700 (Fri, 23 Jul 2010) New Revision: 50471 Modified: trunk/e/src/bin/e_msgbus.c Modified: trunk/e/src/bin/e_msgbus.c =================================================================== --- trunk/e/src/bin/e_msgbus.c 2010-07-24 02:05:35 UTC (rev 50470) +++ trunk/e/src/bin/e_msgbus.c 2010-07-24 02:11:30 UTC (rev 50471) @@ -52,6 +52,7 @@ return 0; } e_dbus_object_interface_attach(_e_msgbus_data->obj, iface); + e_dbus_interface_unref(iface); /* Hardcore methods */ e_dbus_interface_method_add(iface, "Restart", "", "", _e_msgbus_core_restart_cb); @@ -64,6 +65,7 @@ return 0; } e_dbus_object_interface_attach(_e_msgbus_data->obj, iface); + e_dbus_interface_unref(iface); /* Module methods */ e_dbus_interface_method_add(iface, "Load", "s", "", _e_msgbus_module_load_cb); @@ -79,6 +81,7 @@ return 0; } e_dbus_object_interface_attach(_e_msgbus_data->obj, iface); + e_dbus_interface_unref(iface); /* Profile methods */ e_dbus_interface_method_add(iface, "Set", "s", "", _e_msgbus_profile_set_cb); |
From: Enlightenment S. <no-...@en...> - 2010-08-04 04:34:10
|
Log: probably workaround hal bugs on freebsd Author: discomfitor Date: 2010-08-03 21:34:03 -0700 (Tue, 03 Aug 2010) New Revision: 50804 Modified: trunk/e/src/bin/e_fm_main.c Modified: trunk/e/src/bin/e_fm_main.c =================================================================== --- trunk/e/src/bin/e_fm_main.c 2010-08-04 02:55:20 UTC (rev 50803) +++ trunk/e/src/bin/e_fm_main.c 2010-08-04 04:34:03 UTC (rev 50804) @@ -1029,8 +1029,10 @@ (!strcmp(v->fstype, "ntfs")) ) { +#if !defined(__FreeBSD__) snprintf(buf, sizeof(buf), "uid=%i", (int)getuid()); opt = eina_list_append(opt, buf); +#endif } if ((!strcmp(v->fstype, "vfat")) || |
From: Enlightenment S. <no-...@en...> - 2010-09-03 03:26:29
|
Log: error messages: now in english! Author: discomfitor Date: 2010-09-02 20:26:22 -0700 (Thu, 02 Sep 2010) New Revision: 51854 Modified: trunk/e/src/bin/e_int_config_modules.c Modified: trunk/e/src/bin/e_int_config_modules.c =================================================================== --- trunk/e/src/bin/e_int_config_modules.c 2010-09-03 00:33:46 UTC (rev 51853) +++ trunk/e/src/bin/e_int_config_modules.c 2010-09-03 03:26:22 UTC (rev 51854) @@ -511,7 +511,7 @@ } else { - EINA_LOG_ERR("your theme misses 'e/widgets/ilist/toggle_end'!"); + EINA_LOG_ERR("your theme is missing 'e/widgets/ilist/toggle_end'!"); evas_object_del(end); end = NULL; } |
From: Enlightenment S. <no-...@en...> - 2010-09-04 06:05:42
|
Log: try fix broken vim formatting: VIM TABS ARE WRONG! I WILL SEND NINJAS AFTER THE NEXT PERSON WHO USES THEM!!! Author: discomfitor Date: 2010-09-03 23:05:32 -0700 (Fri, 03 Sep 2010) New Revision: 51879 Modified: trunk/e/src/bin/e_border.c trunk/e/src/bin/e_border.h Modified: trunk/e/src/bin/e_border.c =================================================================== --- trunk/e/src/bin/e_border.c 2010-09-04 05:40:38 UTC (rev 51878) +++ trunk/e/src/bin/e_border.c 2010-09-04 06:05:32 UTC (rev 51879) @@ -1572,7 +1572,7 @@ /* * this causes problems as the grab can cause an in/out event (by grab) that * normally would be like a grab from a menu or something else and e gets into - * a slef-feeding loop. sorry - can't grab :( + * a self-feeding loop. sorry - can't grab :( if (!ecore_x_pointer_grab(bd->zone->container->win)) return; */ Modified: trunk/e/src/bin/e_border.h =================================================================== --- trunk/e/src/bin/e_border.h 2010-09-04 05:40:38 UTC (rev 51878) +++ trunk/e/src/bin/e_border.h 2010-09-04 06:05:32 UTC (rev 51879) @@ -114,7 +114,7 @@ typedef struct _E_Event_Border_Stack E_Event_Border_Stack; typedef struct _E_Event_Border_Simple E_Event_Border_Icon_Change; typedef struct _E_Event_Border_Simple E_Event_Border_Urgent_Change; -typedef struct _E_Event_Border_Simple E_Event_Border_Focus_In; +typedef struct _E_Event_Border_Simple E_Event_Border_Focus_In; typedef struct _E_Event_Border_Simple E_Event_Border_Focus_Out; typedef struct _E_Event_Border_Simple E_Event_Border_Property; typedef struct _E_Event_Border_Simple E_Event_Border_Fullscreen; @@ -132,16 +132,16 @@ struct { struct { - int x, y, w, h; - int mx, my; + int x, y, w, h; + int mx, my; } current, last_down[3], last_up[3]; } mouse; struct { struct { - int x, y, w, h; - int mx, my; - int button; + int x, y, w, h; + int mx, my; + int button; } down; } moveinfo; @@ -155,8 +155,8 @@ struct { int x, y; struct { - int x, y; - double t; + int x, y; + double t; } start; } fx; @@ -180,9 +180,9 @@ int x, y, w, h; struct { - unsigned char changed : 1; - unsigned char user_selected : 1; - const char *name; + unsigned char changed : 1; + unsigned char user_selected : 1; + const char *name; } border; unsigned char shaped : 1; @@ -190,178 +190,179 @@ /* ICCCM */ struct { - char *title; - char *name; - char *class; - char *icon_name; - char *machine; - int min_w, min_h; - int max_w, max_h; - int base_w, base_h; - int step_w, step_h; - int start_x, start_y; - double min_aspect, max_aspect; - Ecore_X_Window_State_Hint initial_state; - Ecore_X_Window_State_Hint state; - Ecore_X_Pixmap icon_pixmap; - Ecore_X_Pixmap icon_mask; - Ecore_X_Window icon_window; - Ecore_X_Window window_group; - Ecore_X_Window transient_for; - Ecore_X_Window client_leader; - Ecore_X_Gravity gravity; - char *window_role; - unsigned char take_focus : 1; - unsigned char accepts_focus : 1; - unsigned char urgent : 1; - unsigned char delete_request : 1; - unsigned char request_pos : 1; - struct { - int argc; - char **argv; - } command; - struct { - unsigned char title : 1; - unsigned char name_class : 1; - unsigned char icon_name : 1; - unsigned char machine : 1; - unsigned char hints : 1; - unsigned char size_pos_hints : 1; - unsigned char protocol : 1; - unsigned char transient_for : 1; - unsigned char client_leader : 1; - unsigned char window_role : 1; - unsigned char state : 1; - unsigned char command : 1; - } fetch; + char *title; + char *name; + char *class; + char *icon_name; + char *machine; + int min_w, min_h; + int max_w, max_h; + int base_w, base_h; + int step_w, step_h; + int start_x, start_y; + double min_aspect, max_aspect; + Ecore_X_Window_State_Hint initial_state; + Ecore_X_Window_State_Hint state; + Ecore_X_Pixmap icon_pixmap; + Ecore_X_Pixmap icon_mask; + Ecore_X_Window icon_window; + Ecore_X_Window window_group; + Ecore_X_Window transient_for; + Ecore_X_Window client_leader; + Ecore_X_Gravity gravity; + char *window_role; + unsigned char take_focus : 1; + unsigned char accepts_focus : 1; + unsigned char urgent : 1; + unsigned char delete_request : 1; + unsigned char request_pos : 1; + struct { + int argc; + char **argv; + } command; + struct { + unsigned char title : 1; + unsigned char name_class : 1; + unsigned char icon_name : 1; + unsigned char machine : 1; + unsigned char hints : 1; + unsigned char size_pos_hints : 1; + unsigned char protocol : 1; + unsigned char transient_for : 1; + unsigned char client_leader : 1; + unsigned char window_role : 1; + unsigned char state : 1; + unsigned char command : 1; + } fetch; } icccm; /* MWM */ struct { - Ecore_X_MWM_Hint_Func func; - Ecore_X_MWM_Hint_Decor decor; - Ecore_X_MWM_Hint_Input input; - unsigned char exists : 1; - unsigned char borderless : 1; - struct { - unsigned char hints : 1; - } fetch; + Ecore_X_MWM_Hint_Func func; + Ecore_X_MWM_Hint_Decor decor; + Ecore_X_MWM_Hint_Input input; + unsigned char exists : 1; + unsigned char borderless : 1; + struct { + unsigned char hints : 1; + } fetch; } mwm; /* NetWM */ struct { - pid_t pid; - unsigned int desktop; - char *name; - char *icon_name; - Ecore_X_Icon *icons; - int num_icons; - unsigned int user_time; - struct { - int left; - int right; - int top; - int bottom; - int left_start_y; - int left_end_y; - int right_start_y; - int right_end_y; - int top_start_x; - int top_end_x; - int bottom_start_x; - int bottom_end_x; - } strut; - unsigned char ping : 1; - struct { - unsigned char request : 1; - unsigned int wait; - Ecore_X_Sync_Alarm alarm; - Ecore_X_Sync_Counter counter; - unsigned int serial; - double send_time; - } sync; + pid_t pid; + unsigned int desktop; + char *name; + char *icon_name; + Ecore_X_Icon *icons; + int num_icons; + unsigned int user_time; + struct { + int left; + int right; + int top; + int bottom; + int left_start_y; + int left_end_y; + int right_start_y; + int right_end_y; + int top_start_x; + int top_end_x; + int bottom_start_x; + int bottom_end_x; + } strut; + unsigned char ping : 1; + struct { + unsigned char request : 1; + unsigned int wait; + Ecore_X_Sync_Alarm alarm; + Ecore_X_Sync_Counter counter; + unsigned int serial; + double send_time; + } sync; - /* NetWM Window state */ - struct { - unsigned char modal : 1; - unsigned char sticky : 1; - unsigned char maximized_v : 1; - unsigned char maximized_h : 1; - unsigned char shaded : 1; - unsigned char skip_taskbar : 1; - unsigned char skip_pager : 1; - unsigned char hidden : 1; - unsigned char fullscreen : 1; - E_Stacking stacking; - } state; - - /* NetWM Window allowed actions */ + /* NetWM Window state */ struct { - unsigned char move : 1; - unsigned char resize : 1; - unsigned char minimize : 1; - unsigned char shade : 1; - unsigned char stick : 1; + unsigned char modal : 1; + unsigned char sticky : 1; + unsigned char maximized_v : 1; unsigned char maximized_h : 1; - unsigned char maximized_v : 1; + unsigned char shaded : 1; + unsigned char skip_taskbar : 1; + unsigned char skip_pager : 1; + unsigned char hidden : 1; unsigned char fullscreen : 1; - unsigned char change_desktop : 1; - unsigned char close : 1; - } action; + E_Stacking stacking; + } state; - Ecore_X_Window_Type type; - Ecore_X_Window_Type *extra_types; - int extra_types_num; - int startup_id; + /* NetWM Window allowed actions */ + struct { + unsigned char move : 1; + unsigned char resize : 1; + unsigned char minimize : 1; + unsigned char shade : 1; + unsigned char stick : 1; + unsigned char maximized_h : 1; + unsigned char maximized_v : 1; + unsigned char fullscreen : 1; + unsigned char change_desktop : 1; + unsigned char close : 1; + } action; - struct { - unsigned char name : 1; - unsigned char icon_name : 1; - unsigned char icon : 1; - unsigned char user_time : 1; - unsigned char strut : 1; - unsigned char type : 1; - unsigned char state : 1; - /* No, fetch on new_client, shouldn't be changed after map. - unsigned char pid : 1; - */ - /* No, ignore this - unsigned char desktop : 1; - */ - } fetch; + Ecore_X_Window_Type type; + Ecore_X_Window_Type *extra_types; + int extra_types_num; + int startup_id; - struct { - unsigned char state : 1; - } update; + struct { + unsigned char name : 1; + unsigned char icon_name : 1; + unsigned char icon : 1; + unsigned char user_time : 1; + unsigned char strut : 1; + unsigned char type : 1; + unsigned char state : 1; + /* No, fetch on new_client, shouldn't be changed after map. + unsigned char pid : 1; + */ + /* No, ignore this + unsigned char desktop : 1; + */ + } fetch; + + struct { + unsigned char state : 1; + } update; } netwm; /* Extra e stuff */ struct { - struct { - unsigned char centered : 1; - } state; + struct { + unsigned char centered : 1; + } state; - struct { - unsigned char state : 1; - } fetch; + struct { + unsigned char state : 1; + } fetch; } e; struct { - struct { - unsigned char soft_menu : 1; - unsigned char soft_menus : 1; - } fetch; - - unsigned char soft_menu : 1; - unsigned char soft_menus : 1; + struct { + unsigned char soft_menu : 1; + unsigned char soft_menus : 1; + } fetch; + + unsigned char soft_menu : 1; + unsigned char soft_menus : 1; } qtopia; + struct { - struct { - unsigned char state : 1; - unsigned char vkbd : 1; - } fetch; - Ecore_X_Virtual_Keyboard_State state; - unsigned char vkbd : 1; + struct { + unsigned char state : 1; + unsigned char vkbd : 1; + } fetch; + Ecore_X_Virtual_Keyboard_State state; + unsigned char vkbd : 1; } vkbd; struct @@ -492,7 +493,7 @@ unsigned char valid : 1; int x, y, w, h; struct { - int x, y, w, h; + int x, y, w, h; } saved; } pre_res_change; |
From: Enlightenment S. <no-...@en...> - 2010-09-04 06:24:57
|
Log: I give up. vim is too big and too stupid for me to fight Author: discomfitor Date: 2010-09-03 23:24:49 -0700 (Fri, 03 Sep 2010) New Revision: 51880 Modified: trunk/e/src/bin/e_border.c Modified: trunk/e/src/bin/e_border.c =================================================================== --- trunk/e/src/bin/e_border.c 2010-09-04 06:05:32 UTC (rev 51879) +++ trunk/e/src/bin/e_border.c 2010-09-04 06:24:49 UTC (rev 51880) @@ -250,8 +250,8 @@ bd->win = ecore_x_window_manager_argb_new(con->win, 0, 0, bd->w, bd->h); else { - bd->win = ecore_x_window_override_new(con->win, 0, 0, bd->w, bd->h); - ecore_x_window_shape_events_select(bd->win, 1); + bd->win = ecore_x_window_override_new(con->win, 0, 0, bd->w, bd->h); + ecore_x_window_shape_events_select(bd->win, 1); } e_bindings_mouse_grab(E_BINDING_CONTEXT_BORDER, bd->win); e_bindings_wheel_grab(E_BINDING_CONTEXT_BORDER, bd->win); @@ -276,15 +276,15 @@ att = &bd->client.initial_attributes; if ((!ecore_x_window_attributes_get(win, att)) || (att->input_only)) { -// printf("##- ATTR FETCH FAILED/INPUT ONLY FOR 0x%x - ABORT MANAGE\n", win); - e_canvas_del(bd->bg_ecore_evas); - ecore_evas_free(bd->bg_ecore_evas); - ecore_x_window_free(bd->client.shell_win); - e_bindings_mouse_ungrab(E_BINDING_CONTEXT_BORDER, bd->win); - e_bindings_wheel_ungrab(E_BINDING_CONTEXT_BORDER, bd->win); - ecore_x_window_free(bd->win); - free(bd); - return NULL; + // printf("##- ATTR FETCH FAILED/INPUT ONLY FOR 0x%x - ABORT MANAGE\n", win); + e_canvas_del(bd->bg_ecore_evas); + ecore_evas_free(bd->bg_ecore_evas); + ecore_x_window_free(bd->client.shell_win); + e_bindings_mouse_ungrab(E_BINDING_CONTEXT_BORDER, bd->win); + e_bindings_wheel_ungrab(E_BINDING_CONTEXT_BORDER, bd->win); + ecore_x_window_free(bd->win); + free(bd); + return NULL; } /* printf("##- ON MAP CLIENT 0x%x SIZE %ix%i %i:%i\n", @@ -295,13 +295,13 @@ * create a border for it */ if (first_map) { - // printf("##- FIRST MAP\n"); - bd->x = att->x; - bd->y = att->y; - bd->changes.pos = 1; - bd->re_manage = 1; - // needed to be 1 for internal windw and on restart. - // bd->ignore_first_unmap = 2; + // printf("##- FIRST MAP\n"); + bd->x = att->x; + bd->y = att->y; + bd->changes.pos = 1; + bd->re_manage = 1; + // needed to be 1 for internal windw and on restart. + // bd->ignore_first_unmap = 2; } bd->client.win = win; @@ -360,128 +360,128 @@ bd->client.netwm.type = ECORE_X_WINDOW_TYPE_UNKNOWN; { - int at_num = 0, i; - Ecore_X_Atom *atoms; + int at_num = 0, i; + Ecore_X_Atom *atoms; - atoms = ecore_x_window_prop_list(bd->client.win, &at_num); - bd->client.icccm.fetch.command = 1; - if (atoms) - { - /* icccm */ - for (i = 0; i < at_num; i++) - { - if (atoms[i] == ECORE_X_ATOM_WM_NAME) - bd->client.icccm.fetch.title = 1; - else if (atoms[i] == ECORE_X_ATOM_WM_CLASS) - bd->client.icccm.fetch.name_class = 1; - else if (atoms[i] == ECORE_X_ATOM_WM_ICON_NAME) - bd->client.icccm.fetch.icon_name = 1; - else if (atoms[i] == ECORE_X_ATOM_WM_CLIENT_MACHINE) - bd->client.icccm.fetch.machine = 1; - else if (atoms[i] == ECORE_X_ATOM_WM_HINTS) - bd->client.icccm.fetch.hints = 1; - else if (atoms[i] == ECORE_X_ATOM_WM_NORMAL_HINTS) - bd->client.icccm.fetch.size_pos_hints = 1; - else if (atoms[i] == ECORE_X_ATOM_WM_PROTOCOLS) - bd->client.icccm.fetch.protocol = 1; - else if (atoms[i] == ECORE_X_ATOM_MOTIF_WM_HINTS) - bd->client.mwm.fetch.hints = 1; - else if (atoms[i] == ECORE_X_ATOM_WM_TRANSIENT_FOR) - { - bd->client.icccm.fetch.transient_for = 1; - bd->client.netwm.fetch.type = 1; - } - else if (atoms[i] == ECORE_X_ATOM_WM_CLIENT_LEADER) - bd->client.icccm.fetch.client_leader = 1; - else if (atoms[i] == ECORE_X_ATOM_WM_WINDOW_ROLE) - bd->client.icccm.fetch.window_role = 1; - else if (atoms[i] == ECORE_X_ATOM_WM_STATE) - bd->client.icccm.fetch.state = 1; - } - /* netwm, loop again, netwm will ignore some icccm, so we - * have to be sure that netwm is checked after */ - for (i = 0; i < at_num; i++) - { - if (atoms[i] == ECORE_X_ATOM_NET_WM_NAME) - { - /* Ignore icccm */ - bd->client.icccm.fetch.title = 0; - bd->client.netwm.fetch.name = 1; - } - else if (atoms[i] == ECORE_X_ATOM_NET_WM_ICON_NAME) - { - /* Ignore icccm */ - bd->client.icccm.fetch.icon_name = 0; - bd->client.netwm.fetch.icon_name = 1; - } - else if (atoms[i] == ECORE_X_ATOM_NET_WM_ICON) - { - bd->client.netwm.fetch.icon = 1; - } - else if (atoms[i] == ECORE_X_ATOM_NET_WM_USER_TIME) - { - bd->client.netwm.fetch.user_time = 1; - } - else if (atoms[i] == ECORE_X_ATOM_NET_WM_STRUT) - { - printf("ECORE_X_ATOM_NET_WM_STRUT\n"); - bd->client.netwm.fetch.strut = 1; - } - else if (atoms[i] == ECORE_X_ATOM_NET_WM_STRUT_PARTIAL) - { - printf("ECORE_X_ATOM_NET_WM_STRUT_PARTIAL\n"); - bd->client.netwm.fetch.strut = 1; - } - else if (atoms[i] == ECORE_X_ATOM_NET_WM_WINDOW_TYPE) - { - /* Ignore mwm - bd->client.mwm.fetch.hints = 0; - */ - bd->client.netwm.fetch.type = 1; - } - else if (atoms[i] == ECORE_X_ATOM_NET_WM_STATE) - { - bd->client.netwm.fetch.state = 1; - } - } - /* other misc atoms */ - for (i = 0; i < at_num; i++) - { - /* loop to check for own atoms */ - if (atoms[i] == E_ATOM_WINDOW_STATE) - { - bd->client.e.fetch.state = 1; - } - /* loop to check for qtopia atoms */ - if (atoms[i] == ATM__QTOPIA_SOFT_MENU) - bd->client.qtopia.fetch.soft_menu = 1; - else if (atoms[i] == ATM__QTOPIA_SOFT_MENUS) - bd->client.qtopia.fetch.soft_menus = 1; - /* loop to check for vkbd atoms */ - else if (atoms[i] == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_STATE) - bd->client.vkbd.fetch.state = 1; - else if (atoms[i] == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD) - bd->client.vkbd.fetch.vkbd = 1; - /* loop to check for illume atoms */ - else if (atoms[i] == ECORE_X_ATOM_E_ILLUME_CONFORMANT) - bd->client.illume.conformant.fetch.conformant = 1; - else if (atoms[i] == ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE) - bd->client.illume.quickpanel.fetch.state = 1; - else if (atoms[i] == ECORE_X_ATOM_E_ILLUME_QUICKPANEL) - bd->client.illume.quickpanel.fetch.quickpanel = 1; - else if (atoms[i] == ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MAJOR) - bd->client.illume.quickpanel.fetch.priority.major = 1; - else if (atoms[i] == ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MINOR) - bd->client.illume.quickpanel.fetch.priority.minor = 1; - else if (atoms[i] == ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ZONE) - bd->client.illume.quickpanel.fetch.zone = 1; - else if (atoms[i] == ECORE_X_ATOM_E_ILLUME_DRAG_LOCKED) - bd->client.illume.drag.fetch.locked = 1; - else if (atoms[i] == ECORE_X_ATOM_E_ILLUME_DRAG) - bd->client.illume.drag.fetch.drag = 1; - } - free(atoms); - } + atoms = ecore_x_window_prop_list(bd->client.win, &at_num); + bd->client.icccm.fetch.command = 1; + if (atoms) + { + /* icccm */ + for (i = 0; i < at_num; i++) + { + if (atoms[i] == ECORE_X_ATOM_WM_NAME) + bd->client.icccm.fetch.title = 1; + else if (atoms[i] == ECORE_X_ATOM_WM_CLASS) + bd->client.icccm.fetch.name_class = 1; + else if (atoms[i] == ECORE_X_ATOM_WM_ICON_NAME) + bd->client.icccm.fetch.icon_name = 1; + else if (atoms[i] == ECORE_X_ATOM_WM_CLIENT_MACHINE) + bd->client.icccm.fetch.machine = 1; + else if (atoms[i] == ECORE_X_ATOM_WM_HINTS) + bd->client.icccm.fetch.hints = 1; + else if (atoms[i] == ECORE_X_ATOM_WM_NORMAL_HINTS) + bd->client.icccm.fetch.size_pos_hints = 1; + else if (atoms[i] == ECORE_X_ATOM_WM_PROTOCOLS) + bd->client.icccm.fetch.protocol = 1; + else if (atoms[i] == ECORE_X_ATOM_MOTIF_WM_HINTS) + bd->client.mwm.fetch.hints = 1; + else if (atoms[i] == ECORE_X_ATOM_WM_TRANSIENT_FOR) + { + bd->client.icccm.fetch.transient_for = 1; + bd->client.netwm.fetch.type = 1; + } + else if (atoms[i] == ECORE_X_ATOM_WM_CLIENT_LEADER) + bd->client.icccm.fetch.client_leader = 1; + else if (atoms[i] == ECORE_X_ATOM_WM_WINDOW_ROLE) + bd->client.icccm.fetch.window_role = 1; + else if (atoms[i] == ECORE_X_ATOM_WM_STATE) + bd->client.icccm.fetch.state = 1; + } + /* netwm, loop again, netwm will ignore some icccm, so we + * have to be sure that netwm is checked after */ + for (i = 0; i < at_num; i++) + { + if (atoms[i] == ECORE_X_ATOM_NET_WM_NAME) + { + /* Ignore icccm */ + bd->client.icccm.fetch.title = 0; + bd->client.netwm.fetch.name = 1; + } + else if (atoms[i] == ECORE_X_ATOM_NET_WM_ICON_NAME) + { + /* Ignore icccm */ + bd->client.icccm.fetch.icon_name = 0; + bd->client.netwm.fetch.icon_name = 1; + } + else if (atoms[i] == ECORE_X_ATOM_NET_WM_ICON) + { + bd->client.netwm.fetch.icon = 1; + } + else if (atoms[i] == ECORE_X_ATOM_NET_WM_USER_TIME) + { + bd->client.netwm.fetch.user_time = 1; + } + else if (atoms[i] == ECORE_X_ATOM_NET_WM_STRUT) + { + printf("ECORE_X_ATOM_NET_WM_STRUT\n"); + bd->client.netwm.fetch.strut = 1; + } + else if (atoms[i] == ECORE_X_ATOM_NET_WM_STRUT_PARTIAL) + { + printf("ECORE_X_ATOM_NET_WM_STRUT_PARTIAL\n"); + bd->client.netwm.fetch.strut = 1; + } + else if (atoms[i] == ECORE_X_ATOM_NET_WM_WINDOW_TYPE) + { + /* Ignore mwm + bd->client.mwm.fetch.hints = 0; + */ + bd->client.netwm.fetch.type = 1; + } + else if (atoms[i] == ECORE_X_ATOM_NET_WM_STATE) + { + bd->client.netwm.fetch.state = 1; + } + } + /* other misc atoms */ + for (i = 0; i < at_num; i++) + { + /* loop to check for own atoms */ + if (atoms[i] == E_ATOM_WINDOW_STATE) + { + bd->client.e.fetch.state = 1; + } + /* loop to check for qtopia atoms */ + if (atoms[i] == ATM__QTOPIA_SOFT_MENU) + bd->client.qtopia.fetch.soft_menu = 1; + else if (atoms[i] == ATM__QTOPIA_SOFT_MENUS) + bd->client.qtopia.fetch.soft_menus = 1; + /* loop to check for vkbd atoms */ + else if (atoms[i] == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_STATE) + bd->client.vkbd.fetch.state = 1; + else if (atoms[i] == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD) + bd->client.vkbd.fetch.vkbd = 1; + /* loop to check for illume atoms */ + else if (atoms[i] == ECORE_X_ATOM_E_ILLUME_CONFORMANT) + bd->client.illume.conformant.fetch.conformant = 1; + else if (atoms[i] == ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE) + bd->client.illume.quickpanel.fetch.state = 1; + else if (atoms[i] == ECORE_X_ATOM_E_ILLUME_QUICKPANEL) + bd->client.illume.quickpanel.fetch.quickpanel = 1; + else if (atoms[i] == ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MAJOR) + bd->client.illume.quickpanel.fetch.priority.major = 1; + else if (atoms[i] == ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MINOR) + bd->client.illume.quickpanel.fetch.priority.minor = 1; + else if (atoms[i] == ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ZONE) + bd->client.illume.quickpanel.fetch.zone = 1; + else if (atoms[i] == ECORE_X_ATOM_E_ILLUME_DRAG_LOCKED) + bd->client.illume.drag.fetch.locked = 1; + else if (atoms[i] == ECORE_X_ATOM_E_ILLUME_DRAG) + bd->client.illume.drag.fetch.drag = 1; + } + free(atoms); + } } bd->client.border.changed = 1; @@ -520,15 +520,15 @@ bd2 = eina_hash_find(borders_hash, e_util_winid_str_get(bd->client.win)); if (bd2) { - printf("EEEEK! 2 borders with same client window id in them! very bad!\n"); - printf("optimisations failing due to bizarre client behavior. will\n"); - printf("work around.\n"); - printf("bd=%p, bd->references=%i, bd->deleted=%i, bd->client.win=%x\n", - bd2, bd2->e_obj_inherit.references, bd2->e_obj_inherit.deleted, - bd2->client.win); - eina_hash_del(borders_hash, e_util_winid_str_get(bd->client.win), bd2); - eina_hash_del(borders_hash, e_util_winid_str_get(bd2->bg_win), bd2); - eina_hash_del(borders_hash, e_util_winid_str_get(bd2->win), bd2); + printf("EEEEK! 2 borders with same client window id in them! very bad!\n"); + printf("optimisations failing due to bizarre client behavior. will\n"); + printf("work around.\n"); + printf("bd=%p, bd->references=%i, bd->deleted=%i, bd->client.win=%x\n", + bd2, bd2->e_obj_inherit.references, bd2->e_obj_inherit.deleted, + bd2->client.win); + eina_hash_del(borders_hash, e_util_winid_str_get(bd->client.win), bd2); + eina_hash_del(borders_hash, e_util_winid_str_get(bd2->bg_win), bd2); + eina_hash_del(borders_hash, e_util_winid_str_get(bd2->win), bd2); } eina_hash_add(borders_hash, e_util_winid_str_get(bd->client.win), bd); eina_hash_add(borders_hash, e_util_winid_str_get(bd->bg_win), bd); @@ -573,7 +573,7 @@ unsigned char valid : 1; int x, y, w, h; struct { - int x, y, w, h; + int x, y, w, h; } saved; } pre_res_change; @@ -587,51 +587,51 @@ if (bd->fullscreen) { - e_border_unfullscreen(bd); - e_border_fullscreen(bd, e_config->fullscreen_policy); + e_border_unfullscreen(bd); + e_border_fullscreen(bd, e_config->fullscreen_policy); } else if (bd->maximized != E_MAXIMIZE_NONE) { - E_Maximize max; + E_Maximize max; - max = bd->maximized; - e_border_unmaximize(bd, E_MAXIMIZE_BOTH); - e_border_maximize(bd, max); + max = bd->maximized; + e_border_unmaximize(bd, E_MAXIMIZE_BOTH); + e_border_maximize(bd, max); } else { - int x, y, w, h, zx, zy, zw, zh; + int x, y, w, h, zx, zy, zw, zh; - bd->saved.x = bd->pre_res_change.saved.x; - bd->saved.y = bd->pre_res_change.saved.y; - bd->saved.w = bd->pre_res_change.saved.w; - bd->saved.h = bd->pre_res_change.saved.h; + bd->saved.x = bd->pre_res_change.saved.x; + bd->saved.y = bd->pre_res_change.saved.y; + bd->saved.w = bd->pre_res_change.saved.w; + bd->saved.h = bd->pre_res_change.saved.h; - e_zone_useful_geometry_get(bd->zone, &zx, &zy, &zw, &zh); + e_zone_useful_geometry_get(bd->zone, &zx, &zy, &zw, &zh); - if (bd->saved.w > zw) - bd->saved.w = zw; - if ((bd->saved.x + bd->saved.w) > (zx + zw)) - bd->saved.x = zx + zw - bd->saved.w; + if (bd->saved.w > zw) + bd->saved.w = zw; + if ((bd->saved.x + bd->saved.w) > (zx + zw)) + bd->saved.x = zx + zw - bd->saved.w; - if (bd->saved.h > zh) - bd->saved.h = zh; - if ((bd->saved.y + bd->saved.h) > (zy + zh)) - bd->saved.y = zy + zh - bd->saved.h; + if (bd->saved.h > zh) + bd->saved.h = zh; + if ((bd->saved.y + bd->saved.h) > (zy + zh)) + bd->saved.y = zy + zh - bd->saved.h; - x = bd->pre_res_change.x; - y = bd->pre_res_change.y; - w = bd->pre_res_change.w; - h = bd->pre_res_change.h; - if (w > zw) - w = zw; - if (h > zh) - h = zh; - if ((x + w) > (zx + zw)) - x = zx + zw - w; - if ((y + h) > (zy + zh)) - y = zy + zh - h; - e_border_move_resize(bd, x, y, w, h); + x = bd->pre_res_change.x; + y = bd->pre_res_change.y; + w = bd->pre_res_change.w; + h = bd->pre_res_change.h; + if (w > zw) + w = zw; + if (h > zh) + h = zh; + if ((x + w) > (zx + zw)) + x = zx + zw - w; + if ((y + h) > (zy + zh)) + y = zy + zh - h; + e_border_move_resize(bd, x, y, w, h); } memcpy(&bd->pre_res_change, &pre_res_change, sizeof(pre_res_change)); } |
From: Enlightenment S. <no-...@en...> - 2010-09-11 02:22:07
|
Log: englishize kill message Author: discomfitor Date: 2010-09-10 19:22:01 -0700 (Fri, 10 Sep 2010) New Revision: 52151 Modified: trunk/e/src/bin/e_actions.c Modified: trunk/e/src/bin/e_actions.c =================================================================== --- trunk/e/src/bin/e_actions.c 2010-09-11 00:52:33 UTC (rev 52150) +++ trunk/e/src/bin/e_actions.c 2010-09-11 02:22:01 UTC (rev 52151) @@ -364,8 +364,8 @@ snprintf(dialog_text, sizeof(dialog_text), _("You are about to kill %s.<br><br>" - "Please keep in mind that all data of this window,<br>" - "which has not been saved yet will be lost!<br><br>" + "Please keep in mind that all data from this window<br>" + "which has not yet been saved will be lost!<br><br>" "Are you sure you want to kill this window?"), bd->client.icccm.name); |
From: Enlightenment S. <no-...@en...> - 2010-09-12 18:35:02
|
Log: add debugging printf function for hunting down focus switching bugs, requires -DPRINT_LOTS_OF_DEBUG Author: discomfitor Date: 2010-09-12 11:34:56 -0700 (Sun, 12 Sep 2010) New Revision: 52170 Modified: trunk/e/src/bin/e_border.c Modified: trunk/e/src/bin/e_border.c =================================================================== --- trunk/e/src/bin/e_border.c 2010-09-12 18:31:50 UTC (rev 52169) +++ trunk/e/src/bin/e_border.c 2010-09-12 18:34:56 UTC (rev 52170) @@ -18,6 +18,7 @@ /* local subsystem functions */ static void _e_border_free(E_Border *bd); static void _e_border_del(E_Border *bd); +static void _e_border_print(E_Border *bd, const char *func); /* FIXME: these likely belong in a separate icccm/client handler */ /* and the border needs to become a dumb object that just does what its */ @@ -1560,6 +1561,9 @@ EAPI void e_border_focus_set_with_pointer(E_Border *bd) { +#ifdef PRINT_LOTS_OF_DEBUG + _e_border_print(bd); +#endif /* note: this is here as it seems there are enough apps that do not even * expect us to emulate a look of focus but not actually set x input * focus as we do - so simply abort any focuse set on such windows */ @@ -1576,6 +1580,7 @@ if (!ecore_x_pointer_grab(bd->zone->container->win)) return; */ + if (e_config->focus_policy == E_FOCUS_SLOPPY) { if (e_border_under_pointer_get(bd->desk, bd)) @@ -4035,6 +4040,20 @@ } } +static void +_e_border_print(E_Border *bd, const char *func) +{ + if (!bd) return; + + printf("*Window Info*" + "\tPointer: %p\n" + "\tName: %s\n" + "\tTitle: %s\n" + "\tBorderless: %s\n", + bd, bd->client.icccm.name, bd->client.icccm.title, + bd->borderless ? "TRUE" : "FALSE"); +} + static Eina_Bool _e_border_cb_window_show_request(void *data __UNUSED__, int ev_type __UNUSED__, void *ev) { |
From: Enlightenment S. <no-...@en...> - 2010-09-12 18:44:17
|
Log: add macro to insert function name in debugging Author: discomfitor Date: 2010-09-12 11:44:10 -0700 (Sun, 12 Sep 2010) New Revision: 52171 Modified: trunk/e/src/bin/e_border.c Modified: trunk/e/src/bin/e_border.c =================================================================== --- trunk/e/src/bin/e_border.c 2010-09-12 18:34:56 UTC (rev 52170) +++ trunk/e/src/bin/e_border.c 2010-09-12 18:44:10 UTC (rev 52171) @@ -18,7 +18,13 @@ /* local subsystem functions */ static void _e_border_free(E_Border *bd); static void _e_border_del(E_Border *bd); + +#ifdef PRINT_LOTS_OF_DEBUG +#define E_PRINT_BORDER_INFO(X) \ + _e_border_print(X, __PRETTY_FUNC__) + static void _e_border_print(E_Border *bd, const char *func); +#endif /* FIXME: these likely belong in a separate icccm/client handler */ /* and the border needs to become a dumb object that just does what its */ @@ -1562,7 +1568,7 @@ e_border_focus_set_with_pointer(E_Border *bd) { #ifdef PRINT_LOTS_OF_DEBUG - _e_border_print(bd); + E_PRINT_BORDER_INFO(bd); #endif /* note: this is here as it seems there are enough apps that do not even * expect us to emulate a look of focus but not actually set x input @@ -4040,6 +4046,7 @@ } } +#ifdef PRINT_LOTS_OF_DEBUG static void _e_border_print(E_Border *bd, const char *func) { @@ -4053,6 +4060,7 @@ bd, bd->client.icccm.name, bd->client.icccm.title, bd->borderless ? "TRUE" : "FALSE"); } +#endif static Eina_Bool _e_border_cb_window_show_request(void *data __UNUSED__, int ev_type __UNUSED__, void *ev) |
From: Enlightenment S. <no-...@en...> - 2010-10-05 06:32:58
|
Log: switch lots of efm vars to bool bitfields Author: discomfitor Date: 2010-10-04 23:32:51 -0700 (Mon, 04 Oct 2010) New Revision: 53042 Modified: trunk/e/src/bin/e_fm.c trunk/e/src/bin/e_fm.h trunk/e/src/bin/e_fm_dbus.c trunk/e/src/bin/e_fm_main.c trunk/e/src/bin/e_fm_shared.h Modified: trunk/e/src/bin/e_fm.c =================================================================== --- trunk/e/src/bin/e_fm.c 2010-10-05 06:32:47 UTC (rev 53041) +++ trunk/e/src/bin/e_fm.c 2010-10-05 06:32:51 UTC (rev 53042) @@ -76,12 +76,12 @@ E_Menu *menu; E_Entry_Dialog *entry_dialog; E_Dialog *image_dialog; - unsigned char iconlist_changed : 1; - unsigned char order_file : 1; - unsigned char typebuf_visible : 1; - unsigned char show_hidden_files : 1; - unsigned char listing : 1; - unsigned char inherited_dir_props : 1; + Eina_Bool iconlist_changed : 1; + Eina_Bool order_file : 1; + Eina_Bool typebuf_visible : 1; + Eina_Bool show_hidden_files : 1; + Eina_Bool listing : 1; + Eina_Bool inherited_dir_props : 1; signed char view_mode; /* -1 = unset */ signed short icon_size; /* -1 = unset */ E_Fm2_View_Flags view_flags; @@ -101,7 +101,7 @@ Eina_List *actions; Ecore_Idler *idler; Ecore_Timer *timer; - unsigned char deletions : 1; + Eina_Bool deletions : 1; } live; struct { @@ -116,11 +116,11 @@ E_Fm2_Icon *drop_icon; E_Fm2_Mount *mount; signed char drop_after; - unsigned char drop_show : 1; - unsigned char drop_in_show : 1; - unsigned char drop_all : 1; - unsigned char drag : 1; - unsigned char selecting : 1; + Eina_Bool drop_show : 1; + Eina_Bool drop_in_show : 1; + Eina_Bool drop_all : 1; + Eina_Bool drag : 1; + Eina_Bool selecting : 1; struct { int ox, oy; int x, y, w, h; @@ -134,7 +134,7 @@ E_Fm2_Smart_Data *sd; Evas_Coord x, y, w, h; Eina_List *list; - unsigned char realized : 1; + Eina_Bool realized : 1; }; struct _E_Fm2_Icon @@ -155,18 +155,18 @@ struct { Evas_Coord x, y; - unsigned char start : 1; - unsigned char dnd : 1; - unsigned char src : 1; + Eina_Bool start : 1; + Eina_Bool dnd : 1; + Eina_Bool src : 1; } drag; - unsigned char realized : 1; - unsigned char selected : 1; - unsigned char last_selected : 1; - unsigned char saved_pos : 1; - unsigned char odd : 1; - unsigned char down_sel : 1; - unsigned char removable_state_change : 1; + Eina_Bool realized : 1; + Eina_Bool selected : 1; + Eina_Bool last_selected : 1; + Eina_Bool saved_pos : 1; + Eina_Bool odd : 1; + Eina_Bool down_sel : 1; + Eina_Bool removable_state_change : 1; }; struct _E_Fm2_Finfo @@ -819,9 +819,9 @@ else { sd->id = _e_fm2_client_monitor_add(sd->mount->mount_point); - sd->listing = 1; + sd->listing = EINA_TRUE; evas_object_smart_callback_call(data, "dir_changed", NULL); - sd->tmp.iter = 0; + sd->tmp.iter = EINA_FALSE; } } @@ -903,27 +903,27 @@ if (!sd->config) return; // sd->config->view.mode = E_FM2_VIEW_MODE_ICONS; sd->config->view.mode = E_FM2_VIEW_MODE_LIST; - sd->config->view.open_dirs_in_place = 1; - sd->config->view.selector = 1; - sd->config->view.single_click = 0; - sd->config->view.single_click_delay = 0; - sd->config->view.no_subdir_jump = 0; - sd->config->icon.icon.w = 128; - sd->config->icon.icon.h = 128; + sd->config->view.open_dirs_in_place = EINA_TRUE; + sd->config->view.selector = EINA_TRUE; + sd->config->view.single_click = EINA_FALSE; + sd->config->view.single_click_delay = EINA_FALSE; + sd->config->view.no_subdir_jump = EINA_FALSE; + sd->config->icon.icon.w = 28; + sd->config->icon.icon.h = 28; sd->config->icon.list.w = 24; sd->config->icon.list.h = 24; - sd->config->icon.fixed.w = 1; - sd->config->icon.fixed.h = 1; - sd->config->icon.extension.show = 0; - sd->config->list.sort.no_case = 1; - sd->config->list.sort.dirs.first = 1; - sd->config->list.sort.dirs.last = 0; - sd->config->selection.single = 0; - sd->config->selection.windows_modifiers = 0; + sd->config->icon.fixed.w = EINA_TRUE; + sd->config->icon.fixed.h = EINA_TRUE; + sd->config->icon.extension.show = EINA_FALSE; + sd->config->list.sort.no_case = EINA_TRUE; + sd->config->list.sort.dirs.first = EINA_TRUE; + sd->config->list.sort.dirs.last = EINA_FALSE; + sd->config->selection.single = EINA_FALSE; + sd->config->selection.windows_modifiers = EINA_FALSE; sd->config->theme.background = NULL; sd->config->theme.frame = NULL; sd->config->theme.icons = NULL; - sd->config->theme.fixed = 0; + sd->config->theme.fixed = EINA_FALSE; } realpath = _e_fm2_dev_path_map(dev, path); @@ -956,7 +956,7 @@ } if (sd->realpath) _e_fm2_client_monitor_del(sd->id, sd->realpath); - sd->listing = 0; + sd->listing = EINA_FALSE; eina_stringshare_replace(&sd->dev, dev); eina_stringshare_replace(&sd->path, path); @@ -1002,14 +1002,14 @@ if (!sd->mount || sd->mount->mounted) { sd->id = _e_fm2_client_monitor_add(sd->realpath); - sd->listing = 1; + sd->listing = EINA_TRUE; } /* Clean up typebuf. */ _e_fm2_typebuf_hide(obj); evas_object_smart_callback_call(obj, "dir_changed", NULL); - sd->tmp.iter = 0; + sd->tmp.iter = EINA_FALSE; } EAPI void @@ -1165,27 +1165,27 @@ sd->icon_size = cf->dir->prop.icon_size; sd->order_file = !!cf->dir->prop.order_file; sd->show_hidden_files = !!cf->dir->prop.show_hidden_files; - sd->inherited_dir_props = 0; + sd->inherited_dir_props = EINA_FALSE; return; } } else { - sd->pos.x = 0; - sd->pos.y = 0; + sd->pos.x = EINA_FALSE; + sd->pos.y = EINA_FALSE; } if (!(sd->view_flags & E_FM2_VIEW_INHERIT_DIR_CUSTOM)) { sd->view_mode = -1; sd->icon_size = -1; - sd->order_file = 0; - sd->show_hidden_files = 0; - sd->inherited_dir_props = 0; + sd->order_file = EINA_FALSE; + sd->show_hidden_files = EINA_FALSE; + sd->inherited_dir_props = EINA_FALSE; return; } - sd->inherited_dir_props = 1; + sd->inherited_dir_props = EINA_TRUE; cf = _e_fm2_dir_load_props_from_parent(sd->realpath); if ((cf) && (cf->dir) && (cf->dir->prop.in_use)) @@ -1199,8 +1199,8 @@ { sd->view_mode = -1; sd->icon_size = -1; - sd->order_file = 0; - sd->show_hidden_files = 0; + sd->order_file = EINA_FALSE; + sd->show_hidden_files = EINA_FALSE; } } @@ -1263,17 +1263,17 @@ _e_fm2_regions_free(obj); _e_fm2_icons_free(obj); - sd->order_file = 0; + sd->order_file = EINA_FALSE; if (sd->realpath) { - sd->listing = 0; + sd->listing = EINA_FALSE; _e_fm2_client_monitor_del(sd->id, sd->realpath); sd->id = _e_fm2_client_monitor_add(sd->realpath); - sd->listing = 1; + sd->listing = EINA_TRUE; } - sd->tmp.iter = 0; + sd->tmp.iter = EINA_FALSE; } EAPI int @@ -1416,7 +1416,7 @@ { if (ic->sd->config->selection.single) _e_fm2_icon_deselect(ic); - ic->last_selected = 0; + ic->last_selected = EINA_FALSE; } } } @@ -1581,7 +1581,7 @@ eina_stringshare_del(ic->info.icon); ic->info.icon = NULL; - ic->info.icon_type = 0; + ic->info.icon_type = EINA_FALSE; if (_e_fm2_file_is_desktop(ic->info.file)) _e_fm2_icon_desktop_load(ic); @@ -2679,7 +2679,7 @@ finf.broken_link = ic->info.broken_link; finf.lnk = ic->info.link; finf.rlnk = ic->info.real_link; - ic->removable_state_change = 1; + ic->removable_state_change = EINA_TRUE; _e_fm2_live_file_changed(o, ecore_file_file_get(path), &finf); } @@ -2802,7 +2802,7 @@ { file = ecore_file_file_get(path); if ((!strcmp(file, ".order"))) - sd->order_file = 1; + sd->order_file = EINA_TRUE; else { if (!((file[0] == '.') && @@ -2814,7 +2814,7 @@ } if (e->response == 2)/* end of scan */ { - sd->listing = 0; + sd->listing = EINA_FALSE; if (sd->scan_timer) { ecore_timer_del(sd->scan_timer); @@ -2839,7 +2839,7 @@ // printf(" end response = %i\n", e->response); if (e->response == 2)/* end of scan */ { - sd->listing = 0; + sd->listing = EINA_FALSE; if (sd->scan_timer) { ecore_timer_del(sd->scan_timer); @@ -3352,7 +3352,7 @@ sd->icons_place = eina_list_append(sd->icons_place, ic); } sd->tmp.last_insert = NULL; - sd->iconlist_changed = 1; + sd->iconlist_changed = EINA_TRUE; } } @@ -3891,9 +3891,9 @@ Eina_List *l; E_Fm2_Icon *ic2; - ic->x = 0; - ic->y = 0; - ic->saved_pos = 1; + ic->x = EINA_FALSE; + ic->y = EINA_FALSE; + ic->saved_pos = EINA_TRUE; /* ### BLAH ### */ // if (!_e_fm2_icons_icon_overlaps(ic)) return; /* @@ -4046,8 +4046,8 @@ sd = evas_object_smart_data_get(obj); if (!sd) return; /* take the icon list and find a location for them */ - sd->max.w = 0; - sd->max.h = 0; + sd->max.w = EINA_FALSE; + sd->max.h = EINA_FALSE; switch (_e_fm2_view_mode_get(sd)) { case E_FM2_VIEW_MODE_ICONS: @@ -4346,11 +4346,11 @@ ic->info.icon = NULL; ic->info.link = NULL; ic->info.real_link = NULL; - ic->info.mount = 0; - ic->info.removable = 0; - ic->info.removable_full = 0; - ic->info.deleted = 0; - ic->info.broken_link = 0; + ic->info.mount = EINA_FALSE; + ic->info.removable = EINA_FALSE; + ic->info.removable_full = EINA_FALSE; + ic->info.deleted = EINA_FALSE; + ic->info.broken_link = EINA_FALSE; } static void @@ -4409,7 +4409,7 @@ if (stat(buf, &(ic->info.statinfo)) == -1) { if (lnk) - ic->info.broken_link = 1; + ic->info.broken_link = EINA_TRUE; else { return 0; @@ -4477,7 +4477,7 @@ } if (cf->geom.valid) { - ic->saved_pos = 1; + ic->saved_pos = EINA_TRUE; ic->x = cf->geom.x; ic->y = cf->geom.y; if (cf->geom.w > 0) ic->w = cf->geom.w; @@ -4634,7 +4634,7 @@ { if (ic->realized) return; /* actually create evas objects etc. */ - ic->realized = 1; + ic->realized = EINA_TRUE; evas_event_freeze(evas_object_evas_get(ic->sd->obj)); ic->obj = edje_object_add(evas_object_evas_get(ic->sd->obj)); edje_object_freeze(ic->obj); @@ -4725,7 +4725,7 @@ { if (!ic->realized) return; /* delete evas objects */ - ic->realized = 0; + ic->realized = EINA_FALSE; evas_object_del(ic->obj); ic->obj = NULL; evas_object_del(ic->obj_icon); @@ -4821,8 +4821,8 @@ _e_fm2_icon_select(E_Fm2_Icon *ic) { if (ic->selected) return; - ic->selected = 1; - ic->last_selected = 1; + ic->selected = EINA_TRUE; + ic->last_selected = EINA_TRUE; if (ic->realized) { const char *selectraise; @@ -4843,8 +4843,8 @@ _e_fm2_icon_deselect(E_Fm2_Icon *ic) { if (!ic->selected) return; - ic->selected = 0; - ic->last_selected = 0; + ic->selected = EINA_FALSE; + ic->last_selected = EINA_FALSE; if (ic->realized) { const char *stacking, *selectraise; @@ -4897,8 +4897,8 @@ if (!desktop) goto error; // if (desktop->type != EFREET_DESKTOP_TYPE_LINK) goto error; - ic->info.removable = 0; - ic->info.removable_full = 0; + ic->info.removable = EINA_FALSE; + ic->info.removable_full = EINA_FALSE; ic->info.label = eina_stringshare_add(desktop->name); ic->info.generic = eina_stringshare_add(desktop->generic_name); ic->info.comment = eina_stringshare_add(desktop->comment); @@ -4912,10 +4912,10 @@ type = eina_hash_find(desktop->x, "X-Enlightenment-Type"); if (type) { - if (!strcmp(type, "Mount")) ic->info.mount = 1; + if (!strcmp(type, "Mount")) ic->info.mount = EINA_TRUE; else if (!strcmp(type, "Removable")) { - ic->info.removable = 1; + ic->info.removable = EINA_TRUE; if ((!e_fm2_dbus_storage_find(ic->info.link)) && (!e_fm2_dbus_volume_find(ic->info.link))) { @@ -4928,7 +4928,7 @@ if (type) { if (!strcmp(type, "Full")) - ic->info.removable_full = 1; + ic->info.removable_full = EINA_TRUE; } } } @@ -5468,7 +5468,7 @@ sd->typebuf.buf = strdup(""); edje_object_part_text_set(sd->overlay, "e.text.typebuf_label", sd->typebuf.buf); edje_object_signal_emit(sd->overlay, "e,state,typebuf,start", "e"); - sd->typebuf_visible = 1; + sd->typebuf_visible = EINA_TRUE; } static void @@ -5480,7 +5480,7 @@ if (!sd) return; E_FREE(sd->typebuf.buf); edje_object_signal_emit(sd->overlay, "e,state,typebuf,stop", "e"); - sd->typebuf_visible = 0; + sd->typebuf_visible = EINA_FALSE; } #if 0 @@ -5666,7 +5666,7 @@ return; } p = evas_string_char_prev_get(sd->typebuf.buf, len, &dec); - if (p >= 0) sd->typebuf.buf[p] = 0; + if (p >= 0) sd->typebuf.buf[p] = EINA_FALSE; ts = strdup(sd->typebuf.buf); if (!ts) return; free(sd->typebuf.buf); @@ -5720,20 +5720,20 @@ if (sd->drop_show) { edje_object_signal_emit(sd->drop, "e,state,unselected", "e"); - sd->drop_show = 0; + sd->drop_show = EINA_FALSE; } if (sd->drop_in_show) { edje_object_signal_emit(sd->drop_in, "e,state,unselected", "e"); - sd->drop_in_show = 0; + sd->drop_in_show = EINA_FALSE; } if (!sd->drop_all) { edje_object_signal_emit(sd->overlay, "e,state,drop,start", "e"); - sd->drop_all = 1; + sd->drop_all = EINA_TRUE; } sd->drop_icon = NULL; - sd->drop_after = 0; + sd->drop_after = EINA_FALSE; } /* FIXME: prototype + reposition + implement */ @@ -5747,7 +5747,7 @@ if (sd->drop_all) { edje_object_signal_emit(sd->overlay, "e,state,drop,stop", "e"); - sd->drop_all = 0; + sd->drop_all = EINA_FALSE; } } @@ -5772,15 +5772,15 @@ { edje_object_signal_emit(ic->sd->drop_in, "e,state,unselected", "e"); edje_object_signal_emit(ic->sd->drop, "e,state,selected", "e"); - ic->sd->drop_in_show = 0; - ic->sd->drop_show = 1; + ic->sd->drop_in_show = EINA_FALSE; + ic->sd->drop_show = EINA_TRUE; } else { edje_object_signal_emit(ic->sd->drop, "e,state,unselected", "e"); edje_object_signal_emit(ic->sd->drop_in, "e,state,selected", "e"); - ic->sd->drop_in_show = 1; - ic->sd->drop_show = 0; + ic->sd->drop_in_show = EINA_TRUE; + ic->sd->drop_show = EINA_FALSE; } } _e_fm2_dnd_drop_all_hide(ic->sd->obj); @@ -5798,15 +5798,15 @@ if (sd->drop_show) { edje_object_signal_emit(sd->drop, "e,state,unselected", "e"); - sd->drop_show = 0; + sd->drop_show = EINA_FALSE; } if (sd->drop_in_show) { edje_object_signal_emit(sd->drop_in, "e,state,unselected", "e"); - sd->drop_in_show = 0; + sd->drop_in_show = EINA_FALSE; } sd->drop_icon = NULL; - sd->drop_after = 0; + sd->drop_after = EINA_FALSE; } /* FIXME: prototype + reposition + implement */ @@ -5820,11 +5820,11 @@ sd = evas_object_smart_data_get(obj); if (!sd) return; if (!sd->drag) return; - sd->drag = 0; + sd->drag = EINA_FALSE; EINA_LIST_FOREACH(sd->icons, l, ic) { - ic->drag.dnd = 0; - ic->drag.src = 0; + ic->drag.dnd = EINA_FALSE; + ic->drag.src = EINA_FALSE; if (ic->obj) evas_object_show(ic->obj); if (ic->obj_icon) evas_object_show(ic->obj_icon); } @@ -6186,7 +6186,7 @@ { ic->x = x; ic->y = y; - ic->saved_pos = 1; + ic->saved_pos = EINA_TRUE; adjust_icons = 1; } @@ -6202,8 +6202,8 @@ } if (adjust_icons) { - sd->max.w = 0; - sd->max.h = 0; + sd->max.w = EINA_FALSE; + sd->max.h = EINA_FALSE; EINA_LIST_FOREACH(sd->icons, l, ic) { if ((ic->x + ic->w) > sd->max.w) sd->max.w = ic->x + ic->w; @@ -6439,10 +6439,10 @@ { if (!up) { - if (!ic->selected) sel_change = 1; + if (!ic->selected) sel_change = EINA_TRUE; _e_fm2_icon_select(ic); - ic->down_sel = 1; - ic->last_selected = 1; + ic->down_sel = EINA_TRUE; + ic->last_selected = EINA_TRUE; } } @@ -6500,9 +6500,9 @@ { ic->drag.x = ev->output.x - ic->x - ic->sd->x + ic->sd->pos.x; ic->drag.y = ev->output.y - ic->y - ic->sd->y + ic->sd->pos.y; - ic->drag.start = 1; - ic->drag.dnd = 0; - ic->drag.src = 1; + ic->drag.start = EINA_TRUE; + ic->drag.dnd = EINA_FALSE; + ic->drag.src = EINA_TRUE; } _e_fm2_mouse_1_handler(ic, 0, ev); } @@ -6528,10 +6528,10 @@ { if (!(ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)) _e_fm2_mouse_1_handler(ic, 1, ev); - ic->drag.start = 0; - ic->drag.dnd = 0; - ic->drag.src = 0; - ic->down_sel = 0; + ic->drag.start = EINA_FALSE; + ic->drag.dnd = EINA_FALSE; + ic->drag.src = EINA_FALSE; + ic->down_sel = EINA_FALSE; if ((ic->sd->config->view.single_click) && (ic->sd->config->view.single_click_delay == 0) && @@ -6570,7 +6570,7 @@ file = ecore_file_file_get(uri->path); ic = _e_fm2_icon_find(fm, file); - ic->drag.dnd = 0; + ic->drag.dnd = EINA_FALSE; if (ic->obj) evas_object_show(ic->obj); if (ic->obj_icon) evas_object_show(ic->obj_icon); } @@ -6673,11 +6673,11 @@ break; } if (!con) return; - ic->sd->drag = 1; - ic->drag.dnd = 1; + ic->sd->drag = EINA_TRUE; + ic->drag.dnd = EINA_TRUE; if (ic->obj) evas_object_hide(ic->obj); if (ic->obj_icon) evas_object_hide(ic->obj_icon); - ic->drag.start = 0; + ic->drag.start = EINA_FALSE; evas_object_geometry_get(ic->obj, &x, &y, &w, &h); realpath = e_fm2_real_path_get(ic->sd->obj); p_offset = eina_strlcpy(buf, realpath, sizeof(buf)); @@ -6714,7 +6714,7 @@ sel_length += s_len + 2; eina_stringshare_del(s); - ici->ic->drag.dnd = 1; + ici->ic->drag.dnd = EINA_TRUE; if (ici->ic->obj) evas_object_hide(ici->ic->obj); if (ici->ic->obj_icon) evas_object_hide(ici->ic->obj_icon); } @@ -7055,7 +7055,7 @@ { sd->selrect.ox = ev->canvas.x; sd->selrect.oy = ev->canvas.y; - sd->selecting = 1; + sd->selecting = EINA_TRUE; } } } @@ -7071,9 +7071,9 @@ E_Fm2_Smart_Data *sd; sd = data; - sd->selecting = 0; - sd->selrect.ox = 0; - sd->selrect.oy = 0; + sd->selecting = EINA_FALSE; + sd->selrect.ox = EINA_FALSE; + sd->selrect.oy = EINA_FALSE; evas_object_hide(sd->sel_rect); } @@ -7092,9 +7092,9 @@ { if (sd->selecting) { - sd->selecting = 0; - sd->selrect.ox = 0; - sd->selrect.oy = 0; + sd->selecting = EINA_FALSE; + sd->selrect.ox = EINA_FALSE; + sd->selrect.oy = EINA_FALSE; evas_object_hide(sd->sel_rect); } return; @@ -7276,7 +7276,7 @@ } edje_thaw(); evas_event_thaw(evas_object_evas_get(sd->obj)); - sd->iconlist_changed = 0; + sd->iconlist_changed = EINA_FALSE; sd->pw = sd->w; sd->ph = sd->h; @@ -7587,7 +7587,7 @@ sd = evas_object_smart_data_get(obj); if (!sd) return; if ((sd->w == w) && (sd->h == h)) return; - if (w != sd->w) wch = 1; + if (w != sd->w) wch = EINA_TRUE; sd->w = w; sd->h = h; evas_object_resize(sd->underlay, sd->w, sd->h); @@ -8250,7 +8250,7 @@ struct e_fm2_view_menu_icon_size_data *d = data; short current_size = _e_fm2_icon_w_get(d->sd); d->sd->icon_size = d->size; - d->sd->inherited_dir_props = 0; + d->sd->inherited_dir_props = EINA_FALSE; if (current_size == d->size) return; _e_fm2_refresh(d->sd, m, mi); @@ -8270,7 +8270,7 @@ sd->icon_size = -1; new = _e_fm2_icon_w_get(sd); - sd->inherited_dir_props = 0; + sd->inherited_dir_props = EINA_FALSE; if (new == old) return; @@ -8458,7 +8458,7 @@ old = _e_fm2_view_mode_get(sd); sd->view_mode = E_FM2_VIEW_MODE_GRID_ICONS; - sd->inherited_dir_props = 0; + sd->inherited_dir_props = EINA_FALSE; if (old == E_FM2_VIEW_MODE_GRID_ICONS) return; @@ -8473,7 +8473,7 @@ old = _e_fm2_view_mode_get(sd); sd->view_mode = E_FM2_VIEW_MODE_CUSTOM_ICONS; - sd->inherited_dir_props = 0; + sd->inherited_dir_props = EINA_FALSE; if (old == E_FM2_VIEW_MODE_CUSTOM_ICONS) return; @@ -8488,7 +8488,7 @@ old = _e_fm2_view_mode_get(sd); sd->view_mode = E_FM2_VIEW_MODE_LIST; - sd->inherited_dir_props = 0; + sd->inherited_dir_props = EINA_FALSE; if (old == E_FM2_VIEW_MODE_LIST) return; @@ -8509,7 +8509,7 @@ sd->view_mode = -1; new = _e_fm2_view_mode_get(sd); - sd->inherited_dir_props = 0; + sd->inherited_dir_props = EINA_FALSE; if (new == old) return; @@ -8711,11 +8711,11 @@ sd = data; if (sd->show_hidden_files) - sd->show_hidden_files = 0; + sd->show_hidden_files = EINA_FALSE; else - sd->show_hidden_files = 1; + sd->show_hidden_files = EINA_TRUE; - sd->inherited_dir_props = 0; + sd->inherited_dir_props = EINA_FALSE; _e_fm2_refresh(data, m, mi); } @@ -8740,7 +8740,7 @@ f = fopen(buf, "w"); if (f) fclose(f); } - sd->inherited_dir_props = 0; + sd->inherited_dir_props = EINA_FALSE; _e_fm2_refresh(data, m, mi); } @@ -9553,7 +9553,7 @@ /* new file to sort in place */ if (!strcmp(a->file, ".order")) { - sd->order_file = 1; + sd->order_file = EINA_TRUE; /* FIXME: reload fm view */ } else @@ -9565,14 +9565,14 @@ case FILE_DEL: if (!strcmp(a->file, ".order")) { - sd->order_file = 0; + sd->order_file = EINA_FALSE; /* FIXME: reload fm view */ } else { if (!((a->file[0] == '.') && (!sd->show_hidden_files))) _e_fm2_file_del(obj, a->file); - sd->live.deletions = 1; + sd->live.deletions = EINA_TRUE; } break; case FILE_CHANGE: @@ -9592,7 +9592,7 @@ { _e_fm2_icon_unfill(ic); _e_fm2_icon_fill(ic, &(a->finf)); - ic->removable_state_change = 0; + ic->removable_state_change = EINA_FALSE; if ((ic->realized) && (ic->obj_icon)) { _e_fm2_icon_removable_update(ic); @@ -9668,12 +9668,12 @@ { if (sd->live.deletions) { - sd->iconlist_changed = 1; + sd->iconlist_changed = EINA_TRUE; if (sd->resize_job) ecore_job_del(sd->resize_job); sd->resize_job = ecore_job_add(_e_fm2_cb_resize_job, sd->obj); } } - sd->live.deletions = 0; + sd->live.deletions = EINA_FALSE; sd->live.timer = NULL; if ((!sd->queue) && (!sd->live.idler)) return ECORE_CALLBACK_CANCEL; sd->live.timer = ecore_timer_add(0.2, _e_fm2_cb_live_timer, data); @@ -9756,7 +9756,7 @@ v = data; if (!v) return; - v->auto_unmount = 0; + v->auto_unmount = EINA_FALSE; _e_fm2_client_unmount(v->udi); } @@ -9768,7 +9768,7 @@ v = data; if (!v) return; - v->auto_unmount = 0; + v->auto_unmount = EINA_FALSE; _e_fm2_client_eject(v->udi); } Modified: trunk/e/src/bin/e_fm.h =================================================================== --- trunk/e/src/bin/e_fm.h 2010-10-05 06:32:47 UTC (rev 53041) +++ trunk/e/src/bin/e_fm.h 2010-10-05 06:32:51 UTC (rev 53042) @@ -60,14 +60,14 @@ /* general view mode */ struct { E_Fm2_View_Mode mode; - unsigned char open_dirs_in_place; - unsigned char selector; - unsigned char single_click; - unsigned char no_subdir_jump; - unsigned char no_subdir_drop; - unsigned char always_order; - unsigned char link_drop; - unsigned char fit_custom_pos; + Eina_Bool open_dirs_in_place : 1; + Eina_Bool selector : 1; + Eina_Bool single_click : 1; + Eina_Bool no_subdir_jump : 1; + Eina_Bool no_subdir_drop : 1; + Eina_Bool always_order : 1; + Eina_Bool link_drop : 1; + Eina_Bool fit_custom_pos : 1; unsigned int single_click_delay; } view; /* display of icons */ @@ -76,32 +76,34 @@ int w, h; } icon, list; struct { - unsigned char w, h; + Eina_Bool w : 1; + Eina_Bool h : 1; } fixed; struct { - unsigned char show; + Eina_Bool show : 1; } extension; const char *key_hint; } icon; /* how to sort files */ struct { struct { - unsigned char no_case; + Eina_Bool no_case : 1; struct { - unsigned char first; - unsigned char last; + Eina_Bool first : 1; + Eina_Bool last : 1; } dirs; } sort; } list; /* control how you can select files */ struct { - unsigned char single, windows_modifiers; + Eina_Bool single : 1; + Eina_Bool windows_modifiers : 1; } selection; /* the background - if any, and how to handle it */ /* FIXME: not implemented yet */ struct { const char *background, *frame, *icons; - unsigned char fixed; + Eina_Bool fixed : 1; } theme; }; @@ -119,12 +121,12 @@ const char *real_link; const char *category; struct stat statinfo; - unsigned char icon_type; - unsigned char mount : 1; - unsigned char removable : 1; - unsigned char removable_full : 1; - unsigned char deleted : 1; - unsigned char broken_link : 1; + Eina_Bool icon_type; + Eina_Bool mount : 1; + Eina_Bool removable : 1; + Eina_Bool removable_full : 1; + Eina_Bool deleted : 1; + Eina_Bool broken_link : 1; }; EAPI int e_fm2_init(void); Modified: trunk/e/src/bin/e_fm_dbus.c =================================================================== --- trunk/e/src/bin/e_fm_dbus.c 2010-10-05 06:32:47 UTC (rev 53041) +++ trunk/e/src/bin/e_fm_dbus.c 2010-10-05 06:32:51 UTC (rev 53042) @@ -20,7 +20,7 @@ { if (e_fm2_dbus_storage_find(s->udi)) return; - s->validated = 1; + s->validated = EINA_TRUE; _e_stores = eina_list_append(_e_stores, s); /* printf("STO+\n" @@ -65,7 +65,7 @@ } else { - s->trackable = 1; + s->trackable = EINA_TRUE; } } @@ -104,7 +104,7 @@ if (e_fm2_dbus_volume_find(v->udi)) return; - v->validated = 1; + v->validated = EINA_TRUE; _e_vols = eina_list_append(_e_vols, v); /* printf("VOL+\n" @@ -407,7 +407,7 @@ Eina_List *l; E_Fm2_Mount *m; - v->mounted = 1; + v->mounted = EINA_TRUE; if (mountpoint && (*mountpoint != 0)) { if (v->mount_point) @@ -426,7 +426,7 @@ { E_Fm2_Mount *m; - v->mounted = 0; + v->mounted = EINA_FALSE; if (v->mount_point) { eina_stringshare_del(v->mount_point); @@ -495,12 +495,12 @@ if (!v->mounted) { - v->auto_unmount = 1; + v->auto_unmount = EINA_TRUE; _e_fm2_client_mount(v->udi, v->mount_point); } else { - v->auto_unmount = 0; + v->auto_unmount = EINA_FALSE; m->mount_point = eina_stringshare_add(v->mount_point); } @@ -512,7 +512,7 @@ { E_Fm2_Mount *m; - v->mounted = 0; + v->mounted = EINA_FALSE; if (v->mount_point) { eina_stringshare_del(v->mount_point); @@ -545,7 +545,7 @@ Eina_List *l; E_Fm2_Mount *m; - v->mounted = 1; + v->mounted = EINA_TRUE; EINA_LIST_FOREACH(v->mounts, l, m) _e_fm2_dbus_unmount_fail(m); @@ -555,7 +555,7 @@ _e_fm2_dbus_mount_ok(E_Fm2_Mount *m) { if (m->mounted) return; - m->mounted = 1; + m->mounted = EINA_TRUE; if (m->volume) m->mount_point = eina_stringshare_add(m->volume->mount_point); if (m->mount_ok) @@ -566,7 +566,7 @@ static void _e_fm2_dbus_mount_fail(E_Fm2_Mount *m) { - m->mounted = 0; + m->mounted = EINA_FALSE; if (m->mount_point) { eina_stringshare_del(m->mount_point); @@ -580,7 +580,7 @@ _e_fm2_dbus_unmount_ok(E_Fm2_Mount *m) { if (!m->mounted) return; - m->mounted = 0; + m->mounted = EINA_FALSE; if (m->mount_point) { eina_stringshare_del(m->mount_point); @@ -594,7 +594,7 @@ _e_fm2_dbus_unmount_fail(E_Fm2_Mount *m) { if (m->mounted) return; - m->mounted = 1; + m->mounted = EINA_TRUE; if (m->unmount_fail) m->unmount_fail(m->data); } Modified: trunk/e/src/bin/e_fm_main.c =================================================================== --- trunk/e/src/bin/e_fm_main.c 2010-10-05 06:32:47 UTC (rev 53041) +++ trunk/e/src/bin/e_fm_main.c 2010-10-05 06:32:51 UTC (rev 53042) @@ -639,7 +639,7 @@ s->icon.volume = eina_stringshare_add(s->icon.volume); // printf("++STO:\n udi: %s\n bus: %s\n drive_type: %s\n model: %s\n vendor: %s\n serial: %s\n icon.drive: %s\n icon.volume: %s\n\n", s->udi, s->bus, s->drive_type, s->model, s->vendor, s->serial, s->icon.drive, s->icon.volume); - s->validated = 1; + s->validated = EINA_TRUE; { void *msg_data; int msg_size; @@ -783,7 +783,7 @@ // printf("++VOL:\n udi: %s\n uuid: %s\n fstype: %s\n size: %llu\n label: %s\n partition: %d\n partition_number: %d\n partition_label: %s\n mounted: %d\n mount_point: %s\n", v->udi, v->uuid, v->fstype, v->size, v->label, v->partition, v->partition_number, v->partition ? v->partition_label : "(not a partition)", v->mounted, v->mount_point); // if (s) printf(" for storage: %s\n", s->udi); // else printf(" storage unknown\n"); - v->validated = 1; + v->validated = EINA_TRUE; { void *msg_data; int msg_size; @@ -994,7 +994,7 @@ } #if 0 - v->mounted = 1; + v->mounted = EINA_TRUE; // printf("MOUNT: %s from %s\n", v->udi, v->mount_point); size = strlen(v->udi) + 1 + strlen(v->mount_point) + 1; buf = alloca(size); @@ -1098,7 +1098,7 @@ } #if 0 - v->mounted = 0; + v->mounted = EINA_FALSE; // printf("UNMOUNT: %s from %s\n", v->udi, v->mount_point); size = strlen(v->udi) + 1 + strlen(v->mount_point) + 1; buf = alloca(size); Modified: trunk/e/src/bin/e_fm_shared.h =================================================================== --- trunk/e/src/bin/e_fm_shared.h 2010-10-05 06:32:47 UTC (rev 53041) +++ trunk/e/src/bin/e_fm_shared.h 2010-10-05 06:32:51 UTC (rev 53042) @@ -14,11 +14,13 @@ const char *model, *vendor, *serial; - char removable, media_available; + Eina_Bool removable; + Eina_Bool media_available; unsigned long long media_size; - char requires_eject, hotpluggable; - char media_check_enabled; + Eina_Bool requires_eject; + Eina_Bool hotpluggable; + Eina_Bool media_check_enabled; struct { @@ -27,8 +29,8 @@ Eina_List *volumes; - unsigned char validated; - unsigned char trackable; + Eina_Bool validated : 1; + Eina_Bool trackable : 1; }; struct _E_Volume @@ -38,10 +40,10 @@ const char *label, *icon, *fstype; unsigned long long size; - char partition; + Eina_Bool partition; int partition_number; const char *partition_label; - char mounted; + Eina_Bool mounted; const char *mount_point; const char *parent; @@ -49,10 +51,10 @@ void *prop_handler; Eina_List *mounts; - unsigned char validated; + Eina_Bool validated : 1; - char auto_unmount; // unmount, when last associated fm window closed - char first_time; // volume discovery in init sequence + Eina_Bool auto_unmount : 1; // unmount, when last associated fm window closed + Eina_Bool first_time; // volume discovery in init sequence Ecore_Timer *guard; // operation guard timer DBusPendingCall *op; // d-bus call handle }; @@ -70,7 +72,7 @@ E_Volume *volume; - unsigned char mounted : 1; + Eina_Bool mounted : 1; }; #endif |
From: Enlightenment S. <no-...@en...> - 2010-10-05 06:33:01
|
Log: ugly function pointers to typedefs Author: discomfitor Date: 2010-10-04 23:32:54 -0700 (Mon, 04 Oct 2010) New Revision: 53043 Modified: trunk/e/src/bin/e_fm_dbus.c trunk/e/src/bin/e_fm_dbus.h trunk/e/src/bin/e_fm_shared.h Modified: trunk/e/src/bin/e_fm_dbus.c =================================================================== --- trunk/e/src/bin/e_fm_dbus.c 2010-10-05 06:32:51 UTC (rev 53042) +++ trunk/e/src/bin/e_fm_dbus.c 2010-10-05 06:32:54 UTC (rev 53043) @@ -470,8 +470,8 @@ EAPI E_Fm2_Mount * e_fm2_dbus_mount(E_Volume *v, - void (*mount_ok) (void *data), void (*mount_fail) (void *data), - void (*unmount_ok) (void *data), void (*unmount_fail) (void *data), + Ecore_Cb mount_ok, Ecore_Cb mount_fail, + Ecore_Cb unmount_ok, Ecore_Cb unmount_fail, void *data) { E_Fm2_Mount *m; Modified: trunk/e/src/bin/e_fm_dbus.h =================================================================== --- trunk/e/src/bin/e_fm_dbus.h 2010-10-05 06:32:51 UTC (rev 53042) +++ trunk/e/src/bin/e_fm_dbus.h 2010-10-05 06:32:54 UTC (rev 53043) @@ -17,8 +17,8 @@ EAPI void e_fm2_dbus_mount_del(E_Volume *v); EAPI E_Fm2_Mount *e_fm2_dbus_mount_find(const char *path); EAPI E_Fm2_Mount *e_fm2_dbus_mount(E_Volume *v, - void (*mount_ok) (void *data), void (*mount_fail) (void *data), - void (*unmount_ok) (void *data), void (*unmount_fail) (void *data), + Ecore_Cb mount_ok, Ecore_Cb mount_fail, + Ecore_Cb unmount_ok, Ecore_Cb unmount_fail, void *data); EAPI void e_fm2_dbus_mount_fail(E_Volume *v); EAPI void e_fm2_dbus_unmount(E_Fm2_Mount *m); Modified: trunk/e/src/bin/e_fm_shared.h =================================================================== --- trunk/e/src/bin/e_fm_shared.h 2010-10-05 06:32:51 UTC (rev 53042) +++ trunk/e/src/bin/e_fm_shared.h 2010-10-05 06:32:54 UTC (rev 53043) @@ -64,10 +64,10 @@ const char *udi; const char *mount_point; - void (*mount_ok) (void *data); - void (*mount_fail) (void *data); - void (*unmount_ok) (void *data); - void (*unmount_fail) (void *data); + Ecore_Cb mount_ok; + Ecore_Cb mount_fail; + Ecore_Cb unmount_ok; + Ecore_Cb unmount_fail; void *data; E_Volume *volume; |
From: Enlightenment S. <no-...@en...> - 2010-10-05 06:33:06
|
Log: more function protos to typedefs, add E_Fm_Cb(void *data, Evas_Object *obj, E_Menu *m, E_Fm2_Icon_Info *info) for casting Author: discomfitor Date: 2010-10-04 23:32:59 -0700 (Mon, 04 Oct 2010) New Revision: 53044 Modified: trunk/e/src/bin/e_fm.c trunk/e/src/bin/e_fm.h Modified: trunk/e/src/bin/e_fm.c =================================================================== --- trunk/e/src/bin/e_fm.c 2010-10-05 06:32:54 UTC (rev 53043) +++ trunk/e/src/bin/e_fm.c 2010-10-05 06:32:59 UTC (rev 53044) @@ -59,7 +59,7 @@ } regions; struct { struct { - void (*func) (void *data, Evas_Object *obj, E_Menu *m, E_Fm2_Icon_Info *info); + E_Fm_Cb func; void *data; } start, end, replace; E_Fm2_Menu_Flags flags; @@ -233,7 +233,7 @@ static void _e_fm2_icon_unrealize(E_Fm2_Icon *ic); static Eina_Bool _e_fm2_icon_visible(const E_Fm2_Icon *ic); static void _e_fm2_icon_label_set(E_Fm2_Icon *ic, Evas_Object *obj); -static Evas_Object *_e_fm2_icon_icon_direct_set(E_Fm2_Icon *ic, Evas_Object *o, void (*gen_func) (void *data, Evas_Object *obj, void *event_info), void *data, int force_gen); +static Evas_Object *_e_fm2_icon_icon_direct_set(E_Fm2_Icon *ic, Evas_Object *o, Evas_Smart_Cb gen_func, void *data, int force_gen); static void _e_fm2_icon_icon_set(E_Fm2_Icon *ic); static void _e_fm2_icon_thumb(const E_Fm2_Icon *ic, Evas_Object *oic, int force); static void _e_fm2_icon_select(E_Fm2_Icon *ic); @@ -1443,7 +1443,7 @@ } EAPI void -e_fm2_icon_menu_replace_callback_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, E_Menu *m, E_Fm2_Icon_Info *info), void *data) +e_fm2_icon_menu_replace_callback_set(Evas_Object *obj, E_Fm_Cb func, void *data) { E_Fm2_Smart_Data *sd; @@ -1456,7 +1456,7 @@ } EAPI void -e_fm2_icon_menu_start_extend_callback_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, E_Menu *m, E_Fm2_Icon_Info *info), void *data) +e_fm2_icon_menu_start_extend_callback_set(Evas_Object *obj, E_Fm_Cb func, void *data) { E_Fm2_Smart_Data *sd; @@ -1469,7 +1469,7 @@ } EAPI void -e_fm2_icon_menu_end_extend_callback_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, E_Menu *m, E_Fm2_Icon_Info *info), void *data) +e_fm2_icon_menu_end_extend_callback_set(Evas_Object *obj, E_Fm_Cb func, void *data) { E_Fm2_Smart_Data *sd; @@ -1869,7 +1869,7 @@ * @param force_gen whenever to force generation of thumbnails, even it exists. */ static Evas_Object * -_e_fm2_icon_thumb_get(Evas *evas, const E_Fm2_Icon *ic, const char *group, void (*cb) (void *data, Evas_Object *obj, void *event_info), void *data, int force_gen, const char **type_ret) +_e_fm2_icon_thumb_get(Evas *evas, const E_Fm2_Icon *ic, const char *group, Evas_Smart_Cb cb, void *data, int force_gen, const char **type_ret) { Evas_Object *o; char buf[PATH_MAX]; @@ -1898,7 +1898,7 @@ * known groups like 'icon', 'e/desktop/background' and 'e/init/splash'. */ static Evas_Object * -_e_fm2_icon_thumb_edje_get(Evas *evas, const E_Fm2_Icon *ic, void (*cb) (void *data, Evas_Object *obj, void *event_info), void *data, int force_gen, const char **type_ret) +_e_fm2_icon_thumb_edje_get(Evas *evas, const E_Fm2_Icon *ic, Evas_Smart_Cb cb, void *data, int force_gen, const char **type_ret) { char buf[PATH_MAX]; const char **itr, *group; @@ -2051,7 +2051,7 @@ * Use mime type information to set icon. */ static Evas_Object * -_e_fm2_icon_mime_get(Evas *evas, const E_Fm2_Icon *ic, void (*gen_func) (void *data, Evas_Object *obj, void *event_info), void *data, int force_gen, const char **type_ret) +_e_fm2_icon_mime_get(Evas *evas, const E_Fm2_Icon *ic, Evas_Smart_Cb gen_func, void *data, int force_gen, const char **type_ret) { Evas_Object *o; const char *icon; @@ -2165,7 +2165,7 @@ * Use heuristics to discover and set icon. */ static Evas_Object * -_e_fm2_icon_discover_get(Evas *evas, const E_Fm2_Icon *ic, void (*gen_func) (void *data, Evas_Object *obj, void *event_info), void *data, int force_gen, const char **type_ret) +_e_fm2_icon_discover_get(Evas *evas, const E_Fm2_Icon *ic, Evas_Smart_Cb gen_func, void *data, int force_gen, const char **type_ret) { const char *p; @@ -2198,7 +2198,7 @@ */ EAPI Evas_Object * e_fm2_icon_get(Evas *evas, E_Fm2_Icon *ic, - void (*gen_func) (void *data, Evas_Object *obj, void *event_info), + Evas_Smart_Cb gen_func, void *data, int force_gen, const char **type_ret) { if (ic->info.icon) @@ -4783,7 +4783,7 @@ } static Evas_Object * -_e_fm2_icon_icon_direct_set(E_Fm2_Icon *ic, Evas_Object *o, void (*gen_func) (void *data, Evas_Object *obj, void *event_info), void *data, int force_gen) +_e_fm2_icon_icon_direct_set(E_Fm2_Icon *ic, Evas_Object *o, Evas_Smart_Cb gen_func, void *data, int force_gen) { Evas_Object *oic; Modified: trunk/e/src/bin/e_fm.h =================================================================== --- trunk/e/src/bin/e_fm.h 2010-10-05 06:32:54 UTC (rev 53043) +++ trunk/e/src/bin/e_fm.h 2010-10-05 06:32:59 UTC (rev 53044) @@ -129,6 +129,8 @@ Eina_Bool broken_link : 1; }; +typedef void (*E_Fm_Cb) (void *data, Evas_Object *obj, E_Menu *m, E_Fm2_Icon_Info *info); + EAPI int e_fm2_init(void); EAPI int e_fm2_shutdown(void); EAPI Evas_Object *e_fm2_add(Evas *evas); @@ -150,9 +152,9 @@ EAPI Eina_List *e_fm2_all_list_get(Evas_Object *obj); EAPI void e_fm2_select_set(Evas_Object *obj, const char *file, int select); EAPI void e_fm2_file_show(Evas_Object *obj, const char *file); -EAPI void e_fm2_icon_menu_replace_callback_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, E_Menu *m, E_Fm2_Icon_Info *info), void *data); -EAPI void e_fm2_icon_menu_start_extend_callback_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, E_Menu *m, E_Fm2_Icon_Info *info), void *data); -EAPI void e_fm2_icon_menu_end_extend_callback_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, E_Menu *m, E_Fm2_Icon_Info *info), void *data); +EAPI void e_fm2_icon_menu_replace_callback_set(Evas_Object *obj, E_Fm_Cb func, void *data); +EAPI void e_fm2_icon_menu_start_extend_callback_set(Evas_Object *obj, E_Fm_Cb func, void *data); +EAPI void e_fm2_icon_menu_end_extend_callback_set(Evas_Object *obj, E_Fm_Cb func, void *data); EAPI void e_fm2_icon_menu_flags_set(Evas_Object *obj, E_Fm2_Menu_Flags flags); EAPI E_Fm2_Menu_Flags e_fm2_icon_menu_flags_get(Evas_Object *obj); EAPI void e_fm2_view_flags_set(Evas_Object *obj, E_Fm2_View_Flags flags); @@ -169,10 +171,8 @@ EAPI void e_fm2_operation_abort(int id); -EAPI Evas_Object * - e_fm2_icon_get(Evas *evas, E_Fm2_Icon *ic, - void (*gen_func) (void *data, Evas_Object *obj, void *event_info), - void *data, int force_gen, const char **type_ret); +EAPI Evas_Object *e_fm2_icon_get(Evas *evas, E_Fm2_Icon *ic, Evas_Smart_Cb gen_func, + void *data, int force_gen, const char **type_ret); EAPI E_Fm2_Icon_Info *e_fm2_icon_file_info_get(E_Fm2_Icon *ic); EAPI void e_fm2_icon_geometry_get(E_Fm2_Icon *ic, int *x, int *y, int *w, int *h); |
From: Enlightenment S. <no-...@en...> - 2010-10-05 06:33:07
|
Log: now we know how to use stringshare! Author: discomfitor Date: 2010-10-04 23:33:06 -0700 (Mon, 04 Oct 2010) New Revision: 53046 Modified: trunk/e/src/bin/e_fm_dbus.c Modified: trunk/e/src/bin/e_fm_dbus.c =================================================================== --- trunk/e/src/bin/e_fm_dbus.c 2010-10-05 06:33:03 UTC (rev 53045) +++ trunk/e/src/bin/e_fm_dbus.c 2010-10-05 06:33:06 UTC (rev 53046) @@ -86,9 +86,7 @@ if (!udi) return NULL; EINA_LIST_FOREACH(_e_stores, l, s) - { - if (!strcmp(udi, s->udi)) return s; - } + if (udi == s->udi) return s; return NULL; } @@ -368,9 +366,8 @@ if (!udi) return NULL; EINA_LIST_FOREACH(_e_vols, l, v) - { - if ((v->udi) && (!strcmp(udi, v->udi))) return v; - } + if (udi == v->udi) return v; + return NULL; } |
From: Enlightenment S. <no-...@en...> - 2010-10-05 06:33:09
|
Log: clean up macros Author: discomfitor Date: 2010-10-04 23:33:03 -0700 (Mon, 04 Oct 2010) New Revision: 53045 Modified: trunk/e/src/bin/e_fm_shared.h Modified: trunk/e/src/bin/e_fm_shared.h =================================================================== --- trunk/e/src/bin/e_fm_shared.h 2010-10-05 06:32:59 UTC (rev 53044) +++ trunk/e/src/bin/e_fm_shared.h 2010-10-05 06:33:03 UTC (rev 53045) @@ -126,27 +126,27 @@ Eet_Data_Descriptor *edd; Eet_Data_Descriptor_Class eddc; - if (!eet_eina_stream_data_descriptor_class_set(&eddc, sizeof (eddc), "e_volume", sizeof (E_Volume))) + if (!eet_eina_stream_data_descriptor_class_set(&eddc, sizeof(eddc), "e_volume", sizeof(E_Volume))) return NULL; // eddc.func.str_alloc = (char *(*)(const char *)) strdup; // eddc.func.str_free = (void (*)(const char *)) free; edd = eet_data_descriptor_stream_new(&eddc); -#define DAT(x, y, z) EET_DATA_DESCRIPTOR_ADD_BASIC(edd, E_Volume, x, y, z) - DAT("type", type, EET_T_INT); - DAT("udi", udi, EET_T_STRING); - DAT("uuid", uuid, EET_T_STRING); - DAT("label", label, EET_T_STRING); - DAT("fstype", fstype, EET_T_STRING); - DAT("size", size, EET_T_ULONG_LONG); - DAT("partition", partition, EET_T_CHAR); - DAT("partition_number", partition_number, EET_T_INT); - DAT("partition_label", partition_label, EET_T_STRING); - DAT("mounted", mounted, EET_T_CHAR); - DAT("mount_point", mount_point, EET_T_STRING); - DAT("parent", parent, EET_T_STRING); - DAT("first_time", first_time, EET_T_CHAR); +#define DAT(MEMBER, TYPE) EET_DATA_DESCRIPTOR_ADD_BASIC(edd, E_Volume, #MEMBER, MEMBER, EET_T_##TYPE) + DAT(type, INT); + DAT(udi, STRING); + DAT(uuid, STRING); + DAT(label, STRING); + DAT(fstype, STRING); + DAT(size, ULONG_LONG); + DAT(partition, CHAR); + DAT(partition_number, INT); + DAT(partition_label, STRING); + DAT(mounted, CHAR); + DAT(mount_point, STRING); + DAT(parent, STRING); + DAT(first_time, CHAR); #undef DAT return edd; } @@ -164,22 +164,22 @@ // eddc.func.str_free = (void (*)(const char *)) free; edd = eet_data_descriptor_stream_new(&eddc); -#define DAT(x, y, z) EET_DATA_DESCRIPTOR_ADD_BASIC(edd, E_Storage, x, y, z) - DAT("type", type, EET_T_INT); - DAT("udi", udi, EET_T_STRING); - DAT("bus", bus, EET_T_STRING); - DAT("drive_type", drive_type, EET_T_STRING); - DAT("model", model, EET_T_STRING); - DAT("vendor", vendor, EET_T_STRING); - DAT("serial", serial, EET_T_STRING); - DAT("removable", removable, EET_T_CHAR); - DAT("media_available", media_available, EET_T_CHAR); - DAT("media_size", media_size, EET_T_ULONG_LONG); - DAT("requires_eject", requires_eject, EET_T_CHAR); - DAT("hotpluggable", hotpluggable, EET_T_CHAR); - DAT("media_check_enabled", media_check_enabled, EET_T_CHAR); - DAT("icon.drive", icon.drive, EET_T_STRING); - DAT("icon.volume", icon.volume, EET_T_STRING); +#define DAT(MEMBER, TYPE) EET_DATA_DESCRIPTOR_ADD_BASIC(edd, E_Storage, #MEMBER, MEMBER, EET_T_##TYPE) + DAT(type, INT); + DAT(udi, STRING); + DAT(bus, STRING); + DAT(drive_type, STRING); + DAT(model, STRING); + DAT(vendor, STRING); + DAT(serial, STRING); + DAT(removable, CHAR); + DAT(media_available, CHAR); + DAT(media_size, ULONG_LONG); + DAT(requires_eject, CHAR); + DAT(hotpluggable, CHAR); + DAT(media_check_enabled, CHAR); + DAT(icon.drive, STRING); + DAT(icon.volume, STRING); #undef DAT return edd; } |
From: Enlightenment S. <no-...@en...> - 2010-10-05 06:33:16
|
Log: split e_fm_main.c to e_fm_ipc.c Author: discomfitor Date: 2010-10-04 23:33:09 -0700 (Mon, 04 Oct 2010) New Revision: 53047 Added: trunk/e/src/bin/e_fm_ipc.c trunk/e/src/bin/e_fm_ipc.h Modified: trunk/e/src/bin/Makefile.am trunk/e/src/bin/e_fm_main.c Modified: trunk/e/src/bin/Makefile.am =================================================================== --- trunk/e/src/bin/Makefile.am 2010-10-05 06:33:06 UTC (rev 53046) +++ trunk/e/src/bin/Makefile.am 2010-10-05 06:33:09 UTC (rev 53047) @@ -341,6 +341,7 @@ enlightenment_fm_SOURCES = \ e_fm_main.c \ +e_fm_ipc.c \ e_user.c \ e_sha1.c Modified: trunk/e/src/bin/e_fm_main.c =================================================================== --- trunk/e/src/bin/e_fm_main.c 2010-10-05 06:33:06 UTC (rev 53046) +++ trunk/e/src/bin/e_fm_main.c 2010-10-05 06:33:09 UTC (rev 53047) @@ -1,9 +1,5 @@ #include "config.h" -#ifndef _FILE_OFFSET_BITS -#define _FILE_OFFSET_BITS 64 -#endif - #ifdef HAVE_ALLOCA_H # include <alloca.h> #elif defined __GNUC__ @@ -71,125 +67,8 @@ * * mount/umount of removable devices (to go along with removable device support - put it in here and message back mount success/failure and where it is now mounted - remove from e17 itself) * */ +static E_DBus_Signal_Handler *_hal_poll = NULL; -#define DEF_SYNC_NUM 8 -#define DEF_ROUND_TRIP 0.05 -#define DEF_ROUND_TRIP_TOLERANCE 0.01 -#define DEF_MOD_BACKOFF 0.2 - -#define E_FM_MOUNT_TIMEOUT 30.0 -#define E_FM_UNMOUNT_TIMEOUT 60.0 -#define E_FM_EJECT_TIMEOUT 15.0 - -typedef struct _E_Dir E_Dir; -typedef struct _E_Fop E_Fop; -typedef struct _E_Mod E_Mod; -typedef struct _E_Fm_Slave E_Fm_Slave; -typedef struct _E_Fm_Task E_Fm_Task; - -struct _E_Dir -{ - int id; - const char *dir; - Ecore_File_Monitor *mon; - int mon_ref; - E_Dir *mon_real; - Eina_List *fq; - Ecore_Idler *idler; - int dot_order; - int sync; - double sync_time; - int sync_num; - Eina_List *recent_mods; - Ecore_Timer *recent_clean; - unsigned char cleaning : 1; -}; - -struct _E_Fop -{ - int id; - const char *src; - const char *dst; - const char *rel; - int rel_to; - int x, y; - unsigned char del_after : 1; - unsigned char gone_bad : 1; - Ecore_Idler *idler; - void *data; -}; - -struct _E_Mod -{ - const char *path; - double timestamp; - unsigned char add : 1; - unsigned char del : 1; - unsigned char mod : 1; - unsigned char done : 1; -}; - -struct _E_Fm_Slave -{ - Ecore_Exe *exe; - int id; -}; - -struct _E_Fm_Task -{ - int id; - E_Fm_Op_Type type; - E_Fm_Slave *slave; - const char *src; - const char *dst; - const char *rel; - int rel_to; - int x,y; -}; - -/* local subsystem functions */ -static int _e_ipc_init(void); -static Eina_Bool _e_ipc_cb_server_add(void *data, int type, void *event); -static Eina_Bool _e_ipc_cb_server_del(void *data, int type, void *event); -static Eina_Bool _e_ipc_cb_server_data(void *data, int type, void *event); - -static void _e_fm_monitor_start(int id, const char *path); -static void _e_fm_monitor_start_try(E_Fm_Task *task); -static void _e_fm_monitor_end(int id, const char *path); -static E_Fm_Task *_e_fm_task_get(int id); -static Eina_List *_e_fm_task_node_get(int id); -static void _e_fm_task_remove(E_Fm_Task *task); -static void _e_fm_mkdir_try(E_Fm_Task *task); -static void _e_fm_mkdir(int id, const char *src, const char *rel, int rel_to, int x, int y); -static void _e_fm_handle_error_response(int id, E_Fm_Op_Type type); - -static int _e_client_send(int id, E_Fm_Op_Type type, void *data, int size); - -static int _e_fm_slave_run(E_Fm_Op_Type type, const char *args, int id); -static E_Fm_Slave *_e_fm_slave_get(int id); -static int _e_fm_slave_send(E_Fm_Slave *slave, E_Fm_Op_Type type, void *data, int size); -static Eina_Bool _e_fm_slave_data_cb(void *data, int type, void *event); -static Eina_Bool _e_fm_slave_error_cb(void *data, int type, void *event); -static Eina_Bool _e_fm_slave_del_cb(void *data, int type, void *event); - -static void _e_cb_file_monitor(void *data, Ecore_File_Monitor *em, Ecore_File_Event event, const char *path); -static Eina_Bool _e_cb_recent_clean(void *data); - -static void _e_file_add_mod(E_Dir *ed, const char *path, E_Fm_Op_Type op, int listing); -static void _e_file_add(E_Dir *ed, const char *path, int listing); -static void _e_file_del(E_Dir *ed, const char *path); -static void _e_file_mod(E_Dir *ed, const char *path); -static void _e_file_mon_dir_del(E_Dir *ed, const char *path); -static void _e_file_mon_list_sync(E_Dir *ed); - -static Eina_Bool _e_cb_file_mon_list_idler(void *data); -static Eina_Bool _e_cb_fop_trash_idler(void *data); -static char *_e_str_list_remove(Eina_List **list, char *str); -static void _e_fm_reorder(const char *file, const char *dst, const char *relative, int after); -static void _e_dir_del(E_Dir *ed); - -static const char *_e_prepare_command(E_Fm_Op_Type type, const char *args); - #ifndef EAPI #define EAPI #endif @@ -223,30 +102,12 @@ static Eina_Bool _e_dbus_vol_unmount_timeout(void *data); static Eina_Bool _e_dbus_vol_eject_timeout(void *data); +#define E_FM_MOUNT_TIMEOUT 30.0 +#define E_FM_UNMOUNT_TIMEOUT 60.0 +#define E_FM_EJECT_TIMEOUT 15.0 - -EAPI E_Storage *e_storage_add(const char *udi); -EAPI void e_storage_del(const char *udi); -EAPI E_Storage *e_storage_find(const char *udi); - -EAPI E_Volume *e_volume_add(const char *udi, char first_time); -EAPI void e_volume_del(const char *udi); -EAPI E_Volume *e_volume_find(const char *udi); - -EAPI void e_volume_mount(E_Volume *v); -EAPI void e_volume_unmount(E_Volume *v); -EAPI void e_volume_eject(E_Volume *v); - -/* local subsystem globals */ -static Ecore_Ipc_Server *_e_ipc_server = NULL; -static E_DBus_Signal_Handler *_hal_poll = NULL; -static Eina_List *_e_dirs = NULL; -static Eina_List *_e_fops = NULL; -static int _e_sync_num = 0; - -static Eina_List *_e_fm_slaves = NULL; -static Eina_List *_e_fm_tasks = NULL; static E_DBus_Connection *_e_dbus_conn = NULL; +extern Ecore_Ipc_Server *_e_ipc_server; /* contains: * _e_volume_edd @@ -261,7 +122,7 @@ #define E_FM_SHARED_CODEC #include "e_fm_shared.h" #undef E_FM_SHARED_CODEC - +#include "e_fm_ipc.h" /* externally accessible functions */ int main(int argc, char **argv) @@ -1218,1225 +1079,3 @@ _e_dbus_cb_vol_ejected, v); } } - -/* local subsystem functions */ -static int -_e_ipc_init(void) -{ - char *sdir; - - sdir = getenv("E_IPC_SOCKET"); - if (!sdir) - { - printf("The E_IPC_SOCKET environment variable is not set. This is\n" - "exported by Enlightenment to all processes it launches.\n" - "This environment variable must be set and must point to\n" - "Enlightenment's IPC socket file (minus port number).\n"); - return 0; - } - _e_ipc_server = ecore_ipc_server_connect(ECORE_IPC_LOCAL_SYSTEM, sdir, 0, NULL); - if (!_e_ipc_server) - { - printf("Cannot connect to enlightenment - abort\n"); - return 0; - } - - ecore_event_handler_add(ECORE_IPC_EVENT_SERVER_ADD, _e_ipc_cb_server_add, NULL); - ecore_event_handler_add(ECORE_IPC_EVENT_SERVER_DEL, _e_ipc_cb_server_del, NULL); - ecore_event_handler_add(ECORE_IPC_EVENT_SERVER_DATA, _e_ipc_cb_server_data, NULL); - - return 1; -} - -static Eina_Bool -_e_ipc_cb_server_add(void *data __UNUSED__, int type __UNUSED__, void *event) -{ - Ecore_Ipc_Event_Server_Add *e; - - e = event; - ecore_ipc_server_send(e->server, - 6/*E_IPC_DOMAIN_FM*/, - E_FM_OP_HELLO, - 0, 0, 0, NULL, 0); /* send hello */ - return ECORE_CALLBACK_PASS_ON; -} - -static Eina_Bool -_e_ipc_cb_server_del(void *data __UNUSED__, int type __UNUSED__, void *event __UNUSED__) -{ - /* quit now */ - ecore_main_loop_quit(); - return ECORE_CALLBACK_PASS_ON; -} - -static void -_e_fm_monitor_start(int id, const char *path) -{ - E_Fm_Task *task = malloc(sizeof(E_Fm_Task)); - - if (!task) return; - - task->id = id; - task->type = E_FM_OP_MONITOR_START; - task->slave = NULL; - task->src = eina_stringshare_add(path); - task->dst = NULL; - task->rel = NULL; - task->rel_to = 0; - task->x = 0; - task->y = 0; - - _e_fm_tasks = eina_list_append(_e_fm_tasks, task); - - _e_fm_monitor_start_try(task); -} - -static void -_e_fm_monitor_start_try(E_Fm_Task *task) -{ - E_Dir *ed, *ped = NULL; - - DIR *dir; - Eina_List *l; - - /* look for any previous dir entries monitoring this dir */ - EINA_LIST_FOREACH(_e_dirs, l, ed) - { - if ((ed->mon) && (!strcmp(ed->dir, task->src))) - { - /* found a previous dir - save it in ped */ - ped = ed; - break; - } - } - - /* open the dir to list */ - dir = opendir(task->src); - if (!dir) - { - char buf[PATH_MAX + 4096]; - - snprintf(buf, sizeof(buf), "Cannot open directory '%s': %s.", task->src, strerror(errno)); - _e_client_send(task->id, E_FM_OP_ERROR_RETRY_ABORT, buf, strlen(buf) + 1); - } - else - { - Eina_List *files = NULL; - struct dirent *dp; - int dot_order = 0; - char buf[4096]; - FILE *f; - - /* create a new dir entry */ - ed = calloc(1, sizeof(E_Dir)); - ed->id = task->id; - ed->dir = eina_stringshare_add(task->src); - if (!ped) - { - /* if no previous monitoring dir exists - this one - * becomes the master monitor enty */ - ed->mon = ecore_file_monitor_add(ed->dir, _e_cb_file_monitor, ed); - ed->mon_ref = 1; - } - else - { - /* an existing monitor exists - ref it up */ - ed->mon_real = ped; - ped->mon_ref++; - } - _e_dirs = eina_list_append(_e_dirs, ed); - - /* read everything except a .order, . and .. */ - while ((dp = readdir(dir))) - { - if ((!strcmp(dp->d_name, ".")) || (!strcmp(dp->d_name, ".."))) - continue; - if (!strcmp(dp->d_name, ".order")) - { - dot_order = 1; - continue; - } - files = eina_list_append(files, strdup(dp->d_name)); - } - closedir(dir); - /* if there was a .order - we need to parse it */ - if (dot_order) - { - snprintf(buf, sizeof(buf), "%s/.order", task->src); - f = fopen(buf, "r"); - if (f) - { - Eina_List *f2 = NULL; - int len; - char *s; - - /* inset files in order if the existed in file - * list before */ - while (fgets(buf, sizeof(buf), f)) - { - len = strlen(buf); - if (len > 0) buf[len - 1] = 0; - s = _e_str_list_remove(&files, buf); - if (s) f2 = eina_list_append(f2, s); - } - fclose(f); - /* append whats left */ - files = eina_list_merge(f2, files); - } - } - ed->fq = files; - /* FIXME: if .order file- load it, sort all items int it - * that are in files then just append whatever is left in - * alphabetical order - */ - /* FIXME: maybe one day we can sort files here and handle - * .order file stuff here - but not today - */ - /* note that we had a .order at all */ - ed->dot_order = dot_order; - if (dot_order) - { - /* if we did - tell the E about this FIRST - it will - * decide what to do if it first sees a .order or not */ - if (!strcmp(task->src, "/")) - snprintf(buf, sizeof(buf), "/.order"); - else - snprintf(buf, sizeof(buf), "%s/.order", task->src); - if (eina_list_count(files) == 1) - _e_file_add(ed, buf, 2); - else - _e_file_add(ed, buf, 1); - } - /* send empty file - indicate empty dir */ - if (!files) _e_file_add(ed, "", 2); - /* and in an idler - list files, statting them etc. */ - ed->idler = ecore_idler_add(_e_cb_file_mon_list_idler, ed); - ed->sync_num = DEF_SYNC_NUM; - } -} - -static void -_e_fm_monitor_end(int id, const char *path) -{ - E_Fm_Task *task; - Eina_List *l; - E_Dir *ed; - - EINA_LIST_FOREACH(_e_dirs, l, ed) - /* look for the dire entry to stop monitoring */ - if ((id == ed->id) && (!strcmp(ed->dir, path))) - { - /* if this is not the real monitoring node - unref the - * real one */ - if (ed->mon_real) - { - /* unref original monitor node */ - ed->mon_real->mon_ref--; - if (ed->mon_real->mon_ref == 0) - { - /* original is at 0 ref - free it */ - _e_dir_del(ed->mon_real); - ed->mon_real = NULL; - } - /* free this node */ - _e_dir_del(ed); - } - /* this is a core monitoring node - remove ref */ - else - { - ed->mon_ref--; - /* we are the last ref - free */ - if (ed->mon_ref == 0) _e_dir_del(ed); - } - /* remove from dirs list anyway */ - _e_dirs = eina_list_remove_list(_e_dirs, l); - break; - } - - task = _e_fm_task_get(id); - if (task) _e_fm_task_remove(task); -} - -static E_Fm_Task * -_e_fm_task_get(int id) -{ - Eina_List *l = _e_fm_task_node_get(id); - - return (E_Fm_Task *)eina_list_data_get(l); -} - -static Eina_List * -_e_fm_task_node_get(int id) -{ - E_Fm_Task *task; - Eina_List *l; - - EINA_LIST_FOREACH(_e_fm_tasks, l, task) - if (task->id == id) - return l; - - return NULL; -} - -static void -_e_fm_task_remove(E_Fm_Task *task) -{ - Eina_List *l = _e_fm_task_node_get(task->id); - - switch(task->type) - { - case E_FM_OP_MONITOR_START: - { - E_Dir ted; - - /* we can't open the dir - tell E the dir is deleted as - * * we can't look in it */ - memset(&ted, 0, sizeof(E_Dir)); - ted.id = task->id; - _e_file_mon_dir_del(&ted, task->src); - } - break; - default: - break; - } - - _e_fm_tasks = eina_list_remove_list(_e_fm_tasks, l); - - if (task->src) eina_stringshare_del(task->src); - if (task->dst) eina_stringshare_del(task->dst); - if (task->rel) eina_stringshare_del(task->rel); - - free(task); -} - -static void -_e_fm_mkdir_try(E_Fm_Task *task) -{ - char buf[PATH_MAX + 4096]; - - if (mkdir(task->src, S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) < 0) - { - snprintf(buf, sizeof(buf), "Cannot make directory '%s': %s.", task->src, strerror(errno)); - _e_client_send(task->id, E_FM_OP_ERROR_RETRY_ABORT, buf, strlen(buf) + 1); - } - else - { - _e_fm_reorder(ecore_file_file_get(task->src), ecore_file_dir_get(task->src), task->rel, task->rel_to); - _e_fm_task_remove(task); - } -} - -static void -_e_fm_mkdir(int id, const char *src, const char *rel, int rel_to __UNUSED__, int x, int y) -{ - E_Fm_Task *task; - - task = malloc(sizeof(E_Fm_Task)); - - task->id = id; - task->type = E_FM_OP_MKDIR; - task->slave = NULL; - task->src = eina_stringshare_add(src); - task->dst = NULL; - task->rel = eina_stringshare_add(rel); - task->x = x; - task->y = y; - - _e_fm_tasks = eina_list_append(_e_fm_tasks, task); - - _e_fm_mkdir_try(task); -} - -static void -_e_fm_handle_error_response(int id, E_Fm_Op_Type type) -{ - E_Fm_Task *task = _e_fm_task_get(id); - E_Fm_Slave *slave = NULL; - - if (!task) - { - slave = _e_fm_slave_get(id); - if (slave) _e_fm_slave_send(slave, type, NULL, 0); - return; - } - - if (type == E_FM_OP_ERROR_RESPONSE_ABORT) - { - _e_fm_task_remove(task); - } - else if (type == E_FM_OP_ERROR_RESPONSE_RETRY) - { - switch(task->type) - { - case E_FM_OP_MKDIR: - _e_fm_mkdir_try(task); - break; - - case E_FM_OP_MONITOR_START: - _e_fm_monitor_start_try(task); - default: - break; - } - } -} - - -static Eina_Bool -_e_ipc_cb_server_data(void *data __UNUSED__, int type __UNUSED__, void *event) -{ - Ecore_Ipc_Event_Server_Data *e; - - e = event; - if (e->major != 6/*E_IPC_DOMAIN_FM*/) return ECORE_CALLBACK_PASS_ON; - switch (e->minor) - { - case E_FM_OP_MONITOR_START: /* monitor dir (and implicitly list) */ - { - _e_fm_monitor_start(e->ref, e->data); - } - break; - case E_FM_OP_MONITOR_END: /* monitor dir end */ - { -// printf("End listing directory: %s\n", e->data); - _e_fm_monitor_end(e->ref, e->data); - } - break; - case E_FM_OP_REMOVE: /* fop delete file/dir */ - { - _e_fm_slave_run(E_FM_OP_REMOVE, (const char *)e->data, e->ref); - } - break; - case E_FM_OP_TRASH: /* fop trash file/dir */ - { - E_Fop *fop; - - fop = calloc(1, sizeof(E_Fop)); - if (fop) - { - fop->id = e->ref; - fop->src = eina_stringshare_add(e->data); - _e_fops = eina_list_append(_e_fops, fop); - fop->idler = ecore_idler_add(_e_cb_fop_trash_idler, fop); - } - } - break; - case E_FM_OP_MOVE: /* fop mv file/dir */ - { - _e_fm_slave_run(E_FM_OP_MOVE, (const char *)e->data, e->ref); - } - break; - case E_FM_OP_COPY: /* fop cp file/dir */ - { - _e_fm_slave_run(E_FM_OP_COPY, (const char *)e->data, e->ref); - } - break; - case E_FM_OP_SYMLINK: /* fop ln -s */ - { - _e_fm_slave_run(E_FM_OP_SYMLINK, (const char *)e->data, e->ref); - } - break; - case E_FM_OP_MKDIR: /* fop mkdir */ - { - const char *src, *rel; - int rel_to, x, y; - - src = e->data; - rel = src + strlen(src) + 1; - memcpy(&rel_to, rel + strlen(rel) + 1, sizeof(int)); - memcpy(&x, rel + strlen(rel) + 1 + sizeof(int), sizeof(int)); - memcpy(&y, rel + strlen(rel) + 1 + sizeof(int), sizeof(int)); - - _e_fm_mkdir(e->ref, src, rel, rel_to, x, y); - } - break; - case E_FM_OP_MOUNT: /* mount udi mountpoint */ - { - E_Volume *v; - const char *udi, *mountpoint; - - udi = e->data; - mountpoint = udi + strlen(udi) + 1; - v = e_volume_find(udi); - if (v) - { - if (mountpoint[0]) - { - if (v->mount_point) eina_stringshare_del(v->mount_point); - v->mount_point = eina_stringshare_add(mountpoint); - } -// printf("REQ M\n"); - e_volume_mount(v); - } - } - break; - case E_FM_OP_UNMOUNT:/* unmount udi */ - { - E_Volume *v; - const char *udi; - - udi = e->data; - v = e_volume_find(udi); - if (v) - { -// printf("REQ UM\n"); - e_volume_unmount(v); - } - } - break; - case E_FM_OP_EJECT:/* eject udi */ - { - E_Volume *v; - const char *udi; - - udi = e->data; - v = e_volume_find(udi); - if (v) - e_volume_eject(v); - } - break; - case E_FM_OP_QUIT: /* quit */ - ecore_main_loop_quit(); - break; - case E_FM_OP_MONITOR_SYNC: /* mon list sync */ - { - Eina_List *l; - E_Dir *ed; - double stime; - - EINA_LIST_FOREACH(_e_dirs, l, ed) - { - if (ed->fq) - { - if (ed->sync == e->response) - { - stime = ecore_time_get() - ed->sync_time; - /* try keep round trips to round trip tolerance */ - if - (stime < (DEF_ROUND_TRIP - DEF_ROUND_TRIP_TOLERANCE)) - ed->sync_num += 1; - else if - (stime > (DEF_ROUND_TRIP + DEF_ROUND_TRIP_TOLERANCE)) - ed->sync_num -= 1; - /* always sync at least 1 file */ - if (ed->sync_num < 1) ed->sync_num = 1; - ed->idler = ecore_idler_add(_e_cb_file_mon_list_idler, ed); - break; - } - } - } - } - break; - case E_FM_OP_ABORT: // abort copy/move/delete operation by user - { - E_Fm_Slave *slave = _e_fm_slave_get(e->ref); - if (slave) - _e_fm_slave_send(slave, e->minor, NULL, 0); - } - break; - case E_FM_OP_ERROR_RESPONSE_IGNORE_THIS: - case E_FM_OP_ERROR_RESPONSE_IGNORE_ALL: - case E_FM_OP_ERROR_RESPONSE_ABORT: - case E_FM_OP_ERROR_RESPONSE_RETRY: - { - _e_fm_handle_error_response(e->ref, e->minor); - } - break; - case E_FM_OP_OVERWRITE_RESPONSE_NO: - case E_FM_OP_OVERWRITE_RESPONSE_NO_ALL: - case E_FM_OP_OVERWRITE_RESPONSE_YES: - case E_FM_OP_OVERWRITE_RESPONSE_YES_ALL: - { - _e_fm_slave_send(_e_fm_slave_get(e->ref), e->minor, NULL, 0); - } - break; - case E_FM_OP_REORDER: - { - const char *file, *dst, *relative; - int after; - char *p = e->data; - - file = p; - p += strlen(file) + 1; - - dst = p; - p += strlen(dst) + 1; - - relative = p; - p += strlen(relative) + 1; - - after = *((int *)p); - - _e_fm_reorder(file, dst, relative, after); - } - break; - default: - break; - } - /* always send back an "OK" for each request so e can basically keep a - * count of outstanding requests - maybe for balancing between fm - * slaves later. ref_to is set to the the ref id in the request to - * allow for async handling later */ - ecore_ipc_server_send(_e_ipc_server, - 6/*E_IPC_DOMAIN_FM*/, - E_FM_OP_OK, - 0, e->ref, 0, NULL, 0); - return ECORE_CALLBACK_PASS_ON; -} - -static int _e_client_send(int id, E_Fm_Op_Type type, void *data, int size) -{ - return ecore_ipc_server_send(_e_ipc_server, - 6/*E_IPC_DOMAIN_FM*/, - type, - id, 0, 0, data, size); -} - -static int _e_fm_slave_run(E_Fm_Op_Type type, const char *args, int id) -{ - E_Fm_Slave *slave; - const char *command; - - slave = malloc(sizeof(E_Fm_Slave)); - - if (!slave) return 0; - - command = eina_stringshare_add(_e_prepare_command(type, args)); - - slave->id = id; - slave->exe = ecore_exe_pipe_run(command, ECORE_EXE_PIPE_WRITE | ECORE_EXE_PIPE_READ | ECORE_EXE_PIPE_ERROR, slave ); -// printf("EFM command: %s\n", command); - - eina_stringshare_del(command); - - _e_fm_slaves = eina_list_append(_e_fm_slaves, slave); - - return (!!slave->exe); -} - -static E_Fm_Slave *_e_fm_slave_get(int id) -{ - Eina_List *l; - E_Fm_Slave *slave; - - EINA_LIST_FOREACH(_e_fm_slaves, l, slave) - { - if (slave->id == id) - return slave; - } - - return NULL; -} - -static int _e_fm_slave_send(E_Fm_Slave *slave, E_Fm_Op_Type type, void *data, int size) -{ - char *sdata; - int ssize; - int magic = E_FM_OP_MAGIC; - int result; - - ssize = 3 * sizeof(int) + size; - sdata = malloc(ssize); - - if (!sdata) return 0; - - memcpy(sdata, &magic, sizeof(int)); - memcpy(sdata + sizeof(int), &type, sizeof(E_Fm_Op_Type)); - memcpy(sdata + sizeof(int) + sizeof(E_Fm_Op_Type), &size, sizeof(int)); - - memcpy(sdata + 2 * sizeof(int) + sizeof(E_Fm_Op_Type), data, size); - - result = ecore_exe_send(slave->exe, sdata, ssize); - - free(sdata); - - return result; -} - -static Eina_Bool -_e_fm_slave_data_cb(void *data __UNUSED__, int type __UNUSED__, void *event) -{ - Ecore_Exe_Event_Data *e = event; - E_Fm_Slave *slave; - int magic, id, size; - char *sdata; - int ssize; - - if (!e) return ECORE_CALLBACK_PASS_ON; - - slave = ecore_exe_data_get(e->exe); - - sdata = e->data; - ssize = e->size; - - while (ssize >= 3 * sizeof(int)) - { - memcpy(&magic, sdata, sizeof(int)); - memcpy(&id, sdata + sizeof(int), sizeof(int)); - memcpy(&size, sdata + sizeof(int) + sizeof(int), sizeof(int)); - - if (magic != E_FM_OP_MAGIC) - { - printf("%s:%s(%d) Wrong magic number from slave #%d. ", __FILE__, __FUNCTION__, __LINE__, slave->id); - break; - } - - sdata += 3 * sizeof(int); - ssize -= 3 * sizeof(int); - - if (id == E_FM_OP_OVERWRITE) - { - _e_client_send(slave->id, E_FM_OP_OVERWRITE, sdata, size); - printf("%s:%s(%d) Overwrite sent to client from slave #%d.\n", __FILE__, __FUNCTION__, __LINE__, slave->id); - } - else if (id == E_FM_OP_ERROR) - { - _e_client_send(slave->id, E_FM_OP_ERROR, sdata, size); - } - else if (id == E_FM_OP_PROGRESS) - { - _e_client_send(slave->id, E_FM_OP_PROGRESS, sdata, size); - } - - sdata += size; - ssize -= size; - } - - return ECORE_CALLBACK_PASS_ON; -} - -static Eina_Bool -_e_fm_slave_error_cb(void *data __UNUSED__, int type __UNUSED__, void *event) -{ - Ecore_Exe_Event_Data *e = event; - E_Fm_Slave *slave; - - if (!e) return 1; - - slave = ecore_exe_data_get(e->exe); - - printf("EFM: Data from STDERR of slave #%d: %.*s", slave->id, e->size, (char *)e->data); - - return 1; -} - -static Eina_Bool -_e_fm_slave_del_cb(void *data __UNUSED__, int type __UNUSED__, void *event) -{ - Ecore_Exe_Event_Del *e = event; - E_Fm_Slave *slave; - - if (!e) return 1; - - slave = ecore_exe_data_get(e->exe); - _e_client_send(slave->id, E_FM_OP_QUIT, NULL, 0); - - if (!slave) return 1; - - _e_fm_slaves = eina_list_remove(_e_fm_slaves, (void *)slave); - free(slave); - - return 1; -} - -static void -_e_cb_file_monitor(void *data __UNUSED__, Ecore_File_Monitor *em __UNUSED__, Ecore_File_Event event, const char *path) -{ - E_Dir *ed; - char *dir, *rp, *drp; - Eina_List *l; - - dir = ecore_file_dir_get(path); - /* FIXME: get no create events if dir is empty */ - if ((event == ECORE_FILE_EVENT_CREATED_FILE) || - (event == ECORE_FILE_EVENT_CREATED_DIRECTORY)) - { - rp = ecore_file_realpath(dir); - EINA_LIST_FOREACH(_e_dirs, l, ed) - { - drp = ecore_file_realpath(ed->dir); - if (drp) - { - if (!strcmp(rp, drp)) - _e_file_add(ed, path, 0); - free(drp); - } - } - free(rp); - } - else if ((event == ECORE_FILE_EVENT_DELETED_FILE) || - (event == ECORE_FILE_EVENT_DELETED_DIRECTORY)) - { - rp = ecore_file_realpath(dir); - EINA_LIST_FOREACH(_e_dirs, l, ed) - { - drp = ecore_file_realpath(ed->dir); - if (drp) - { - if (!strcmp(rp, drp)) - _e_file_del(ed, path); - free(drp); - } - } - free(rp); - } - else if (event == ECORE_FILE_EVENT_MODIFIED) - { - rp = ecore_file_realpath(dir); - EINA_LIST_FOREACH(_e_dirs, l, ed) - { - drp = ecore_file_realpath(ed->dir); - if (drp) - { - if (!strcmp(rp, drp)) - _e_file_mod(ed, path); - free(drp); - } - } - free(rp); - } - else if (event == ECORE_FILE_EVENT_DELETED_SELF) - { - rp = ecore_file_realpath(path); - EINA_LIST_FOREACH(_e_dirs, l, ed) - { - drp = ecore_file_realpath(ed->dir); - if (drp) - { - if (!strcmp(rp, drp)) - _e_file_mon_dir_del(ed, path); - free(drp); - } - } - free(rp); - } - free(dir); -} - -static Eina_Bool -_e_cb_recent_clean(void *data) -{ - E_Dir *ed; - Eina_List *l, *pl; - E_Mod *m; - double t_now; - - ed = data; - ed->cleaning = 1; - t_now = ecore_time_unix_get(); - EINA_LIST_FOREACH_SAFE(ed->recent_mods, pl, l, m) - if ((m->mod) && ((t_now - m->timestamp) >= DEF_MOD_BACKOFF)) - { - ed->recent_mods = eina_list_remove_list(ed->recent_mods, pl); - if (!m->done) _e_file_add_mod(ed, m->path, 5, 0); - eina_stringshare_del(m->path); - free(m); - } - ed->cleaning = 0; - if (ed->recent_mods) return ECORE_CALLBACK_RENEW; - ed->recent_clean = NULL; - return ECORE_CALLBACK_CANCEL; -} - - -static void -_e_file_add_mod(E_Dir *ed, const char *path, E_Fm_Op_Type op, int listing) -{ - struct stat st; - char *lnk = NULL, *rlnk = NULL; - int broken_lnk = 0; - int bsz = 0; - unsigned char *p, buf - /* file add/change format is as follows: - * - * stat_info[stat size] + broken_link[1] + path[n]\0 + lnk[n]\0 + rlnk[n]\0 */ - [sizeof(struct stat) + 1 + 4096 + 4096 + 4096]; - - /* FIXME: handle BACKOFF */ - if ((!listing) && (op == E_FM_OP_FILE_CHANGE) && (!ed->cleaning)) /* 5 == mod */ - { - Eina_List *l; - E_Mod *m; - double t_now; - int skip = 0; - - t_now = ecore_time_unix_get(); - EINA_LIST_FOREACH(ed->recent_mods, l, m) - { - if ((m->mod) && (!strcmp(m->path, path))) - { - if ((t_now - m->timestamp) < DEF_MOD_BACKOFF) - { - m->done = 0; - skip = 1; - } - } - } - if (!skip) - { - m = calloc(1, sizeof(E_Mod)); - m->path = eina_stringshare_add(path); - m->mod = 1; - m->done = 1; - m->timestamp = t_now; - ed->recent_mods = eina_list_append(ed->recent_mods, m); - } - if ((!ed->recent_clean) && (ed->recent_mods)) - ed->recent_clean = ecore_timer_add(DEF_MOD_BACKOFF, _e_cb_recent_clean, ed); - if (skip) - { -// printf("SKIP MOD %s %3.3f\n", path, t_now); - return; - } - } -// printf("MOD %s %3.3f\n", path, ecore_time_unix_get()); - lnk = ecore_file_readlink(path); - memset(&st, 0, sizeof(struct stat)); - if (stat(path, &st) == -1) - { - if ((path[0] == 0) || (lnk)) broken_lnk = 1; - else return; - } - if ((lnk) && (lnk[0] != '/')) rlnk = ecore_file_realpath(path); - else if (lnk) rlnk = strdup(lnk); - if (!lnk) lnk = strdup(""); - if (!rlnk) rlnk = strdup(""); - - p = buf; - /* NOTE: i am NOT converting this data to portable arch/os independent - * format. i am ASSUMING e_fm_main and e are local and built together - * and thus this will work. if this ever changes this here needs to - * change */ - memcpy(buf, &st, sizeof(struct stat)); - p += sizeof(struct stat); - - p[0] = broken_lnk; - p += 1; - - strcpy((char *)p, path); - p += strlen(path) + 1; - - strcpy((char *)p, lnk); - p += strlen(lnk) + 1; - - strcpy((char *)p, rlnk); - p += strlen(rlnk) + 1; - - bsz = p - buf; - ecore_ipc_server_send(_e_ipc_server, 6/*E_IPC_DOMAIN_FM*/, op, 0, ed->id, - listing, buf, bsz); - if (lnk) free(lnk); - if (rlnk) free(rlnk); -} - -static void -_e_file_add(E_Dir *ed, const char *path, int listing) -{ - if (!listing) - { - /* FIXME: handle BACKOFF */ - } - _e_file_add_mod(ed, path, E_FM_OP_FILE_ADD, listing);/*file add*/ -} - -static void -_e_file_del(E_Dir *ed, const char *path) -{ - { - /* FIXME: handle BACKOFF */ - } - ecore_ipc_server_send(_e_ipc_server, - 6/*E_IPC_DOMAIN_FM*/, - E_FM_OP_FILE_DEL, - 0, ed->id, 0, (void *)path, strlen(path) + 1); -} - -static void -_e_file_mod(E_Dir *ed, const char *path) -{ - { - /* FIXME: handle BACKOFF */ - } - _e_file_add_mod(ed, path, E_FM_OP_FILE_CHANGE, 0);/*file change*/ -} - -static void -_e_file_mon_dir_del(E_Dir *ed, const char *path) -{ - ecore_ipc_server_send(_e_ipc_server, - 6/*E_IPC_DOMAIN_FM*/, - E_FM_OP_MONITOR_END, - 0, ed->id, 0, (void *)path, strlen(path) + 1); -} - -static void -_e_file_mon_list_sync(E_Dir *ed) -{ - _e_sync_num++; - if (_e_sync_num == 0) _e_sync_num = 1; - ed->sync = _e_sync_num; - ed->sync_time = ecore_time_get(); - ecore_ipc_server_send(_e_ipc_server, - 6/*E_IPC_DOMAIN_FM*/, - E_FM_OP_MONITOR_SYNC, - 0, ed->id, ed->sync, NULL, 0); -} - -static Eina_Bool -_e_cb_file_mon_list_idler(void *data) -{ - E_Dir *ed; - int n = 0; - char *file, buf[4096]; - - ed = data; - /* FIXME: spool off files in idlers and handle sync req's */ - while (ed->fq) - { - file = eina_list_data_get(ed->fq); - if (!((ed->dot_order) && (!strcmp(file, ".order")))) - { - if (!strcmp(ed->dir, "/")) - snprintf(buf, sizeof(buf), "/%s", file); - else - snprintf(buf, sizeof(buf), "%s/%s", ed->dir, file); - _e_file_add(ed, buf, 1); - } - free(file); - ed->fq = eina_list_remove_list(ed->fq, ed->fq); - n++; - if (n == ed->sync_num) - { - _e_file_mon_list_sync(ed); - ed->idler = NULL; - if (!ed->fq) _e_file_add(ed, "", 2); - return 0; - } - } - ed->sync_num = DEF_SYNC_NUM; - ed->sync = 0; - ed->sync_time = 0.0; - ed->idler = NULL; - if (!ed->fq) _e_file_add(ed, "", 2); - return ECORE_CALLBACK_CANCEL; -} - -static Eina_Bool -_e_cb_fop_trash_idler(void *data) -{ - E_Fop *fop = NULL; - FILE *info = NULL; - const char *trash_dir = NULL; - const char *filename = NULL; - const char *escname = NULL; - const char *dest = NULL; - char buf[4096]; - unsigned int i = 0; - struct tm *lt; - time_t t; - - /* FIXME: For now, this will only implement 'home trash' - * Later, implement mount/remote/removable device trash, if wanted. */ - - fop = (E_Fop *)data; - if (!fop) return 0; - - /* Check that 'home trash' and subsequesnt dirs exists, create if not */ - snprintf(buf, sizeof(buf), "%s/Trash", efreet_data_home_get()); - trash_dir = eina_stringshare_add(buf); - snprintf(buf, sizeof(buf), "%s/files", trash_dir); - if (!ecore_file_mkpath(buf)) return 0; - snprintf(buf, sizeof(buf), "%s/info", trash_dir); - if (!ecore_file_mkpath(buf)) return 0; - - filename = eina_stringshare_add(strrchr(fop->src, '/')); - escname = ecore_file_escape_name(filename); - eina_stringshare_del(filename); - - /* Find path for info file. Pointer address is part of the filename to - * alleviate some of the looping in case of multiple filenames with the - * same name. Also use the name of the file to help */ - do - { - snprintf(buf, sizeof(buf), "%s/file%s.%p.%u", trash_dir, escname, - fop, i++); - } - while (ecore_file_exists(buf)); - dest = eina_stringshare_add(buf); - - /* Try to move the file */ - if (rename(fop->src, dest)) - { - if (errno == EXDEV) - { - /* Move failed. Spec says delete files that can't be trashed */ - ecore_file_unlink(fop->src); - return ECORE_CALLBACK_CANCEL; - } - } - - /* Move worked. Create info file */ - snprintf(buf, sizeof(buf), "%s/info%s.%p.%u.trashinfo", trash_dir, - escname, fop, --i); - info = fopen(buf, "w"); - if (info) - { - t = time(NULL); - lt = localtime(&t); - - /* Insert info for trashed file */ - fprintf(info, - "[Trash Info]\nPath=%s\nDeletionDate=%04u%02u%02uT%02u:%02u:%02u", - fop->src, lt->tm_year+1900, lt->tm_mon+1, lt->tm_mday, - lt->tm_hour, lt->tm_min, lt->tm_sec); - fclose(info); - } - else - /* Could not create info file. Spec says to put orig file back */ - rename(dest, fop->src); - - if (dest) eina_stringshare_del(dest); - if (trash_dir) eina_stringshare_del(trash_dir); - eina_stringshare_del(fop->src); - eina_stringshare_del(fop->dst); - free(fop); - _e_fops = eina_list_remove(_e_fops, fop); - return ECORE_CALLBACK_CANCEL; -} - -static char * -_e_str_list_remove(Eina_List **list, char *str) -{ - Eina_List *l; - char *s; - - EINA_LIST_FOREACH(*list, l, s) - if (!strcmp(s, str)) - { - *list = eina_list_remove_list(*list, l); - return s; - } - - return NULL; -} - -static void -_e_fm_reorder(const char *file, const char *dst, const char *relative, int after) -{ - char buffer[PATH_MAX]; - char order[PATH_MAX]; - - if (!file || !dst || !relative) return; - if (after != 0 && after != 1 && after != 2) return; -// printf("%s:%s(%d) Reorder:\n\tfile = %s\n\tdst = %s\n\trelative = %s\n\tafter = %d\n", __FILE__, __FUNCTION__, __LINE__, file, dst, relative, after); - - snprintf(order, sizeof(order), "%s/.order", dst); - if (ecore_file_exists(order)) - { - FILE *forder; - Eina_List *files = NULL, *l; - char *str; - - forder = fopen(order, "r"); - if (forder) - { - int len; - - /* inset files in order if the existed in file - * list before */ - while (fgets(buffer, sizeof(buffer), forder)) - { - len = strlen(buffer); - if (len > 0) buffer[len - 1] = 0; - files = eina_list_append(files, strdup(buffer)); - } - fclose(forder); - } - /* remove dest file from .order - if there */ - EINA_LIST_FOREACH(files, l, str) - if (!strcmp(str, file)) - { - free(str); - files = eina_list_remove_list(files, l); - break; - } - /* now insert dest into list or replace entry */ - EINA_LIST_FOREACH(files, l, str) - { - if (!strcmp(str, relative)) - { - if (after == 2) /* replace */ - { - free(str); - l->data = strdup(file); - } - else if (after == 0) /* before */ - { - files = eina_list_prepend_relative_list(files, strdup(file), l); - } - else if (after == 1) /* after */ - { - files = eina_list_append_relative_list(files, strdup(file), l); - } - break; - } - } - - forder = fopen(order, "w"); - if (forder) - { - EINA_LIST_FREE(files, str) - { - fprintf(forder, "%s\n", str); - free(str); - } - fclose(forder); - } - } -} - -static void -_e_dir_del(E_Dir *ed) -{ - void *data; - E_Mod *m; - - eina_stringshare_del(ed->dir); - if (ed->idler) ecore_idler_del(ed->idler); - if (ed->recent_clean) - ecore_timer_del(ed->recent_clean); - EINA_LIST_FREE(ed->recent_mods, m) - { - eina_stringshare_del(m->path); - free(m); - } - EINA_LIST_FREE(ed->fq, data) - free(data); - free(ed); -} - -static const char * -_e_prepare_command(E_Fm_Op_Type type, const char *args) -{ - char *buffer; - unsigned int length = 0; - char command[4]; - - if (type == E_FM_OP_MOVE) - strcpy(command, "mv"); - else if (type == E_FM_OP_REMOVE) - strcpy(command, "rm"); - else if (type == E_FM_OP_COPY) - strcpy(command, "cp"); - else if (type == E_FM_OP_SYMLINK) - strcpy(command, "lns"); - else - strcpy(command, "???"); - - length = 256 + strlen(getenv("E_LIB_DIR")) + strlen(args); - buffer = malloc(length); - snprintf(buffer, length, - "%s/enlightenment/utils/enlightenment_fm_op %s %s", - getenv("E_LIB_DIR"), command, args); - - return buffer; -} |
From: Enlightenment S. <no-...@en...> - 2010-10-05 06:33:18
|
Log: reorder inits Author: discomfitor Date: 2010-10-04 23:33:12 -0700 (Mon, 04 Oct 2010) New Revision: 53048 Modified: trunk/e/src/bin/e_fm_main.c Modified: trunk/e/src/bin/e_fm_main.c =================================================================== --- trunk/e/src/bin/e_fm_main.c 2010-10-05 06:33:09 UTC (rev 53047) +++ trunk/e/src/bin/e_fm_main.c 2010-10-05 06:33:12 UTC (rev 53048) @@ -143,8 +143,8 @@ } } + eina_init(); ecore_init(); - eina_init(); ecore_app_args_set(argc, (const char **)argv); e_dbus_init(); |
From: Enlightenment S. <no-...@en...> - 2010-10-05 06:33:23
|
Log: abstract e_fm init/shutdown to prep for udev, namespace e_fm_ipc functions for sanity Author: discomfitor Date: 2010-10-04 23:33:16 -0700 (Mon, 04 Oct 2010) New Revision: 53049 Modified: trunk/e/src/bin/e_fm_ipc.c trunk/e/src/bin/e_fm_ipc.h trunk/e/src/bin/e_fm_main.c Modified: trunk/e/src/bin/e_fm_ipc.c =================================================================== --- trunk/e/src/bin/e_fm_ipc.c 2010-10-05 06:33:12 UTC (rev 53048) +++ trunk/e/src/bin/e_fm_ipc.c 2010-10-05 06:33:16 UTC (rev 53049) @@ -55,7 +55,7 @@ typedef struct _E_Dir E_Dir; typedef struct _E_Fop E_Fop; typedef struct _E_Mod E_Mod; -typedef struct _E_Fm_Slave E_Fm_Slave; +typedef struct _e_fm_ipc_slave E_Fm_Slave; typedef struct _E_Fm_Task E_Fm_Task; struct _E_Dir @@ -100,7 +100,7 @@ unsigned char done : 1; }; -struct _E_Fm_Slave +struct _e_fm_ipc_slave { Ecore_Exe *exe; int id; @@ -120,59 +120,59 @@ #include "e_fm_shared.h" /* local subsystem globals */ -Ecore_Ipc_Server *_e_ipc_server = NULL; +Ecore_Ipc_Server *_e_fm_ipc_server = NULL; static Eina_List *_e_dirs = NULL; static Eina_List *_e_fops = NULL; static int _e_sync_num = 0; -static Eina_List *_e_fm_slaves = NULL; +static Eina_List *_e_fm_ipc_slaves = NULL; static Eina_List *_e_fm_tasks = NULL; /* local subsystem functions */ -static Eina_Bool _e_ipc_cb_server_add(void *data, int type, void *event); -static Eina_Bool _e_ipc_cb_server_del(void *data, int type, void *event); -static Eina_Bool _e_ipc_cb_server_data(void *data, int type, void *event); +static Eina_Bool _e_fm_ipc_cb_server_add(void *data, int type, void *event); +static Eina_Bool _e_fm_ipc_cb_server_del(void *data, int type, void *event); +static Eina_Bool _e_fm_ipc_cb_server_data(void *data, int type, void *event); -static void _e_fm_monitor_start(int id, const char *path); -static void _e_fm_monitor_start_try(E_Fm_Task *task); -static void _e_fm_monitor_end(int id, const char *path); -static E_Fm_Task *_e_fm_task_get(int id); -static Eina_List *_e_fm_task_node_get(int id); -static void _e_fm_task_remove(E_Fm_Task *task); -static void _e_fm_mkdir_try(E_Fm_Task *task); -static void _e_fm_mkdir(int id, const char *src, const char *rel, int rel_to, int x, int y); -static void _e_fm_handle_error_response(int id, E_Fm_Op_Type type); +static void _e_fm_ipc_monitor_start(int id, const char *path); +static void _e_fm_ipc_monitor_start_try(E_Fm_Task *task); +static void _e_fm_ipc_monitor_end(int id, const char *path); +static E_Fm_Task *_e_fm_ipc_task_get(int id); +static Eina_List *_e_fm_ipc_task_node_get(int id); +static void _e_fm_ipc_task_remove(E_Fm_Task *task); +static void _e_fm_ipc_mkdir_try(E_Fm_Task *task); +static void _e_fm_ipc_mkdir(int id, const char *src, const char *rel, int rel_to, int x, int y); +static void _e_fm_ipc_handle_error_response(int id, E_Fm_Op_Type type); -static int _e_client_send(int id, E_Fm_Op_Type type, void *data, int size); +static int _e_fm_ipc_client_send(int id, E_Fm_Op_Type type, void *data, int size); -static int _e_fm_slave_run(E_Fm_Op_Type type, const char *args, int id); -static E_Fm_Slave *_e_fm_slave_get(int id); -static int _e_fm_slave_send(E_Fm_Slave *slave, E_Fm_Op_Type type, void *data, int size); +static int _e_fm_ipc_slave_run(E_Fm_Op_Type type, const char *args, int id); +static E_Fm_Slave *_e_fm_ipc_slave_get(int id); +static int _e_fm_ipc_slave_send(E_Fm_Slave *slave, E_Fm_Op_Type type, void *data, int size); -static void _e_cb_file_monitor(void *data, Ecore_File_Monitor *em, Ecore_File_Event event, const char *path); -static Eina_Bool _e_cb_recent_clean(void *data); +static void _e_fm_ipc_cb_file_monitor(void *data, Ecore_File_Monitor *em, Ecore_File_Event event, const char *path); +static Eina_Bool _e_fm_ipc_cb_recent_clean(void *data); -static void _e_file_add_mod(E_Dir *ed, const char *path, E_Fm_Op_Type op, int listing); -static void _e_file_add(E_Dir *ed, const char *path, int listing); -static void _e_file_del(E_Dir *ed, const char *path); -static void _e_file_mod(E_Dir *ed, const char *path); -static void _e_file_mon_dir_del(E_Dir *ed, const char *path); -static void _e_file_mon_list_sync(E_Dir *ed); +static void _e_fm_ipc_file_add_mod(E_Dir *ed, const char *path, E_Fm_Op_Type op, int listing); +static void _e_fm_ipc_file_add(E_Dir *ed, const char *path, int listing); +static void _e_fm_ipc_file_del(E_Dir *ed, const char *path); +static void _e_fm_ipc_file_mod(E_Dir *ed, const char *path); +static void _e_fm_ipc_file_mon_dir_del(E_Dir *ed, const char *path); +static void _e_fm_ipc_file_mon_list_sync(E_Dir *ed); -static Eina_Bool _e_cb_file_mon_list_idler(void *data); -static Eina_Bool _e_cb_fop_trash_idler(void *data); +static Eina_Bool _e_fm_ipc_cb_file_mon_list_idler(void *data); +static Eina_Bool _e_fm_ipc_cb_fop_trash_idler(void *data); static char *_e_str_list_remove(Eina_List **list, char *str); -static void _e_fm_reorder(const char *file, const char *dst, const char *relative, int after); -static void _e_dir_del(E_Dir *ed); +static void _e_fm_ipc_reorder(const char *file, const char *dst, const char *relative, int after); +static void _e_fm_ipc_dir_del(E_Dir *ed); -static const char *_e_prepare_command(E_Fm_Op_Type type, const char *args); +static const char *_e_fm_ipc_prepare_command(E_Fm_Op_Type type, const char *args); /* local subsystem functions */ int -_e_ipc_init(void) +_e_fm_ipc_init(void) { char *sdir; @@ -185,22 +185,22 @@ "Enlightenment's IPC socket file (minus port number).\n"); return 0; } - _e_ipc_server = ecore_ipc_server_connect(ECORE_IPC_LOCAL_SYSTEM, sdir, 0, NULL); - if (!_e_ipc_server) + _e_fm_ipc_server = ecore_ipc_server_connect(ECORE_IPC_LOCAL_SYSTEM, sdir, 0, NULL); + if (!_e_fm_ipc_server) { printf("Cannot connect to enlightenment - abort\n"); return 0; } - ecore_event_handler_add(ECORE_IPC_EVENT_SERVER_ADD, _e_ipc_cb_server_add, NULL); - ecore_event_handler_add(ECORE_IPC_EVENT_SERVER_DEL, _e_ipc_cb_server_del, NULL); - ecore_event_handler_add(ECORE_IPC_EVENT_SERVER_DATA, _e_ipc_cb_server_data, NULL); + ecore_event_handler_add(ECORE_IPC_EVENT_SERVER_ADD, _e_fm_ipc_cb_server_add, NULL); + ecore_event_handler_add(ECORE_IPC_EVENT_SERVER_DEL, _e_fm_ipc_cb_server_del, NULL); + ecore_event_handler_add(ECORE_IPC_EVENT_SERVER_DATA, _e_fm_ipc_cb_server_data, NULL); return 1; } static Eina_Bool -_e_ipc_cb_server_add(void *data __UNUSED__, int type __UNUSED__, void *event) +_e_fm_ipc_cb_server_add(void *data __UNUSED__, int type __UNUSED__, void *event) { Ecore_Ipc_Event_Server_Add *e; @@ -213,7 +213,7 @@ } static Eina_Bool -_e_ipc_cb_server_del(void *data __UNUSED__, int type __UNUSED__, void *event __UNUSED__) +_e_fm_ipc_cb_server_del(void *data __UNUSED__, int type __UNUSED__, void *event __UNUSED__) { /* quit now */ ecore_main_loop_quit(); @@ -221,7 +221,7 @@ } static void -_e_fm_monitor_start(int id, const char *path) +_e_fm_ipc_monitor_start(int id, const char *path) { E_Fm_Task *task = malloc(sizeof(E_Fm_Task)); @@ -239,11 +239,11 @@ _e_fm_tasks = eina_list_append(_e_fm_tasks, task); - _e_fm_monitor_start_try(task); + _e_fm_ipc_monitor_start_try(task); } static void -_e_fm_monitor_start_try(E_Fm_Task *task) +_e_fm_ipc_monitor_start_try(E_Fm_Task *task) { E_Dir *ed, *ped = NULL; @@ -268,7 +268,7 @@ char buf[PATH_MAX + 4096]; snprintf(buf, sizeof(buf), "Cannot open directory '%s': %s.", task->src, strerror(errno)); - _e_client_send(task->id, E_FM_OP_ERROR_RETRY_ABORT, buf, strlen(buf) + 1); + _e_fm_ipc_client_send(task->id, E_FM_OP_ERROR_RETRY_ABORT, buf, strlen(buf) + 1); } else { @@ -286,7 +286,7 @@ { /* if no previous monitoring dir exists - this one * becomes the master monitor enty */ - ed->mon = ecore_file_monitor_add(ed->dir, _e_cb_file_monitor, ed); + ed->mon = ecore_file_monitor_add(ed->dir, _e_fm_ipc_cb_file_monitor, ed); ed->mon_ref = 1; } else @@ -354,20 +354,20 @@ else snprintf(buf, sizeof(buf), "%s/.order", task->src); if (eina_list_count(files) == 1) - _e_file_add(ed, buf, 2); + _e_fm_ipc_file_add(ed, buf, 2); else - _e_file_add(ed, buf, 1); + _e_fm_ipc_file_add(ed, buf, 1); } /* send empty file - indicate empty dir */ - if (!files) _e_file_add(ed, "", 2); + if (!files) _e_fm_ipc_file_add(ed, "", 2); /* and in an idler - list files, statting them etc. */ - ed->idler = ecore_idler_add(_e_cb_file_mon_list_idler, ed); + ed->idler = ecore_idler_add(_e_fm_ipc_cb_file_mon_list_idler, ed); ed->sync_num = DEF_SYNC_NUM; } } static void -_e_fm_monitor_end(int id, const char *path) +_e_fm_ipc_monitor_end(int id, const char *path) { E_Fm_Task *task; Eina_List *l; @@ -386,38 +386,38 @@ if (ed->mon_real->mon_ref == 0) { /* original is at 0 ref - free it */ - _e_dir_del(ed->mon_real); + _e_fm_ipc_dir_del(ed->mon_real); ed->mon_real = NULL; } /* free this node */ - _e_dir_del(ed); + _e_fm_ipc_dir_del(ed); } /* this is a core monitoring node - remove ref */ else { ed->mon_ref--; /* we are the last ref - free */ - if (ed->mon_ref == 0) _e_dir_del(ed); + if (ed->mon_ref == 0) _e_fm_ipc_dir_del(ed); } /* remove from dirs list anyway */ _e_dirs = eina_list_remove_list(_e_dirs, l); break; } - task = _e_fm_task_get(id); - if (task) _e_fm_task_remove(task); + task = _e_fm_ipc_task_get(id); + if (task) _e_fm_ipc_task_remove(task); } static E_Fm_Task * -_e_fm_task_get(int id) +_e_fm_ipc_task_get(int id) { - Eina_List *l = _e_fm_task_node_get(id); + Eina_List *l = _e_fm_ipc_task_node_get(id); return (E_Fm_Task *)eina_list_data_get(l); } static Eina_List * -_e_fm_task_node_get(int id) +_e_fm_ipc_task_node_get(int id) { E_Fm_Task *task; Eina_List *l; @@ -430,9 +430,9 @@ } static void -_e_fm_task_remove(E_Fm_Task *task) +_e_fm_ipc_task_remove(E_Fm_Task *task) { - Eina_List *l = _e_fm_task_node_get(task->id); + Eina_List *l = _e_fm_ipc_task_node_get(task->id); switch(task->type) { @@ -444,7 +444,7 @@ * * we can't look in it */ memset(&ted, 0, sizeof(E_Dir)); ted.id = task->id; - _e_file_mon_dir_del(&ted, task->src); + _e_fm_ipc_file_mon_dir_del(&ted, task->src); } break; default: @@ -461,24 +461,24 @@ } static void -_e_fm_mkdir_try(E_Fm_Task *task) +_e_fm_ipc_mkdir_try(E_Fm_Task *task) { char buf[PATH_MAX + 4096]; if (mkdir(task->src, S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) < 0) { snprintf(buf, sizeof(buf), "Cannot make directory '%s': %s.", task->src, strerror(errno)); - _e_client_send(task->id, E_FM_OP_ERROR_RETRY_ABORT, buf, strlen(buf) + 1); + _e_fm_ipc_client_send(task->id, E_FM_OP_ERROR_RETRY_ABORT, buf, strlen(buf) + 1); } else { - _e_fm_reorder(ecore_file_file_get(task->src), ecore_file_dir_get(task->src), task->rel, task->rel_to); - _e_fm_task_remove(task); + _e_fm_ipc_reorder(ecore_file_file_get(task->src), ecore_file_dir_get(task->src), task->rel, task->rel_to); + _e_fm_ipc_task_remove(task); } } static void -_e_fm_mkdir(int id, const char *src, const char *rel, int rel_to __UNUSED__, int x, int y) +_e_fm_ipc_mkdir(int id, const char *src, const char *rel, int rel_to __UNUSED__, int x, int y) { E_Fm_Task *task; @@ -495,36 +495,36 @@ _e_fm_tasks = eina_list_append(_e_fm_tasks, task); - _e_fm_mkdir_try(task); + _e_fm_ipc_mkdir_try(task); } static void -_e_fm_handle_error_response(int id, E_Fm_Op_Type type) +_e_fm_ipc_handle_error_response(int id, E_Fm_Op_Type type) { - E_Fm_Task *task = _e_fm_task_get(id); + E_Fm_Task *task = _e_fm_ipc_task_get(id); E_Fm_Slave *slave = NULL; if (!task) { - slave = _e_fm_slave_get(id); - if (slave) _e_fm_slave_send(slave, type, NULL, 0); + slave = _e_fm_ipc_slave_get(id); + if (slave) _e_fm_ipc_slave_send(slave, type, NULL, 0); return; } if (type == E_FM_OP_ERROR_RESPONSE_ABORT) { - _e_fm_task_remove(task); + _e_fm_ipc_task_remove(task); } else if (type == E_FM_OP_ERROR_RESPONSE_RETRY) { switch(task->type) { case E_FM_OP_MKDIR: - _e_fm_mkdir_try(task); + _e_fm_ipc_mkdir_try(task); break; case E_FM_OP_MONITOR_START: - _e_fm_monitor_start_try(task); + _e_fm_ipc_monitor_start_try(task); default: break; } @@ -533,7 +533,7 @@ static Eina_Bool -_e_ipc_cb_server_data(void *data __UNUSED__, int type __UNUSED__, void *event) +_e_fm_ipc_cb_server_data(void *data __UNUSED__, int type __UNUSED__, void *event) { Ecore_Ipc_Event_Server_Data *e; @@ -543,18 +543,18 @@ { case E_FM_OP_MONITOR_START: /* monitor dir (and implicitly list) */ { - _e_fm_monitor_start(e->ref, e->data); + _e_fm_ipc_monitor_start(e->ref, e->data); } break; case E_FM_OP_MONITOR_END: /* monitor dir end */ { // printf("End listing directory: %s\n", e->data); - _e_fm_monitor_end(e->ref, e->data); + _e_fm_ipc_monitor_end(e->ref, e->data); } break; case E_FM_OP_REMOVE: /* fop delete file/dir */ { - _e_fm_slave_run(E_FM_OP_REMOVE, (const char *)e->data, e->ref); + _e_fm_ipc_slave_run(E_FM_OP_REMOVE, (const char *)e->data, e->ref); } break; case E_FM_OP_TRASH: /* fop trash file/dir */ @@ -567,23 +567,23 @@ fop->id = e->ref; fop->src = eina_stringshare_add(e->data); _e_fops = eina_list_append(_e_fops, fop); - fop->idler = ecore_idler_add(_e_cb_fop_trash_idler, fop); + fop->idler = ecore_idler_add(_e_fm_ipc_cb_fop_trash_idler, fop); } } break; case E_FM_OP_MOVE: /* fop mv file/dir */ { - _e_fm_slave_run(E_FM_OP_MOVE, (const char *)e->data, e->ref); + _e_fm_ipc_slave_run(E_FM_OP_MOVE, (const char *)e->data, e->ref); } break; case E_FM_OP_COPY: /* fop cp file/dir */ { - _e_fm_slave_run(E_FM_OP_COPY, (const char *)e->data, e->ref); + _e_fm_ipc_slave_run(E_FM_OP_COPY, (const char *)e->data, e->ref); } break; case E_FM_OP_SYMLINK: /* fop ln -s */ { - _e_fm_slave_run(E_FM_OP_SYMLINK, (const char *)e->data, e->ref); + _e_fm_ipc_slave_run(E_FM_OP_SYMLINK, (const char *)e->data, e->ref); } break; case E_FM_OP_MKDIR: /* fop mkdir */ @@ -597,7 +597,7 @@ memcpy(&x, rel + strlen(rel) + 1 + sizeof(int), sizeof(int)); memcpy(&y, rel + strlen(rel) + 1 + sizeof(int), sizeof(int)); - _e_fm_mkdir(e->ref, src, rel, rel_to, x, y); + _e_fm_ipc_mkdir(e->ref, src, rel, rel_to, x, y); } break; case E_FM_OP_MOUNT: /* mount udi mountpoint */ @@ -670,7 +670,7 @@ ed->sync_num -= 1; /* always sync at least 1 file */ if (ed->sync_num < 1) ed->sync_num = 1; - ed->idler = ecore_idler_add(_e_cb_file_mon_list_idler, ed); + ed->idler = ecore_idler_add(_e_fm_ipc_cb_file_mon_list_idler, ed); break; } } @@ -679,9 +679,9 @@ break; case E_FM_OP_ABORT: // abort copy/move/delete operation by user { - E_Fm_Slave *slave = _e_fm_slave_get(e->ref); + E_Fm_Slave *slave = _e_fm_ipc_slave_get(e->ref); if (slave) - _e_fm_slave_send(slave, e->minor, NULL, 0); + _e_fm_ipc_slave_send(slave, e->minor, NULL, 0); } break; case E_FM_OP_ERROR_RESPONSE_IGNORE_THIS: @@ -689,7 +689,7 @@ case E_FM_OP_ERROR_RESPONSE_ABORT: case E_FM_OP_ERROR_RESPONSE_RETRY: { - _e_fm_handle_error_response(e->ref, e->minor); + _e_fm_ipc_handle_error_response(e->ref, e->minor); } break; case E_FM_OP_OVERWRITE_RESPONSE_NO: @@ -697,7 +697,7 @@ case E_FM_OP_OVERWRITE_RESPONSE_YES: case E_FM_OP_OVERWRITE_RESPONSE_YES_ALL: { - _e_fm_slave_send(_e_fm_slave_get(e->ref), e->minor, NULL, 0); + _e_fm_ipc_slave_send(_e_fm_ipc_slave_get(e->ref), e->minor, NULL, 0); } break; case E_FM_OP_REORDER: @@ -717,7 +717,7 @@ after = *((int *)p); - _e_fm_reorder(file, dst, relative, after); + _e_fm_ipc_reorder(file, dst, relative, after); } break; default: @@ -727,22 +727,22 @@ * count of outstanding requests - maybe for balancing between fm * slaves later. ref_to is set to the the ref id in the request to * allow for async handling later */ - ecore_ipc_server_send(_e_ipc_server, + ecore_ipc_server_send(_e_fm_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_OK, 0, e->ref, 0, NULL, 0); return ECORE_CALLBACK_PASS_ON; } -static int _e_client_send(int id, E_Fm_Op_Type type, void *data, int size) +static int _e_fm_ipc_client_send(int id, E_Fm_Op_Type type, void *data, int size) { - return ecore_ipc_server_send(_e_ipc_server, + return ecore_ipc_server_send(_e_fm_ipc_server, 6/*E_IPC_DOMAIN_FM*/, type, id, 0, 0, data, size); } -static int _e_fm_slave_run(E_Fm_Op_Type type, const char *args, int id) +static int _e_fm_ipc_slave_run(E_Fm_Op_Type type, const char *args, int id) { E_Fm_Slave *slave; const char *command; @@ -751,7 +751,7 @@ if (!slave) return 0; - command = eina_stringshare_add(_e_prepare_command(type, args)); + command = eina_stringshare_add(_e_fm_ipc_prepare_command(type, args)); slave->id = id; slave->exe = ecore_exe_pipe_run(command, ECORE_EXE_PIPE_WRITE | ECORE_EXE_PIPE_READ | ECORE_EXE_PIPE_ERROR, slave ); @@ -759,17 +759,17 @@ eina_stringshare_del(command); - _e_fm_slaves = eina_list_append(_e_fm_slaves, slave); + _e_fm_ipc_slaves = eina_list_append(_e_fm_ipc_slaves, slave); return (!!slave->exe); } -static E_Fm_Slave *_e_fm_slave_get(int id) +static E_Fm_Slave *_e_fm_ipc_slave_get(int id) { Eina_List *l; E_Fm_Slave *slave; - EINA_LIST_FOREACH(_e_fm_slaves, l, slave) + EINA_LIST_FOREACH(_e_fm_ipc_slaves, l, slave) { if (slave->id == id) return slave; @@ -778,7 +778,7 @@ return NULL; } -static int _e_fm_slave_send(E_Fm_Slave *slave, E_Fm_Op_Type type, void *data, int size) +static int _e_fm_ipc_slave_send(E_Fm_Slave *slave, E_Fm_Op_Type type, void *data, int size) { char *sdata; int ssize; @@ -804,7 +804,7 @@ } Eina_Bool -_e_fm_slave_data_cb(void *data __UNUSED__, int type __UNUSED__, void *event) +_e_fm_ipc_slave_data_cb(void *data __UNUSED__, int type __UNUSED__, void *event) { Ecore_Exe_Event_Data *e = event; E_Fm_Slave *slave; @@ -836,16 +836,16 @@ if (id == E_FM_OP_OVERWRITE) { - _e_client_send(slave->id, E_FM_OP_OVERWRITE, sdata, size); + _e_fm_ipc_client_send(slave->id, E_FM_OP_OVERWRITE, sdata, size); printf("%s:%s(%d) Overwrite sent to client from slave #%d.\n", __FILE__, __FUNCTION__, __LINE__, slave->id); } else if (id == E_FM_OP_ERROR) { - _e_client_send(slave->id, E_FM_OP_ERROR, sdata, size); + _e_fm_ipc_client_send(slave->id, E_FM_OP_ERROR, sdata, size); } else if (id == E_FM_OP_PROGRESS) { - _e_client_send(slave->id, E_FM_OP_PROGRESS, sdata, size); + _e_fm_ipc_client_send(slave->id, E_FM_OP_PROGRESS, sdata, size); } sdata += size; @@ -856,7 +856,7 @@ } Eina_Bool -_e_fm_slave_error_cb(void *data __UNUSED__, int type __UNUSED__, void *event) +_e_fm_ipc_slave_error_cb(void *data __UNUSED__, int type __UNUSED__, void *event) { Ecore_Exe_Event_Data *e = event; E_Fm_Slave *slave; @@ -871,7 +871,7 @@ } Eina_Bool -_e_fm_slave_del_cb(void *data __UNUSED__, int type __UNUSED__, void *event) +_e_fm_ipc_slave_del_cb(void *data __UNUSED__, int type __UNUSED__, void *event) { Ecore_Exe_Event_Del *e = event; E_Fm_Slave *slave; @@ -879,18 +879,18 @@ if (!e) return 1; slave = ecore_exe_data_get(e->exe); - _e_client_send(slave->id, E_FM_OP_QUIT, NULL, 0); + _e_fm_ipc_client_send(slave->id, E_FM_OP_QUIT, NULL, 0); if (!slave) return 1; - _e_fm_slaves = eina_list_remove(_e_fm_slaves, (void *)slave); + _e_fm_ipc_slaves = eina_list_remove(_e_fm_ipc_slaves, (void *)slave); free(slave); return 1; } static void -_e_cb_file_monitor(void *data __UNUSED__, Ecore_File_Monitor *em __UNUSED__, Ecore_File_Event event, const char *path) +_e_fm_ipc_cb_file_monitor(void *data __UNUSED__, Ecore_File_Monitor *em __UNUSED__, Ecore_File_Event event, const char *path) { E_Dir *ed; char *dir, *rp, *drp; @@ -908,7 +908,7 @@ if (drp) { if (!strcmp(rp, drp)) - _e_file_add(ed, path, 0); + _e_fm_ipc_file_add(ed, path, 0); free(drp); } } @@ -924,7 +924,7 @@ if (drp) { if (!strcmp(rp, drp)) - _e_file_del(ed, path); + _e_fm_ipc_file_del(ed, path); free(drp); } } @@ -939,7 +939,7 @@ if (drp) { if (!strcmp(rp, drp)) - _e_file_mod(ed, path); + _e_fm_ipc_file_mod(ed, path); free(drp); } } @@ -954,7 +954,7 @@ if (drp) { if (!strcmp(rp, drp)) - _e_file_mon_dir_del(ed, path); + _e_fm_ipc_file_mon_dir_del(ed, path); free(drp); } } @@ -964,7 +964,7 @@ } static Eina_Bool -_e_cb_recent_clean(void *data) +_e_fm_ipc_cb_recent_clean(void *data) { E_Dir *ed; Eina_List *l, *pl; @@ -978,7 +978,7 @@ if ((m->mod) && ((t_now - m->timestamp) >= DEF_MOD_BACKOFF)) { ed->recent_mods = eina_list_remove_list(ed->recent_mods, pl); - if (!m->done) _e_file_add_mod(ed, m->path, 5, 0); + if (!m->done) _e_fm_ipc_file_add_mod(ed, m->path, 5, 0); eina_stringshare_del(m->path); free(m); } @@ -990,7 +990,7 @@ static void -_e_file_add_mod(E_Dir *ed, const char *path, E_Fm_Op_Type op, int listing) +_e_fm_ipc_file_add_mod(E_Dir *ed, const char *path, E_Fm_Op_Type op, int listing) { struct stat st; char *lnk = NULL, *rlnk = NULL; @@ -1032,7 +1032,7 @@ ed->recent_mods = eina_list_append(ed->recent_mods, m); } if ((!ed->recent_clean) && (ed->recent_mods)) - ed->recent_clean = ecore_timer_add(DEF_MOD_BACKOFF, _e_cb_recent_clean, ed); + ed->recent_clean = ecore_timer_add(DEF_MOD_BACKOFF, _e_fm_ipc_cb_recent_clean, ed); if (skip) { // printf("SKIP MOD %s %3.3f\n", path, t_now); @@ -1073,67 +1073,67 @@ p += strlen(rlnk) + 1; bsz = p - buf; - ecore_ipc_server_send(_e_ipc_server, 6/*E_IPC_DOMAIN_FM*/, op, 0, ed->id, + ecore_ipc_server_send(_e_fm_ipc_server, 6/*E_IPC_DOMAIN_FM*/, op, 0, ed->id, listing, buf, bsz); if (lnk) free(lnk); if (rlnk) free(rlnk); } static void -_e_file_add(E_Dir *ed, const char *path, int listing) +_e_fm_ipc_file_add(E_Dir *ed, const char *path, int listing) { if (!listing) { /* FIXME: handle BACKOFF */ } - _e_file_add_mod(ed, path, E_FM_OP_FILE_ADD, listing);/*file add*/ + _e_fm_ipc_file_add_mod(ed, path, E_FM_OP_FILE_ADD, listing);/*file add*/ } static void -_e_file_del(E_Dir *ed, const char *path) +_e_fm_ipc_file_del(E_Dir *ed, const char *path) { { /* FIXME: handle BACKOFF */ } - ecore_ipc_server_send(_e_ipc_server, + ecore_ipc_server_send(_e_fm_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_FILE_DEL, 0, ed->id, 0, (void *)path, strlen(path) + 1); } static void -_e_file_mod(E_Dir *ed, const char *path) +_e_fm_ipc_file_mod(E_Dir *ed, const char *path) { { /* FIXME: handle BACKOFF */ } - _e_file_add_mod(ed, path, E_FM_OP_FILE_CHANGE, 0);/*file change*/ + _e_fm_ipc_file_add_mod(ed, path, E_FM_OP_FILE_CHANGE, 0);/*file change*/ } static void -_e_file_mon_dir_del(E_Dir *ed, const char *path) +_e_fm_ipc_file_mon_dir_del(E_Dir *ed, const char *path) { - ecore_ipc_server_send(_e_ipc_server, + ecore_ipc_server_send(_e_fm_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_MONITOR_END, 0, ed->id, 0, (void *)path, strlen(path) + 1); } static void -_e_file_mon_list_sync(E_Dir *ed) +_e_fm_ipc_file_mon_list_sync(E_Dir *ed) { _e_sync_num++; if (_e_sync_num == 0) _e_sync_num = 1; ed->sync = _e_sync_num; ed->sync_time = ecore_time_get(); - ecore_ipc_server_send(_e_ipc_server, + ecore_ipc_server_send(_e_fm_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_MONITOR_SYNC, 0, ed->id, ed->sync, NULL, 0); } static Eina_Bool -_e_cb_file_mon_list_idler(void *data) +_e_fm_ipc_cb_file_mon_list_idler(void *data) { E_Dir *ed; int n = 0; @@ -1150,16 +1150,16 @@ snprintf(buf, sizeof(buf), "/%s", file); else snprintf(buf, sizeof(buf), "%s/%s", ed->dir, file); - _e_file_add(ed, buf, 1); + _e_fm_ipc_file_add(ed, buf, 1); } free(file); ed->fq = eina_list_remove_list(ed->fq, ed->fq); n++; if (n == ed->sync_num) { - _e_file_mon_list_sync(ed); + _e_fm_ipc_file_mon_list_sync(ed); ed->idler = NULL; - if (!ed->fq) _e_file_add(ed, "", 2); + if (!ed->fq) _e_fm_ipc_file_add(ed, "", 2); return 0; } } @@ -1167,12 +1167,12 @@ ed->sync = 0; ed->sync_time = 0.0; ed->idler = NULL; - if (!ed->fq) _e_file_add(ed, "", 2); + if (!ed->fq) _e_fm_ipc_file_add(ed, "", 2); return ECORE_CALLBACK_CANCEL; } static Eina_Bool -_e_cb_fop_trash_idler(void *data) +_e_fm_ipc_cb_fop_trash_idler(void *data) { E_Fop *fop = NULL; FILE *info = NULL; @@ -1271,7 +1271,7 @@ } static void -_e_fm_reorder(const char *file, const char *dst, const char *relative, int after) +_e_fm_ipc_reorder(const char *file, const char *dst, const char *relative, int after) { char buffer[PATH_MAX]; char order[PATH_MAX]; @@ -1346,7 +1346,7 @@ } static void -_e_dir_del(E_Dir *ed) +_e_fm_ipc_dir_del(E_Dir *ed) { void *data; E_Mod *m; @@ -1366,7 +1366,7 @@ } static const char * -_e_prepare_command(E_Fm_Op_Type type, const char *args) +_e_fm_ipc_prepare_command(E_Fm_Op_Type type, const char *args) { char *buffer; unsigned int length = 0; Modified: trunk/e/src/bin/e_fm_ipc.h =================================================================== --- trunk/e/src/bin/e_fm_ipc.h 2010-10-05 06:33:12 UTC (rev 53048) +++ trunk/e/src/bin/e_fm_ipc.h 2010-10-05 06:33:16 UTC (rev 53049) @@ -1,10 +1,10 @@ #ifndef E_FM_IPC_H #define E_FM_IPC_H -int _e_ipc_init(void); -Eina_Bool _e_fm_slave_data_cb(void *data, int type, void *event); -Eina_Bool _e_fm_slave_error_cb(void *data, int type, void *event); -Eina_Bool _e_fm_slave_del_cb(void *data, int type, void *event); +int _e_fm_ipc_init(void); +Eina_Bool _e_fm_ipc_slave_data_cb(void *data, int type, void *event); +Eina_Bool _e_fm_ipc_slave_error_cb(void *data, int type, void *event); +Eina_Bool _e_fm_ipc_slave_del_cb(void *data, int type, void *event); EAPI E_Storage *e_storage_add(const char *udi); EAPI void e_storage_del(const char *udi); Modified: trunk/e/src/bin/e_fm_main.c =================================================================== --- trunk/e/src/bin/e_fm_main.c 2010-10-05 06:33:12 UTC (rev 53048) +++ trunk/e/src/bin/e_fm_main.c 2010-10-05 06:33:16 UTC (rev 53049) @@ -77,6 +77,8 @@ #include "e_fm_shared.h" #undef E_FM_SHARED_DATATYPES +static void _e_fm_init(void); +static void _e_fm_shutdown(void); static void _e_dbus_cb_dev_all(void *user_data, void *reply_data, DBusError *error); static void _e_dbus_cb_dev_store(void *user_data, void *reply_data, DBusError *error); static void _e_dbus_cb_dev_vol(void *user_data, void *reply_data, DBusError *error); @@ -107,7 +109,7 @@ #define E_FM_EJECT_TIMEOUT 15.0 static E_DBus_Connection *_e_dbus_conn = NULL; -extern Ecore_Ipc_Server *_e_ipc_server; +extern Ecore_Ipc_Server *_e_fm_ipc_server; /* contains: * _e_volume_edd @@ -147,40 +149,51 @@ ecore_init(); ecore_app_args_set(argc, (const char **)argv); - e_dbus_init(); - e_hal_init(); - _e_dbus_conn = e_dbus_bus_get(DBUS_BUS_SYSTEM); - /* previously, this assumed that if dbus was running, hal was running. */ - if (_e_dbus_conn) - e_dbus_get_name_owner(_e_dbus_conn, E_HAL_SENDER, _hal_test, NULL); + _e_fm_init(); ecore_file_init(); ecore_ipc_init(); _e_storage_volume_edd_init(); - _e_ipc_init(); + _e_fm_ipc_init(); - ecore_event_handler_add(ECORE_EXE_EVENT_DATA, _e_fm_slave_data_cb, NULL); - ecore_event_handler_add(ECORE_EXE_EVENT_ERROR, _e_fm_slave_error_cb, NULL); - ecore_event_handler_add(ECORE_EXE_EVENT_DEL, _e_fm_slave_del_cb, NULL); + ecore_event_handler_add(ECORE_EXE_EVENT_DATA, _e_fm_ipc_slave_data_cb, NULL); + ecore_event_handler_add(ECORE_EXE_EVENT_ERROR, _e_fm_ipc_slave_error_cb, NULL); + ecore_event_handler_add(ECORE_EXE_EVENT_DEL, _e_fm_ipc_slave_del_cb, NULL); ecore_main_loop_begin(); - if (_e_ipc_server) + if (_e_fm_ipc_server) { - ecore_ipc_server_del(_e_ipc_server); - _e_ipc_server = NULL; + ecore_ipc_server_del(_e_fm_ipc_server); + _e_fm_ipc_server = NULL; } + _e_fm_shutdown(); + ecore_ipc_shutdown(); + ecore_file_shutdown(); + ecore_shutdown(); + eina_shutdown(); +} + +static void +_e_fm_init(void) +{ + e_dbus_init(); + e_hal_init(); + _e_dbus_conn = e_dbus_bus_get(DBUS_BUS_SYSTEM); + /* previously, this assumed that if dbus was running, hal was running. */ if (_e_dbus_conn) + e_dbus_get_name_owner(_e_dbus_conn, E_HAL_SENDER, _hal_test, NULL); +} + +static void +_e_fm_shutdown(void) +{ + if (_e_dbus_conn) e_dbus_connection_close(_e_dbus_conn); _e_storage_volume_edd_shutdown(); - - ecore_ipc_shutdown(); - ecore_file_shutdown(); e_hal_shutdown(); e_dbus_shutdown(); - eina_shutdown(); - ecore_shutdown(); } static void @@ -508,7 +521,7 @@ msg_data = eet_data_descriptor_encode(_e_storage_edd, s, &msg_size); if (msg_data) { - ecore_ipc_server_send(_e_ipc_server, + ecore_ipc_server_send(_e_fm_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_STORAGE_ADD, 0, 0, 0, msg_data, msg_size); @@ -550,7 +563,7 @@ if (s->validated) { // printf("--STO %s\n", s->udi); - ecore_ipc_server_send(_e_ipc_server, + ecore_ipc_server_send(_e_fm_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_STORAGE_DEL, 0, 0, 0, s->udi, strlen(s->udi) + 1); @@ -652,7 +665,7 @@ msg_data = eet_data_descriptor_encode(_e_volume_edd, v, &msg_size); if (msg_data) { - ecore_ipc_server_send(_e_ipc_server, + ecore_ipc_server_send(_e_fm_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_VOLUME_ADD, 0, 0, 0, msg_data, msg_size); @@ -704,10 +717,10 @@ size = _e_dbus_format_error_msg(&buf, v, error); if (v->mounted) - ecore_ipc_server_send(_e_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_UNMOUNT_ERROR, + ecore_ipc_server_send(_e_fm_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_UNMOUNT_ERROR, 0, 0, 0, buf, size); else - ecore_ipc_server_send(_e_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_MOUNT_ERROR, + ecore_ipc_server_send(_e_fm_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_MOUNT_ERROR, 0, 0, 0, buf, size); dbus_error_free(error); free(buf); @@ -732,12 +745,12 @@ strcpy(buf, v->udi); strcpy(buf + strlen(buf) + 1, v->mount_point); if (v->mounted) - ecore_ipc_server_send(_e_ipc_server, + ecore_ipc_server_send(_e_fm_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_MOUNT_DONE, 0, 0, 0, buf, size); else - ecore_ipc_server_send(_e_ipc_server, + ecore_ipc_server_send(_e_fm_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_UNMOUNT_DONE, 0, 0, 0, buf, size); @@ -789,7 +802,7 @@ { // printf("--VOL %s\n", v->udi); /* FIXME: send event of storage volume (disk) removed */ - ecore_ipc_server_send(_e_ipc_server, + ecore_ipc_server_send(_e_fm_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_VOLUME_DEL, 0, 0, 0, v->udi, strlen(v->udi) + 1); @@ -824,7 +837,7 @@ error.name = "org.enlightenment.fm2.MountTimeout"; error.message = "Unable to mount the volume with specified time-out."; size = _e_dbus_format_error_msg(&buf, v, &error); - ecore_ipc_server_send(_e_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_MOUNT_ERROR, + ecore_ipc_server_send(_e_fm_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_MOUNT_ERROR, 0, 0, 0, buf, size); free(buf); @@ -847,7 +860,7 @@ if (dbus_error_is_set(error)) { size = _e_dbus_format_error_msg(&buf, v, error); - ecore_ipc_server_send(_e_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_MOUNT_ERROR, + ecore_ipc_server_send(_e_fm_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_MOUNT_ERROR, 0, 0, 0, buf, size); dbus_error_free(error); free(buf); @@ -861,7 +874,7 @@ buf = alloca(size); strcpy(buf, v->udi); strcpy(buf + strlen(buf) + 1, v->mount_point); - ecore_ipc_server_send(_e_ipc_server, + ecore_ipc_server_send(_e_fm_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_MOUNT_DONE, 0, 0, 0, buf, size); @@ -928,7 +941,7 @@ error.name = "org.enlightenment.fm2.UnmountTimeout"; error.message = "Unable to unmount the volume with specified time-out."; size = _e_dbus_format_error_msg(&buf, v, &error); - ecore_ipc_server_send(_e_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_UNMOUNT_ERROR, + ecore_ipc_server_send(_e_fm_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_UNMOUNT_ERROR, 0, 0, 0, buf, size); free(buf); @@ -951,7 +964,7 @@ if (dbus_error_is_set(error)) { size = _e_dbus_format_error_msg(&buf, v, error); - ecore_ipc_server_send(_e_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_UNMOUNT_ERROR, + ecore_ipc_server_send(_e_fm_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_UNMOUNT_ERROR, 0, 0, 0, buf, size); dbus_error_free(error); free(buf); @@ -965,7 +978,7 @@ buf = alloca(size); strcpy(buf, v->udi); strcpy(buf + strlen(buf) + 1, v->mount_point); - ecore_ipc_server_send(_e_ipc_server, + ecore_ipc_server_send(_e_fm_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_UNMOUNT_DONE, 0, 0, 0, buf, size); @@ -996,7 +1009,7 @@ error.name = "org.enlightenment.fm2.EjectTimeout"; error.message = "Unable to eject the media with specified time-out."; size = _e_dbus_format_error_msg(&buf, v, &error); - ecore_ipc_server_send(_e_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_EJECT_ERROR, + ecore_ipc_server_send(_e_fm_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_EJECT_ERROR, 0, 0, 0, buf, size); free(buf); @@ -1045,7 +1058,7 @@ if (dbus_error_is_set(error)) { size = _e_dbus_format_error_msg(&buf, v, error); - ecore_ipc_server_send(_e_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_EJECT_ERROR, + ecore_ipc_server_send(_e_fm_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_EJECT_ERROR, 0, 0, 0, buf, size); dbus_error_free(error); free(buf); @@ -1055,7 +1068,7 @@ size = strlen(v->udi) + 1; buf = alloca(size); strcpy(buf, v->udi); - ecore_ipc_server_send(_e_ipc_server, + ecore_ipc_server_send(_e_fm_ipc_server, 6/*E_IPC_DOMAIN_FM*/, E_FM_OP_EJECT_DONE, 0, 0, 0, buf, size); |
From: Enlightenment S. <no-...@en...> - 2010-10-13 02:52:45
|
Log: alphabetize file lists Author: discomfitor Date: 2010-10-12 19:52:37 -0700 (Tue, 12 Oct 2010) New Revision: 53326 Modified: trunk/e/src/bin/Makefile.am Modified: trunk/e/src/bin/Makefile.am =================================================================== --- trunk/e/src/bin/Makefile.am 2010-10-13 00:41:00 UTC (rev 53325) +++ trunk/e/src/bin/Makefile.am 2010-10-13 02:52:37 UTC (rev 53326) @@ -24,297 +24,297 @@ internal_bindir = $(libdir)/enlightenment/utils internal_bin_PROGRAMS = \ +enlightenment_fm_op \ enlightenment_init \ -enlightenment_fm_op \ enlightenment_sys \ enlightenment_thumb ENLIGHTENMENTHEADERS = \ +e_about.h \ +e_acpi.h \ +e_actions.h \ +e_alert.h \ +e_atoms.h \ +e_bg.h \ +e_bindings.h \ +e_border.h \ +e_box.h \ +e_canvas.h \ +e_color_class.h \ +e_color_dialog.h \ +e_color.h \ +e_config_data.h \ +e_config_dialog.h \ +e_config.h \ +e_configure.h \ +e_confirm_dialog.h \ +e_container.h \ +e_datastore.h \ +e_desk.h \ +e_desklock.h \ +e_dialog.h \ +e_dnd.h \ +e_dpms.h \ +e_eap_editor.h \ +e_editable.h \ +e_entry_dialog.h \ +e_entry.h \ +e_error.h \ +e_exec.h \ +e_exehist.h \ +e_filereg.h \ +e_flowlayout.h \ +e_fm_custom.h \ +e_fm_dbus.h \ +e_fm.h \ +e_fm_mime.h \ +e_fm_op.h \ +e_fm_op_registry.h \ +e_fm_prop.h \ +e_fm_shared_codec.h \ +e_fm_shared_dbus.h \ +e_fm_shared_types.h \ +e_focus.h \ +e_font.h \ +e_gadcon.h \ +e_gadcon_popup.h \ +e_grabinput.h \ e.h \ +e_hints.h \ +e_icon.h \ +e_ilist.h \ e_includes.h \ -e_mmx.h \ -e_user.h \ -e_manager.h \ -e_path.h \ e_init.h \ +e_int_border_locks.h \ +e_int_border_menu.h \ +e_int_border_prop.h \ +e_int_border_remember.h \ +e_int_config_modules.h \ +e_int_gadcon_config.h \ +e_intl_data.h \ +e_intl.h \ +e_int_menus.h \ +e_int_shelf_config.h \ +e_int_toolbar_config.h \ +e_ipc_codec.h \ e_ipc.h \ +e_layout.h \ +e_livethumb.h \ +e_manager.h \ +e_maximize.h \ +e_menu.h \ +e_mmx.h \ +e_module.h \ +e_mouse.h \ +e_moveresize.h \ e_msgbus.h \ -e_error.h \ -e_container.h \ -e_zone.h \ -e_desk.h \ -e_border.h \ -e_pointer.h \ -e_config.h \ -e_menu.h \ +e_msg.h \ +e_obj_dialog.h \ e_object.h \ -e_icon.h \ -e_box.h \ -e_flowlayout.h \ -e_int_menus.h \ -e_module.h \ -e_atoms.h \ -e_utils.h \ -e_canvas.h \ -e_focus.h \ +e_order.h \ +e_pan.h \ +e_path.h \ e_place.h \ +e_pointer.h \ +e_popup.h \ +e_powersave.h \ +e_prefix.h \ +e_randr.h \ +e_remember.h \ e_resist.h \ +e_scale.h \ +e_screensaver.h \ +e_scrollframe.h \ +e_sha1.h \ +e_shelf.h \ +e_signals.h \ +e_slidecore.h \ +e_slider.h \ +e_slidesel.h \ +e_spectrum.h \ e_startup.h \ -e_hints.h \ -e_signals.h \ -e_xinerama.h \ -e_randr.h \ +e_stolen.h \ +e_sys.h \ e_table.h \ -e_layout.h \ e_test.h \ -e_font.h \ -e_intl.h \ +e_theme_about.h \ e_theme.h \ -e_dnd.h \ -e_bindings.h \ -e_moveresize.h \ -e_actions.h \ -e_popup.h \ -e_gadcon_popup.h \ -e_ipc_codec.h \ -e_prefix.h \ -e_datastore.h \ -e_msg.h \ -e_alert.h \ -e_maximize.h \ -e_grabinput.h \ -e_bg.h \ -e_remember.h \ -e_win.h \ -e_pan.h \ -e_dialog.h \ -e_about.h \ -e_theme_about.h \ -e_editable.h \ -e_entry.h \ -e_widget.h \ +e_thumb.h \ +e_toolbar.h \ +e_user.h \ +e_utils.h \ +e_widget_aspect.h \ +e_widget_button.h \ e_widget_check.h \ -e_widget_radio.h \ +e_widget_color_well.h \ +e_widget_config_list.h \ +e_widget_csel.h \ +e_widget_cslider.h \ +e_widget_deskpreview.h \ +e_widget_entry.h \ +e_widget_flist.h \ +e_widget_font_preview.h \ e_widget_framelist.h \ -e_widget_list.h \ -e_widget_button.h \ -e_widget_label.h \ e_widget_frametable.h \ -e_widget_table.h \ -e_widget_entry.h \ +e_widget_fsel.h \ +e_widget.h \ +e_widget_ilist.h \ e_widget_image.h \ -e_config_dialog.h \ -e_configure.h \ -e_int_border_locks.h \ -e_thumb.h \ -e_int_border_remember.h \ -e_eap_editor.h \ -e_scrollframe.h \ -e_int_border_menu.h \ -e_ilist.h \ -e_livethumb.h \ -e_widget_ilist.h \ -e_widget_config_list.h \ -e_slider.h \ -e_widget_slider.h \ -e_desklock.h \ -e_screensaver.h \ -e_dpms.h \ -e_int_config_modules.h \ -e_exehist.h \ -e_color_class.h \ -e_widget_textblock.h \ -e_stolen.h \ -e_gadcon.h \ -e_shelf.h \ +e_widget_label.h \ +e_widget_list.h \ e_widget_preview.h \ -e_int_shelf_config.h \ -e_int_gadcon_config.h \ -e_confirm_dialog.h \ -e_int_border_prop.h \ -e_entry_dialog.h \ -e_fm.h \ -e_fm_op.h \ -e_fm_op_registry.h \ -e_fm_dbus.h \ +e_widget_radio.h \ e_widget_scrollframe.h \ -e_sha1.h \ -e_widget_fsel.h \ -e_fm_mime.h \ -e_color.h \ -e_spectrum.h \ +e_widget_slider.h \ e_widget_spectrum.h \ -e_widget_cslider.h \ -e_widget_csel.h \ -e_widget_color_well.h \ -e_color_dialog.h \ -e_sys.h \ -e_obj_dialog.h \ -e_widget_aspect.h \ -e_filereg.h \ -e_widget_deskpreview.h \ -e_fm_prop.h \ -e_mouse.h \ -e_order.h \ -e_exec.h \ -e_widget_font_preview.h \ -e_fm_custom.h \ -e_fm_shared_types.h \ -e_fm_shared_codec.h \ -e_fm_shared_dbus.h \ -e_config_data.h \ -e_intl_data.h \ -e_toolbar.h \ -e_int_toolbar_config.h \ -e_powersave.h \ -e_slidesel.h \ -e_slidecore.h \ -e_widget_flist.h \ -e_scale.h \ +e_widget_table.h \ +e_widget_textblock.h \ e_widget_toolbar.h \ e_widget_toolbook.h \ -e_acpi.h +e_win.h \ +e_xinerama.h \ +e_zone.h enlightenment_src = \ -e_user.c \ -e_manager.c \ -e_path.c \ -e_init.c \ -e_ipc.c \ -e_msgbus.c \ -e_error.c \ -e_container.c \ -e_zone.c \ -e_desk.c \ +e_about.c \ +e_acpi.c \ +e_actions.c \ +e_alert.c \ +e_atoms.c \ +e_bg.c \ +e_bindings.c \ e_border.c \ -e_pointer.c \ +e_box.c \ +e_canvas.c \ +e_color.c \ +e_color_class.c \ +e_color_dialog.c \ e_config.c \ e_config_data.c \ -e_menu.c \ -e_object.c \ -e_icon.c \ -e_box.c \ +e_config_dialog.c \ +e_configure.c \ +e_confirm_dialog.c \ +e_container.c \ +e_datastore.c \ +e_desk.c \ +e_desklock.c \ +e_dialog.c \ +e_dnd.c \ +e_dpms.c \ +e_eap_editor.c \ +e_editable.c \ +e_entry.c \ +e_entry_dialog.c \ +e_error.c \ +e_exec.c \ +e_exehist.c \ +e_filereg.c \ e_flowlayout.c \ -e_int_menus.c \ -e_module.c \ -e_atoms.c \ -e_utils.c \ -e_canvas.c \ +e_fm.c \ +e_fm_custom.c \ +e_fm_dbus.c \ +e_fm_mime.c \ +e_fm_op_registry.c \ +e_fm_prop.c \ +e_fm_shared_codec.c \ +e_fm_shared_dbus.c \ e_focus.c \ -e_place.c \ -e_resist.c \ -e_startup.c \ +e_font.c \ +e_gadcon.c \ +e_gadcon_popup.c \ +e_grabinput.c \ e_hints.c \ -e_signals.c \ -e_xinerama.c \ -e_randr.c \ -e_table.c \ -e_layout.c \ -e_test.c \ -e_font.c \ +e_icon.c \ +e_ilist.c \ +e_init.c \ +e_int_border_locks.c \ +e_int_border_menu.c \ +e_int_border_prop.c \ +e_int_border_remember.c \ +e_int_config_modules.c \ +e_int_gadcon_config.c \ e_intl.c \ e_intl_data.c \ -e_theme.c \ -e_dnd.c \ -e_bindings.c \ +e_int_menus.c \ +e_int_shelf_config.c \ +e_int_toolbar_config.c \ +e_ipc.c \ +e_ipc_codec.c \ +e_layout.c \ +e_livethumb.c \ +e_manager.c \ +e_maximize.c \ +e_menu.c \ +e_module.c \ +e_mouse.c \ e_moveresize.c \ -e_actions.c \ +e_msgbus.c \ +e_msg.c \ +e_obj_dialog.c \ +e_object.c \ +e_order.c \ +e_pan.c \ +e_path.c \ +e_place.c \ +e_pointer.c \ e_popup.c \ -e_gadcon_popup.c \ -e_ipc_codec.c \ +e_powersave.c \ e_prefix.c \ -e_datastore.c \ -e_msg.c \ -e_alert.c \ -e_maximize.c \ -e_grabinput.c \ -e_bg.c \ +e_randr.c \ e_remember.c \ -e_win.c \ -e_pan.c \ -e_dialog.c \ -e_about.c \ +e_resist.c \ +e_scale.c \ +e_screensaver.c \ +e_scrollframe.c \ +e_sha1.c \ +e_shelf.c \ +e_signals.c \ +e_slidecore.c \ +e_slider.c \ +e_slidesel.c \ +e_spectrum.c \ +e_startup.c \ +e_stolen.c \ +e_sys.c \ +e_table.c \ +e_test.c \ e_theme_about.c \ -e_editable.c \ -e_entry.c \ +e_theme.c \ +e_thumb.c \ +e_toolbar.c \ +e_user.c \ +e_utils.c \ +e_widget_aspect.c \ +e_widget_button.c \ e_widget.c \ e_widget_check.c \ -e_widget_radio.c \ +e_widget_color_well.c \ +e_widget_config_list.c \ +e_widget_csel.c \ +e_widget_cslider.c \ +e_widget_deskpreview.c \ +e_widget_entry.c \ +e_widget_flist.c \ +e_widget_font_preview.c \ e_widget_framelist.c \ -e_widget_list.c \ -e_widget_button.c \ -e_widget_label.c \ e_widget_frametable.c \ -e_widget_table.c \ -e_widget_entry.c \ +e_widget_fsel.c \ +e_widget_ilist.c \ e_widget_image.c \ -e_config_dialog.c \ -e_configure.c \ -e_int_border_locks.c \ -e_thumb.c \ -e_int_border_remember.c \ -e_eap_editor.c \ -e_scrollframe.c \ -e_int_border_menu.c \ -e_ilist.c \ -e_livethumb.c \ -e_widget_ilist.c \ -e_widget_config_list.c \ -e_slider.c \ -e_widget_slider.c \ -e_desklock.c \ -e_screensaver.c \ -e_dpms.c \ -e_int_config_modules.c \ -e_exehist.c \ -e_color_class.c \ -e_widget_textblock.c \ -e_stolen.c \ -e_gadcon.c \ -e_shelf.c \ +e_widget_label.c \ +e_widget_list.c \ e_widget_preview.c \ -e_int_shelf_config.c \ -e_int_gadcon_config.c \ -e_confirm_dialog.c \ -e_int_border_prop.c \ -e_entry_dialog.c \ -e_fm.c \ -e_fm_shared_codec.c \ -e_fm_shared_dbus.c \ -e_fm_dbus.c \ -e_fm_op_registry.c \ +e_widget_radio.c \ e_widget_scrollframe.c \ -e_sha1.c \ -e_widget_fsel.c \ -e_fm_mime.c \ -e_color.c \ -e_spectrum.c \ +e_widget_slider.c \ e_widget_spectrum.c \ -e_widget_cslider.c \ -e_widget_csel.c \ -e_widget_color_well.c \ -e_color_dialog.c \ -e_sys.c \ -e_obj_dialog.c \ -e_widget_aspect.c \ -e_widget_deskpreview.c \ -e_filereg.c \ -e_fm_prop.c \ -e_mouse.c \ -e_order.c \ -e_exec.c \ -e_widget_font_preview.c \ -e_fm_custom.c \ -e_toolbar.c \ -e_int_toolbar_config.c \ -e_powersave.c \ -e_slidesel.c \ -e_slidecore.c \ -e_widget_flist.c \ -e_scale.c \ +e_widget_table.c \ +e_widget_textblock.c \ e_widget_toolbar.c \ e_widget_toolbook.c \ -e_acpi.c \ +e_win.c \ +e_xinerama.c \ +e_zone.c \ $(ENLIGHTENMENTHEADERS) enlightenment_SOURCES = \ @@ -326,9 +326,9 @@ enlightenment_imc_SOURCES = \ e.h \ -e_intl_data.c \ e_config_data.c \ -e_imc_main.c +e_imc_main.c \ +e_intl_data.c enlightenment_imc_LDADD = @E_IMC_LIBS@ @@ -338,9 +338,9 @@ enlightenment_start_LDADD = @dlopen_libs@ enlightenment_thumb_SOURCES = \ +e_sha1.c \ e_thumb_main.c \ -e_user.c \ -e_sha1.c +e_user.c enlightenment_thumb_LDADD = @E_THUMB_LIBS@ |
From: Enlightenment S. <no-...@en...> - 2010-10-13 08:30:13
|
Log: whoops add these back Author: discomfitor Date: 2010-10-13 01:30:06 -0700 (Wed, 13 Oct 2010) New Revision: 53345 Added: trunk/e/src/bin/e_fm_device.c trunk/e/src/bin/e_fm_device.h trunk/e/src/bin/e_fm_shared_device.c trunk/e/src/bin/e_fm_shared_device.h |