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: * Send file-copy-progress events =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/evfs/src/common/evfs_event_helper.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- evfs_event_helper.c 15 Nov 2005 10:33:41 -0000 1.10 +++ evfs_event_helper.c 15 Nov 2005 11:41:14 -0000 1.11 @@ -61,3 +61,17 @@ } +void evfs_file_progress_event_create(evfs_client* client, evfs_command* command, double progress) { + /*Create a reply event for a file mon event, send it , destroy event*/ + + + evfs_event* event = NEW(evfs_event); + event->type = EVFS_EV_FILE_PROGRESS; + event->progress.file_progress = progress; + evfs_write_event(client, command, event); + + /*Now destroy*/ + evfs_cleanup_event(event); + +} + =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/evfs/src/common/evfs_io.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -3 -r1.28 -r1.29 --- evfs_io.c 15 Nov 2005 10:33:41 -0000 1.28 +++ evfs_io.c 15 Nov 2005 11:41:14 -0000 1.29 @@ -6,6 +6,7 @@ static int io_init=0; static Eet_Data_Descriptor *_evfs_filereference_edd; +static Eet_Data_Descriptor *_evfs_progress_event_edd; int evfs_io_initialise() { @@ -27,6 +28,17 @@ EET_DATA_DESCRIPTOR_ADD_BASIC(_evfs_filereference_edd, evfs_filereference, "path",path, EET_T_STRING); EET_DATA_DESCRIPTOR_ADD_BASIC(_evfs_filereference_edd, evfs_filereference, "plugin_uri",plugin_uri, EET_T_STRING); + _evfs_progress_event_edd = eet_data_descriptor_new("evfs_progress_event", sizeof(evfs_event_progress), + (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_progress_event_edd, evfs_event_progress, "progress", file_progress, EET_T_DOUBLE); + return 0; @@ -108,6 +120,15 @@ } +void evfs_write_progress_event(evfs_client* client, evfs_event* event) { + int size_ret = 0; + char* data = eet_data_descriptor_encode(_evfs_progress_event_edd, &event->progress, &size_ret); + + evfs_write_ecore_ipc_client_message(client->client, ecore_ipc_message_new(EVFS_EV_REPLY,EVFS_EV_PART_PROGRESS,client->id,0,0,data, size_ret )); + + +} + void evfs_write_event(evfs_client* client, evfs_command* command, evfs_event* event) { //printf("Sending event type '%d'\n", event->type); @@ -126,6 +147,9 @@ break; case EVFS_EV_DIR_LIST: evfs_write_list_event(client,event); break; + case EVFS_EV_FILE_PROGRESS: evfs_write_progress_event(client,event); + break; + default: printf("Event type not handled in switch\n"); break; } @@ -160,6 +184,14 @@ break; + case EVFS_EV_PART_PROGRESS: { + evfs_event_progress* pg = eet_data_descriptor_decode(_evfs_progress_event_edd, msg->data, msg->len); + memcpy(&event->progress, pg, sizeof(evfs_event_progress)); + free(pg); + + } + break; + case EVFS_EV_PART_FILE_REFERENCE: { evfs_filereference* ref; ------------------------------------------------------- This SF.Net email is sponsored by the JBoss Inc. Get Certified Today Register for a JBoss Training Course. Free Certification Exam for All Training Attendees Through End of 2005. For more info visit: http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs