Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs
Dir : e17/apps/evfs/src/common Modified Files: evfs_io.c Log Message: * evfs_io -> eet consolidation, step 1 =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/common/evfs_io.c,v retrieving revision 1.49 retrieving revision 1.50 diff -u -3 -r1.49 -r1.50 --- evfs_io.c 14 Mar 2006 13:06:23 -0000 1.49 +++ evfs_io.c 31 Mar 2006 09:21:32 -0000 1.50 @@ -45,7 +45,13 @@ EET_DATA_DESCRIPTOR_ADD_BASIC(_evfs_filereference_edd, evfs_filereference, "plugin_uri", plugin_uri, EET_T_STRING); EET_DATA_DESCRIPTOR_ADD_BASIC(_evfs_filereference_edd, evfs_filereference, + "username", username, EET_T_STRING); + EET_DATA_DESCRIPTOR_ADD_BASIC(_evfs_filereference_edd, evfs_filereference, + "password", password, EET_T_STRING); + EET_DATA_DESCRIPTOR_ADD_BASIC(_evfs_filereference_edd, evfs_filereference, "fd", fd, EET_T_INT); + EET_DATA_DESCRIPTOR_ADD_SUB(_evfs_filereference_edd, evfs_filereference, "parent", parent, + _evfs_filereference_edd); /*Progress event eet */ _evfs_progress_event_edd = @@ -427,17 +433,15 @@ { evfs_filereference *ref; + ref = + eet_data_descriptor_decode(_evfs_filereference_edd, msg->data, + msg->len); if (!event->file_list.list) { event->file_list.list = ecore_list_new(); - //printf("Created new ecore list at %p\n", event->file_list.list); } - ref = - eet_data_descriptor_decode(_evfs_filereference_edd, msg->data, - msg->len); - if (ref) { ecore_list_append(event->file_list.list, ref); @@ -612,75 +616,25 @@ evfs_write_file_command(evfs_connection * conn, evfs_command * command) { int i; - char uri[1024]; - char *part; - int it; - Ecore_List *uri_part; - - bzero(uri, 1024); /*Write the files */ /*Send them de-parsed to save time */ for (i = 0; i < command->file_command.num_files; i++) { + char* data; + int size; evfs_filereference *ref = command->file_command.files[i]; - uri_part = ecore_dlist_new(); - - it = 0; - do - { - if (it) - { - ref = ref->parent; - } - - if (ref->username) - { - snprintf(uri, 1024, "%s://%s:[EMAIL PROTECTED]", - ref->plugin_uri, - ref->username, ref->password, ref->path); - } - else - { - snprintf(uri, 1024, "%s://%s", ref->plugin_uri, ref->path); - } - ecore_dlist_append(uri_part, strdup(uri)); - //printf("Appended URI '%s'\n", uri); - - it++; - } - while (ref->parent); - - it = 0; - bzero(uri, 1024); - - ecore_dlist_goto_last(uri_part); - while ((part = ecore_dlist_previous(uri_part))) - { - if (it) - strcat(uri, "#"); - strcat(uri, part); - - free(part); - it++; - } - ecore_dlist_destroy(uri_part); + data = eet_data_descriptor_encode(_evfs_filereference_edd, ref, &size); - //printf("RE-Parsed URI: '%s'\n", uri); evfs_write_ecore_ipc_server_message(conn->server, ecore_ipc_message_new(EVFS_COMMAND, EVFS_FILE_REFERENCE, - 0, 0, 0, uri, - sizeof(uri))); + 0, 0, 0, data, + size)); - evfs_write_ecore_ipc_server_message(conn->server, - ecore_ipc_message_new(EVFS_COMMAND, - EVFS_FILE_REFERENCE_FD, - 0, 0, 0, - &ref->fd, - sizeof(int))); + free(data); } @@ -714,68 +668,21 @@ file_command.extra, sizeof(int))); - /*Write the files */ - /*Send them de-parsed to save time */ - for (i = 0; i < command->file_command.num_files; i++) + for (i = 0; i < command->file_command.num_files; i++) { + char* data; + int size; evfs_filereference *ref = command->file_command.files[i]; - uri_part = ecore_dlist_new(); + data = eet_data_descriptor_encode(_evfs_filereference_edd, ref, &size); - it = 0; - do - { - if (it) - { - ref = ref->parent; - } - - if (ref->username) - { - snprintf(uri, 1024, "%s://%s:[EMAIL PROTECTED]", - ref->plugin_uri, - ref->username, ref->password, ref->path); - } - else - { - snprintf(uri, 1024, "%s://%s", ref->plugin_uri, ref->path); - } - ecore_dlist_append(uri_part, strdup(uri)); - //printf("Appended URI '%s'\n", uri); - - it++; - } - while (ref->parent); - - it = 0; - bzero(uri, 1024); - - ecore_dlist_goto_last(uri_part); - while ((part = ecore_dlist_previous(uri_part))) - { - if (it) - strcat(uri, "#"); - strcat(uri, part); - - free(part); - it++; - } - ecore_dlist_destroy(uri_part); evfs_write_ecore_ipc_client_message(client->client, ecore_ipc_message_new(EVFS_COMMAND, EVFS_FILE_REFERENCE, client->id, 0, - 0, uri, - sizeof(uri) + - 1)); - - evfs_write_ecore_ipc_client_message(client->client, - ecore_ipc_message_new(EVFS_COMMAND, - EVFS_FILE_REFERENCE_FD, - client->id, 0, - 0, &ref->fd, - sizeof(int))); + 0, data, + size)); } @@ -805,7 +712,13 @@ case EVFS_FILE_REFERENCE: { //printf("Parsing URI: '%s'\n", message->data); - evfs_file_uri_path *path = evfs_parse_uri(message->data); + //evfs_file_uri_path *path = evfs_parse_uri(message->data); + + ref = + eet_data_descriptor_decode(_evfs_filereference_edd, message->data, + message->len); + + if (command->file_command.num_files == 0) { @@ -815,18 +728,19 @@ * but that func can also be called from the client*/ if (server) { - ref = path->files[0]; + evfs_filereference* aref = ref; do { - ref->server = server; + aref->server = server; + aref->plugin = evfs_get_plugin_for_uri(server, aref->plugin_uri); } - while ((ref = ref->parent)); + while ((aref = aref->parent)); } command->file_command.num_files = 1; command->file_command.files = malloc(sizeof(evfs_filereference *)); - command->file_command.files[0] = path->files[0]; + command->file_command.files[0] = ref; } else @@ -839,12 +753,9 @@ realloc(command->file_command.files, sizeof(evfs_filereference *) * (command->file_command.num_files + 1)); - command->file_command.files[command->file_command.num_files] = - path->files[0]; + command->file_command.files[command->file_command.num_files] = ref; command->file_command.num_files++; } - - evfs_cleanup_file_uri_path(path); } break; ------------------------------------------------------- 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