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: Made the event structure and subsystem more logical. Event types can now be transmittd =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/evfs/src/common/evfs_event_helper.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- evfs_event_helper.c 16 Aug 2005 07:31:39 -0000 1.1 +++ evfs_event_helper.c 17 Sep 2005 06:54:20 -0000 1.2 @@ -1,13 +1,13 @@ #include <evfs.h> -void evfs_file_monitor_event_create(evfs_client* client, const char* path) { +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*/ evfs_event* event = NEW(evfs_event); - event->type = EVFS_EV_REPLY; - event->sub_type = EVFS_EV_SUB_MONITOR_NOTIFY; - event->data = (char*)path; - event->data_len = strlen(path)+1; + event->type = EVFS_EV_FILE_MONITOR; + event->file_monitor.filename = (char*)path; + event->file_monitor.fileev_type = type; + event->file_monitor.filename_len = strlen(path)+1; evfs_write_event(client, event); =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/evfs/src/common/evfs_io.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- evfs_io.c 8 Sep 2005 13:22:47 -0000 1.7 +++ evfs_io.c 17 Sep 2005 06:54:20 -0000 1.8 @@ -1,5 +1,6 @@ #include <evfs.h> + static pthread_mutex_t ipc_client_mutex = PTHREAD_MUTEX_INITIALIZER; static pthread_mutex_t ipc_server_mutex = PTHREAD_MUTEX_INITIALIZER; @@ -28,12 +29,21 @@ evfs_write_ecore_ipc_client_message(client->client, ecore_ipc_message_new(EVFS_EV_NOTIFY_ID,0,0,0,0,&client->id, sizeof(long))); } +void evfs_write_event_file_monitor (evfs_client* client, evfs_event* event) { + evfs_write_ecore_ipc_client_message(client->client, ecore_ipc_message_new(EVFS_EV_REPLY,EVFS_EV_PART_FILE_MONITOR_TYPE,client->id,0,0,&event->file_monitor.fileev_type, sizeof(evfs_file_monitor_type))); + evfs_write_ecore_ipc_client_message(client->client, ecore_ipc_message_new(EVFS_EV_REPLY,EVFS_EV_PART_FILE_MONITOR_FILENAME,client->id,0,0,event->file_monitor.filename,event->file_monitor.filename_len)); + + +} 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))); - evfs_write_ecore_ipc_client_message(client->client, ecore_ipc_message_new(EVFS_EV_REPLY,EVFS_EV_PART_SUB_TYPE,client->id,0,0,&event->sub_type, sizeof(evfs_eventtype_sub))); - - evfs_write_ecore_ipc_client_message(client->client, ecore_ipc_message_new(EVFS_EV_REPLY,EVFS_EV_PART_DATA,client->id,0,0,event->data, event->data_len)); + + switch (event->type) { + case EVFS_EV_FILE_MONITOR: evfs_write_event_file_monitor(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)); @@ -45,13 +55,12 @@ case EVFS_EV_PART_TYPE: memcpy(&event->type, msg->data, sizeof(evfs_eventtype)); break; - case EVFS_EV_PART_SUB_TYPE: - memcpy(&event->sub_type, msg->data, sizeof(evfs_eventtype_sub)); + case EVFS_EV_PART_FILE_MONITOR_TYPE: + memcpy(&event->file_monitor.fileev_type, msg->data, sizeof(evfs_file_monitor_type)); break; - case EVFS_EV_PART_DATA: - event->data = malloc(msg->len); - event->data_len = msg->len; - memcpy(event->data, msg->data, msg->len); + case EVFS_EV_PART_FILE_MONITOR_FILENAME: + event->file_monitor.filename = strdup(msg->data); + event->file_monitor.filename_len = strlen(msg->data); break; case EVFS_EV_PART_END: return TRUE; ------------------------------------------------------- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs