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
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs