Enlightenment CVS committal

Author  : chaos
Project : e17
Module  : apps/evfs

Dir     : e17/apps/evfs/src/bin


Modified Files:
        evfs_main.c evfs_server_handle.c 


Log Message:
* Add 'move' operation

===================================================================
RCS file: /cvs/e/e17/apps/evfs/src/bin/evfs_main.c,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -3 -r1.45 -r1.46
--- evfs_main.c 22 Apr 2006 06:50:25 -0000      1.45
+++ evfs_main.c 10 Jun 2006 02:35:58 -0000      1.46
@@ -197,8 +197,11 @@
         evfs_handle_file_read_command(client, command);
         break;
      case EVFS_CMD_FILE_COPY:
-        printf("File copy handler\n");
-        evfs_handle_file_copy(client, command, command);
+        evfs_handle_file_copy(client, command, command,0);
+       cleanup_command = 0;
+        break;
+     case EVFS_CMD_FILE_MOVE:
+        evfs_handle_file_copy(client, command, command,1);
        cleanup_command = 0;
         break;
 
===================================================================
RCS file: /cvs/e/e17/apps/evfs/src/bin/evfs_server_handle.c,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -3 -r1.53 -r1.54
--- evfs_server_handle.c        22 Apr 2006 06:50:25 -0000      1.53
+++ evfs_server_handle.c        10 Jun 2006 02:35:58 -0000      1.54
@@ -388,7 +388,7 @@
  */
 void
 evfs_handle_file_copy(evfs_client * client, evfs_command * command,
-                      evfs_command * root_command)
+                      evfs_command * root_command, int move)
 {
    evfs_plugin *plugin;
    evfs_plugin *dst_plugin;
@@ -438,6 +438,7 @@
         /*Get the source file size */
         (*EVFS_PLUGIN_FILE(plugin)->functions->evfs_file_lstat) (command, 
&file_stat, 0);
 
+       /*Get destination file size*/
         res =
            (*EVFS_PLUGIN_FILE(dst_plugin)->functions->evfs_file_lstat) 
(command, &dest_stat, 1);
 
@@ -450,6 +451,13 @@
                       evfs_filereference_clone(command->file_command.files[1]),
                       file_stat, dest_stat, res);
 
+                 /*If we're a move, queue the delete of this dir..*/
+                 if (move) {
+                      evfs_operation_remove_task_add(EVFS_OPERATION(op), 
+                         
evfs_filereference_clone(command->file_command.files[0]),
+                         file_stat);
+                 }
+
           } else {
              Ecore_List *directory_list = NULL;
 
@@ -492,7 +500,7 @@
                        //printf("Copy file '%s' to %s\n", file->path, 
destination_file);
 
                        evfs_handle_file_copy(client, recursive_command,
-                                             root_command);
+                                             root_command, move);
 
                        evfs_cleanup_filereference(file);
                        evfs_cleanup_command(recursive_command,
@@ -500,20 +508,23 @@
                     }
                   ecore_list_destroy(directory_list);
 
+                 /*If we're a move, queue the delete of this dir (it should be 
empty - unless perms denied it....*/
+                 if (move) {
+                      evfs_operation_remove_task_add(EVFS_OPERATION(op), 
+                         
evfs_filereference_clone(command->file_command.files[0]),
+                         file_stat);
+                 }
+
                }
 
           }
 
-   printf("4\n");
-
-       
         /*Only send '100%' event when we're back at the top, or we aren't 
recursive */
         if (command == root_command) {
            /*evfs_file_progress_event_create(client, command, root_command, 
100,
                                            EVFS_PROGRESS_TYPE_DONE);*/
 
           evfs_operation_tasks_print(EVFS_OPERATION(op));
-
           evfs_operation_queue_pending_add(EVFS_OPERATION(op));
 
        }




_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to