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
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs