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