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

Reply via email to