Enlightenment CVS committal

Author  : chaos
Project : e17
Module  : apps/evfs

Dir     : e17/apps/evfs/src/common


Modified Files:
        evfs_cleanup.c evfs_filereference.c evfs_io.c 


Log Message:
* API changes, allow stat on dir listing for each file
* Actually kill child worker properly after our daemon client exits

===================================================================
RCS file: /cvs/e/e17/apps/evfs/src/common/evfs_cleanup.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -3 -r1.31 -r1.32
--- evfs_cleanup.c      17 Aug 2007 10:19:04 -0000      1.31
+++ evfs_cleanup.c      19 Aug 2007 01:30:08 -0000      1.32
@@ -64,6 +64,9 @@
    /*Do we assume this is just a string?*/
    if (ref->attach)
       free(ref->attach);
+
+   if (ref->stat)
+      free(ref->stat);
    free(ref);
 
 }
===================================================================
RCS file: /cvs/e/e17/apps/evfs/src/common/evfs_filereference.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- evfs_filereference.c        17 Aug 2007 10:19:04 -0000      1.2
+++ evfs_filereference.c        19 Aug 2007 01:30:08 -0000      1.3
@@ -6,8 +6,16 @@
        ref->path = strdup(path);
        ref->plugin_uri = strdup(plugin);
        ref->file_type = filetype;
-       ref->plugin = evfs_get_plugin_for_uri(evfs_server_get(), plugin);
-       printf("Got plugin %p for uri %s\n", ref->plugin, plugin);
+       
+       if (!evfs_object_client_is_get()) 
+               ref->plugin = evfs_get_plugin_for_uri(evfs_server_get(), 
plugin);
 
+       return ref;
+}
+
+/*Helper function for local files*/
+EvfsFilereference* evfs_filereference_local_new(char* path)
+{
+       EvfsFilereference* ref = evfs_filereference_new("file", path, 0);
        return ref;
 }
===================================================================
RCS file: /cvs/e/e17/apps/evfs/src/common/evfs_io.c,v
retrieving revision 1.77
retrieving revision 1.78
diff -u -3 -r1.77 -r1.78
--- evfs_io.c   18 Aug 2007 01:52:09 -0000      1.77
+++ evfs_io.c   19 Aug 2007 01:30:08 -0000      1.78
@@ -28,6 +28,7 @@
 static Eet_Data_Descriptor *_EvfsEventAuthRequired_edd;
 static Eet_Data_Descriptor *_EvfsEventOpen_edd;
 static Eet_Data_Descriptor *_EvfsEventFileMonitor_edd;
+static Eet_Data_Descriptor *_stat_edd;
 
 #define _NEW_EDD(type) eet_data_descriptor_new(#type, sizeof(type), \
                               (void *(*)(void *))evas_list_next, \
@@ -98,6 +99,23 @@
    
    evfs_io_edd_hash = ecore_hash_new(ecore_direct_hash, ecore_direct_compare);
 
+   /*Stat*/
+   _stat_edd = _NEW_EDD(struct stat);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_stat_edd, struct stat, "stat_st_dev", 
st_dev, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_stat_edd, struct stat, "stat_st_ino", 
st_ino, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_stat_edd, struct stat, "stat_st_mode", 
st_mode, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_stat_edd, struct stat, "stat_st_nlink", 
st_nlink, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_stat_edd, struct stat, "stat_st_uid", 
st_uid, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_stat_edd, struct stat, "stat_st_gid", 
st_gid, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_stat_edd, struct stat, "stat_st_rdev", 
st_rdev, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_stat_edd, struct stat, "stat_st_size", 
st_size, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_stat_edd, struct stat, "stat_st_blksize", 
st_blksize, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_stat_edd, struct stat, "stat_st_blocks", 
st_blocks, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_stat_edd, struct stat, "stat_st_atime", 
st_atime, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_stat_edd, struct stat, "stat_st_mtime", 
st_mtime, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_stat_edd, struct stat, "stat_st_ctime", 
st_ctime, EET_T_INT);
+   
+
    /*File_reference eet */
    _EvfsFilereference_edd = _NEW_EDD(EvfsFilereference);
    EET_DATA_DESCRIPTOR_ADD_BASIC(_EvfsFilereference_edd, EvfsFilereference,
@@ -114,8 +132,10 @@
                                  "attach", attach, EET_T_STRING);
    EET_DATA_DESCRIPTOR_ADD_BASIC(_EvfsFilereference_edd, EvfsFilereference,
                                  "fd", fd, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_SUB(_EvfsFilereference_edd, EvfsFilereference, 
"parent", parent, 
+   EET_DATA_DESCRIPTOR_ADD_SUB(_EvfsFilereference_edd, EvfsFilereference, 
"parent", parent,               
                   _EvfsFilereference_edd);
+   EET_DATA_DESCRIPTOR_ADD_SUB(_EvfsFilereference_edd, EvfsFilereference, 
"stat", stat, 
+                  _stat_edd);
 
    /*Evfs_operation eet */
    _EvfsOperation_edd = _NEW_EDD(EvfsOperation);
@@ -158,6 +178,8 @@
                                  "EvfsCommand_operation", op, 
_EvfsOperation_edd);   
    EET_DATA_DESCRIPTOR_ADD_BASIC(_EvfsCommand_edd, evfs_command,
                                  "EvfsCommand_id", client_identifier, 
EET_T_INT);
+      EET_DATA_DESCRIPTOR_ADD_BASIC(_EvfsCommand_edd, evfs_command,
+                                 "EvfsCommand_options", options, EET_T_INT);
 
    /*Base event EDD*/
    _EvfsEvent_edd = _NEW_EDD(EvfsEvent);
@@ -219,7 +241,7 @@
    EET_DATA_DESCRIPTOR_ADD_BASIC(_EvfsEventStat_edd, EvfsEventStat, 
"EvfsEventStat_ist_mtime", ist_mtime, EET_T_INT);
    EET_DATA_DESCRIPTOR_ADD_BASIC(_EvfsEventStat_edd, EvfsEventStat, 
"EvfsEventStat_ist_ctime", ist_ctime, EET_T_INT);
    evfs_io_event_edd_set(EVFS_EV_STAT, _EvfsEventStat_edd); 
-  
+
    /*EvfsMetadataGroup*/
    _EvfsMetadataGroup_edd = _NEW_EDD(EvfsMetadataGroup);   
    EET_DATA_DESCRIPTOR_ADD_BASIC(_EvfsMetadataGroup_edd, EvfsMetadataGroup, 
"EvfsMetadataGroup_name", name, EET_T_STRING);



-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to