Enlightenment CVS committal Author : lordchaos Project : e17 Module : apps/evfs
Dir : e17/apps/evfs/src/common Modified Files: evfs_event_helper.c evfs_io.c Log Message: Start of stat communication =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/evfs/src/common/evfs_event_helper.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- evfs_event_helper.c 17 Sep 2005 06:54:20 -0000 1.2 +++ evfs_event_helper.c 5 Oct 2005 03:50:32 -0000 1.3 @@ -1,5 +1,10 @@ #include <evfs.h> + #include <sys/types.h> + #include <sys/stat.h> + #include <unistd.h> + + void evfs_file_monitor_event_create(evfs_client* client, int type, const char* path) { /*Create a reply event for a file mon event, send it , destroy event*/ @@ -16,3 +21,21 @@ /*No need to free data -it's probably a const raised by the ecore - it will free it.*/ } + + +void evfs_stat_event_create(evfs_client* client, struct stat* stat_obj) { + /*Create a reply event for a file mon event, send it , destroy event*/ + + evfs_event* event = NEW(evfs_event); + event->type = EVFS_EV_STAT; + event->stat.size = stat_obj->st_size; + + printf("Size here is %ld\n", event->stat.size); + + evfs_write_event(client, event); + + /*Now destroy*/ + free(event); + /*No need to free data -it's probably a const raised by the ecore - it will free it.*/ + +} =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/evfs/src/common/evfs_io.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- evfs_io.c 26 Sep 2005 11:39:47 -0000 1.9 +++ evfs_io.c 5 Oct 2005 03:50:32 -0000 1.10 @@ -36,12 +36,25 @@ } +void evfs_write_stat_event (evfs_client* client, evfs_event* event) { + evfs_write_ecore_ipc_client_message(client->client, ecore_ipc_message_new(EVFS_EV_REPLY,EVFS_EV_PART_STAT_SIZE,client->id,0,0,&event->stat.size,sizeof(unsigned long))); + printf("Writing size: %ld\n", event->stat.size); + + +} + + + + void evfs_write_event(evfs_client* client, evfs_event* event) { evfs_write_ecore_ipc_client_message(client->client, ecore_ipc_message_new(EVFS_EV_REPLY,EVFS_EV_PART_TYPE,client->id,0,0,&event->type, sizeof(evfs_eventtype))); switch (event->type) { case EVFS_EV_FILE_MONITOR: evfs_write_event_file_monitor(client,event); break; + case EVFS_EV_STAT: printf ("Writing stat event!\n"); + evfs_write_stat_event(client,event); + break; } evfs_write_ecore_ipc_client_message(client->client, ecore_ipc_message_new(EVFS_EV_REPLY,EVFS_EV_PART_END,client->id,0,0,NULL,0)); @@ -62,6 +75,10 @@ event->file_monitor.filename = strdup(msg->data); event->file_monitor.filename_len = strlen(msg->data); break; + case EVFS_EV_PART_STAT_SIZE: + memcpy(&event->stat.size, msg->data, sizeof(unsigned long)); + printf("Received event , stat size: %ld\n", msg->data); + break; case EVFS_EV_PART_END: return TRUE; break; @@ -104,6 +121,7 @@ case EVFS_CMD_STARTMON_FILE: case EVFS_CMD_REMOVE_FILE: case EVFS_CMD_RENAME_FILE: + case EVFS_CMD_FILE_STAT: evfs_write_file_command(conn, command); break; } ------------------------------------------------------- This SF.Net email is sponsored by: Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs