Enlightenment CVS committal Author : lordchaos Project : e17 Module : apps/evfs
Dir : e17/apps/evfs/src/common Modified Files: evfs_cleanup.c evfs_event_helper.c evfs_io.c Log Message: * Actually send an operation request to a client =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/evfs/src/common/evfs_cleanup.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- evfs_cleanup.c 29 Dec 2005 10:59:00 -0000 1.11 +++ evfs_cleanup.c 31 Jan 2006 07:16:42 -0000 1.12 @@ -78,6 +78,12 @@ } +void evfs_cleanup_operation_event(evfs_event* event) { + /*We don't want to free the operation - the command owns this, + * unless we're a client*/ + /*FIXME identify if we're the client, and free*/ +} + void evfs_cleanup_event(evfs_event* event) { evfs_cleanup_command(&event->resp_command, EVFS_CLEANUP_PRESERVE_COMMAND); @@ -94,6 +100,9 @@ case EVFS_EV_FILE_PROGRESS: evfs_cleanup_progress_event(event); break; + case EVFS_EV_OPERATION: + evfs_cleanup_operation_event(event); + break; } free(event); =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/evfs/src/common/evfs_event_helper.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -3 -r1.17 -r1.18 --- evfs_event_helper.c 31 Jan 2006 06:33:57 -0000 1.17 +++ evfs_event_helper.c 31 Jan 2006 07:16:42 -0000 1.18 @@ -107,6 +107,7 @@ void evfs_operation_event_create(evfs_client* client, evfs_command* command, evfs_operation* op) { evfs_event* event = NEW(evfs_event); event->type = EVFS_EV_OPERATION; + event->op = op; evfs_write_event(client, command, event); =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/evfs/src/common/evfs_io.c,v retrieving revision 1.40 retrieving revision 1.41 diff -u -3 -r1.40 -r1.41 --- evfs_io.c 15 Jan 2006 12:26:40 -0000 1.40 +++ evfs_io.c 31 Jan 2006 07:16:42 -0000 1.41 @@ -5,6 +5,7 @@ static int io_init=0; static Eet_Data_Descriptor *_evfs_filereference_edd; static Eet_Data_Descriptor *_evfs_progress_event_edd; +static Eet_Data_Descriptor *_evfs_operation_edd; Eet_Data_Descriptor* evfs_io_filereference_edd_get() { @@ -49,6 +50,21 @@ EET_DATA_DESCRIPTOR_ADD_BASIC(_evfs_progress_event_edd, evfs_event_progress, "file_to",file_to, EET_T_STRING); EET_DATA_DESCRIPTOR_ADD_BASIC(_evfs_progress_event_edd, evfs_event_progress, "type", type, EET_T_INT); + /*Evfs_operation eet*/ + _evfs_operation_edd = eet_data_descriptor_new("evfs_operation", sizeof(evfs_operation), + (void *(*) (void *))evas_list_next, + (void *(*) (void *, void *))evas_list_append, + (void *(*) (void *))evas_list_data, + (void *(*) (void *))evas_list_free, + (void (*) (void *, int (*) (void *, const char *, void *, void *), void *))evas_hash_foreach, + (void *(*) (void *, const char *, void *))evas_hash_add, + (void (*) (void *))evas_hash_free); + + EET_DATA_DESCRIPTOR_ADD_BASIC(_evfs_operation_edd, evfs_operation, "id", id, EET_T_INT); + EET_DATA_DESCRIPTOR_ADD_BASIC(_evfs_operation_edd, evfs_operation, "status", status, EET_T_INT); + EET_DATA_DESCRIPTOR_ADD_BASIC(_evfs_operation_edd, evfs_operation, "response", response, EET_T_INT); + + return 0; @@ -162,8 +178,18 @@ client->id,0,0,data, size_ret )); free(data); - - +} + +void evfs_write_operation_event(evfs_client* client, evfs_event* event) { + int size_ret = 0; + + char* data = eet_data_descriptor_encode(_evfs_operation_edd, event->op, &size_ret); + + evfs_write_ecore_ipc_client_message(client->client, + ecore_ipc_message_new(EVFS_EV_REPLY,EVFS_EV_PART_OPERATION, + client->id,0,0,data, size_ret )); + + free(data); } @@ -194,6 +220,9 @@ case EVFS_EV_FILE_READ: evfs_write_file_read_event(client,event); break; + + case EVFS_EV_OPERATION: evfs_write_operation_event(client, event); + break; default: printf("Event type not handled in switch\n"); break; @@ -236,6 +265,13 @@ } break; + case EVFS_EV_PART_OPERATION: { + evfs_operation* op = eet_data_descriptor_decode(_evfs_operation_edd, msg->data, msg->len); + event->op = op; + + } + break; + case EVFS_EV_PART_DATA: { event->data.size = msg->len; event->data.bytes = malloc(msg->len); ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs