Enlightenment CVS committal Author : chaos Project : e17 Module : proto
Dir : e17/proto/entropy/src/plugins Modified Files: filesystem.c Log Message: * Start to use evfs 'client_id' tags, to track event returns properly. This is much cleaner/safer =================================================================== RCS file: /cvs/e/e17/proto/entropy/src/plugins/filesystem.c,v retrieving revision 1.64 retrieving revision 1.65 diff -u -3 -r1.64 -r1.65 --- filesystem.c 9 Apr 2006 12:41:44 -0000 1.64 +++ filesystem.c 13 Apr 2006 13:17:50 -0000 1.65 @@ -245,10 +245,10 @@ char *pos; printf("Looking for callers for dir list for: '%s'\n", data->resp_command.file_command.files[0]->path); - calling_request = ecore_hash_get (evfs_dir_requests, data->resp_command.file_command.files[0]->path); + calling_request = ecore_hash_get (evfs_dir_requests, (long*)data->resp_command.client_identifier); if (calling_request) { /*Remove from directory requesters*/ - ecore_hash_remove(evfs_dir_requests, data->resp_command.file_command.files[0]->path); + ecore_hash_remove(evfs_dir_requests, (long*)data->resp_command.client_identifier ); ecore_list_append(file_list, calling_request); @@ -527,7 +527,7 @@ folder_monitor_hash = ecore_hash_new (ecore_direct_hash, ecore_direct_compare); stat_request_hash = ecore_hash_new (ecore_str_hash, ecore_str_compare); - evfs_dir_requests = ecore_hash_new (ecore_str_hash, ecore_str_compare); + evfs_dir_requests = ecore_hash_new (ecore_direct_hash, ecore_direct_compare); file_copy_hash = ecore_hash_new (ecore_str_hash, ecore_str_compare); /*Connect to evfs*/ @@ -746,6 +746,7 @@ else { /*Not a posix call for a dir list - don't use our local optim function */ entropy_file_request *new_request; /*We need to make a copy of the request object because the original will be destroyed */ + long request_id; entropy_generic_file *source_file; char *uri; @@ -768,7 +769,7 @@ printf ("URI: %s\n", uri); path = evfs_parse_uri (uri); - evfs_client_dir_list (con, path->files[0]); + request_id = evfs_client_dir_list (con, path->files[0]); new_request = entropy_malloc (sizeof (entropy_file_request)); @@ -791,15 +792,7 @@ new_request->requester = request->requester; new_request->file_type = request->file_type; - /*If it is a drilldown request - we must be at the root. - *Anything else, and we must be an 'embedded' request with a parent*/ - if (request->drill_down) { - ecore_hash_set (evfs_dir_requests, "/", new_request); - } - else { - printf("Setting dir request hash to '%s'\n", path->files[0]->path); - ecore_hash_set (evfs_dir_requests, path->files[0]->path, new_request); - } + ecore_hash_set (evfs_dir_requests,(long*)request_id, new_request); entropy_free (uri); ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs