Enlightenment CVS committal

Author  : chaos
Project : e17
Module  : apps/evfs

Dir     : e17/apps/evfs/src/bin


Modified Files:
        evfs_metadata.c evfs_operation.c evfs_operation_tasks.c 
        evfs_server_handle.c 


Log Message:
* File copy master function put through regression testing.  Tested ok.
* API change - evfs_dir_list now takes a file, not a command, in the plugins
* Trashing files and entire dir trees now works.  Multiple deletes of the same 
file/dir also work.

===================================================================
RCS file: /cvs/e/e17/apps/evfs/src/bin/evfs_metadata.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -3 -r1.28 -r1.29
--- evfs_metadata.c     14 Aug 2006 11:07:48 -0000      1.28
+++ evfs_metadata.c     20 Aug 2006 04:13:56 -0000      1.29
@@ -689,7 +689,7 @@
                        evfs_command* c = evfs_file_command_single_build(ref);
                        
                         
(*EVFS_PLUGIN_FILE(ref->plugin)->functions->evfs_dir_list)
-                               (NULL, c, &dir_list);
+                               (NULL, c->file_command.files[0], &dir_list);
 
                        evfs_cleanup_file_command(c);
 
===================================================================
RCS file: /cvs/e/e17/apps/evfs/src/bin/evfs_operation.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -3 -r1.16 -r1.17
--- evfs_operation.c    15 Aug 2006 09:06:30 -0000      1.16
+++ evfs_operation.c    20 Aug 2006 04:13:56 -0000      1.17
@@ -156,11 +156,12 @@
 
 
 /*Sub task functions*/
-void evfs_operation_mkdir_task_add(evfs_operation* op, evfs_filereference* dir)
+void evfs_operation_mkdir_task_add(evfs_operation* op, evfs_filereference* 
src, evfs_filereference* dir)
 {
        evfs_operation_files* fop = EVFS_OPERATION_FILES(op);
        evfs_operation_task_mkdir* mkdir = calloc(1, 
sizeof(evfs_operation_task_mkdir));
 
+       mkdir->from = src;
        mkdir->file = dir;
 
        EVFS_OPERATION_TASK(mkdir)->status = EVFS_OPERATION_TASK_STATUS_PENDING;
===================================================================
RCS file: /cvs/e/e17/apps/evfs/src/bin/evfs_operation_tasks.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -3 -r1.13 -r1.14
--- evfs_operation_tasks.c      15 Aug 2006 09:06:30 -0000      1.13
+++ evfs_operation_tasks.c      20 Aug 2006 04:13:56 -0000      1.14
@@ -135,6 +135,8 @@
                task->file->plugin = evfs_get_plugin_for_uri(evfs_server_get(),
                               task->file->plugin_uri);
 
+        if (task->from && 
*EVFS_PLUGIN_FILE(task->file->plugin)->functions->evfs_file_notify_create)
+             
(*EVFS_PLUGIN_FILE(task->file->plugin)->functions->evfs_file_notify_create) 
(task->from);
        
        ret = 
(*EVFS_PLUGIN_FILE(task->file->plugin)->functions->evfs_file_mkdir) 
(task->file);
 
===================================================================
RCS file: /cvs/e/e17/apps/evfs/src/bin/evfs_server_handle.c,v
retrieving revision 1.71
retrieving revision 1.72
diff -u -3 -r1.71 -r1.72
--- evfs_server_handle.c        19 Aug 2006 03:16:00 -0000      1.71
+++ evfs_server_handle.c        20 Aug 2006 04:13:56 -0000      1.72
@@ -181,7 +181,7 @@
                   evfs_filereference *file = NULL;
 
                   /*First, we need a directory list... */
-                  (*EVFS_PLUGIN_FILE(plugin)->functions->evfs_dir_list) 
(client, command,
+                  (*EVFS_PLUGIN_FILE(plugin)->functions->evfs_dir_list) 
(client, command->file_command.files[0],
                                                        &directory_list);
                   if (directory_list)
                     {
@@ -338,7 +338,7 @@
                                                  files[0]->plugin_uri);
    if (plugin) {
         Ecore_List *directory_list = NULL;
-        (*EVFS_PLUGIN_FILE(plugin)->functions->evfs_dir_list) (client, 
command, &directory_list);
+        (*EVFS_PLUGIN_FILE(plugin)->functions->evfs_dir_list) (client, 
command->file_command.files[0], &directory_list);
         if (directory_list) {
              evfs_list_dir_event_create(client, command, directory_list);
         } else {
@@ -483,7 +483,10 @@
                                char *path_to = malloc(final_len);
                                
                                
-                               snprintf(path_to, final_len , "%s%s", 
command->file_command.files[num_files-1]->path, slashpos);
+                               if 
(strcmp(command->file_command.files[num_files-1]->path, "/")) 
+                                       snprintf(path_to, final_len , "%s%s", 
command->file_command.files[num_files-1]->path, slashpos);
+                               else
+                                       snprintf(path_to, final_len , "%s%s", 
command->file_command.files[num_files-1]->path, slashpos+1);
                                printf("Multi file dest dir rewrite path: 
%s\n", path_to);
 
                                free(rewrite_dest->path);
@@ -543,10 +546,10 @@
                     
                     
        
-                    evfs_operation_mkdir_task_add(EVFS_OPERATION(op), 
newdir_rewrite);
+                    evfs_operation_mkdir_task_add(EVFS_OPERATION(op), 
evfs_filereference_clone(command->file_command.files[c_file]), newdir_rewrite);
        
                     /*First, we need a directory list... */
-                    (*EVFS_PLUGIN_FILE(plugin)->functions->evfs_dir_list) 
(client, command,
+                    (*EVFS_PLUGIN_FILE(plugin)->functions->evfs_dir_list) 
(client, command->file_command.files[c_file],
                                                          &directory_list);
                     if (directory_list) {
                          evfs_filereference *file = NULL;



-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to