Enlightenment CVS committal Author : chaos 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: * Add a command/event pair to request a list of metadata groups =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/common/evfs_cleanup.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -3 -r1.20 -r1.21 --- evfs_cleanup.c 23 Apr 2006 14:23:01 -0000 1.20 +++ evfs_cleanup.c 17 Jul 2006 05:45:38 -0000 1.21 @@ -164,6 +164,20 @@ free(event->meta); } +evfs_cleanup_metadata_groups_event(evfs_event* event) +{ + if (evfs_object_client_is_get()) { + Evas_List* l; + + for (l=event->misc.string_list; l;) { + free(l->data); + + l = l->next; + } + evas_list_free(event->misc.string_list); + } +} + void evfs_cleanup_event(evfs_event * event) { @@ -188,6 +202,11 @@ break; case EVFS_EV_METADATA: evfs_cleanup_metadata_event(event); + break; + + case EVFS_EV_METADATA_GROUPS: + evfs_cleanup_metadata_groups_event(event); + break; } free(event); =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/common/evfs_event_helper.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -3 -r1.28 -r1.29 --- evfs_event_helper.c 23 Apr 2006 14:23:01 -0000 1.28 +++ evfs_event_helper.c 17 Jul 2006 05:45:38 -0000 1.29 @@ -160,3 +160,16 @@ /*Destroy */ evfs_cleanup_event(event); } + +void evfs_group_list_event_create(evfs_client* client, evfs_command* command, Evas_List* group_list) +{ + evfs_event *event = NEW(evfs_event); + + event->type = EVFS_EV_METADATA_GROUPS; + event->misc.string_list = group_list; + + evfs_write_event(client, command, event); + + /*Destroy */ + evfs_cleanup_event(event); +} =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/common/evfs_io.c,v retrieving revision 1.61 retrieving revision 1.62 diff -u -3 -r1.61 -r1.62 --- evfs_io.c 16 Jul 2006 10:25:54 -0000 1.61 +++ evfs_io.c 17 Jul 2006 05:45:38 -0000 1.62 @@ -297,6 +297,25 @@ } +void evfs_write_metadata_groups_event(evfs_client* client, evfs_event* event) +{ + Evas_List* l; + evfs_metadata_group_header* g; + + for (l = event->misc.string_list; l; ) { + g = l->data; + + evfs_write_ecore_ipc_client_message(client->client, + ecore_ipc_message_new(EVFS_EV_REPLY, + EVFS_EV_PART_CHAR_PTR, + client->id, 0, + 0, (char*)g->name, + strlen((char*)g->name)+1)); + + l = l->next; + } +} + void evfs_write_file_read_event(evfs_client * client, evfs_event * event) { @@ -438,6 +457,10 @@ evfs_write_operation_event(client, event); break; + case EVFS_EV_METADATA_GROUPS: + evfs_write_metadata_groups_event(client,event); + break; + default: printf("Event type not handled in switch\n"); break; @@ -472,6 +495,10 @@ } break; + case EVFS_EV_PART_CHAR_PTR: + event->misc.string_list = evas_list_append(event->misc.string_list, strdup(msg->data)); + break; + case EVFS_EV_PART_STAT_SIZE: memcpy(&event->stat.stat_obj, msg->data, sizeof(evfs_stat)); @@ -676,6 +703,7 @@ case EVFS_CMD_METADATA_FILE_GET: case EVFS_CMD_METADATA_FILE_SET: case EVFS_CMD_PING: + case EVFS_CMD_METADATA_GROUPS_GET: evfs_write_file_command(conn, command); break; case EVFS_CMD_OPERATION_RESPONSE: @@ -738,6 +766,7 @@ case EVFS_CMD_METADATA_FILE_GET: case EVFS_CMD_METADATA_FILE_SET: case EVFS_CMD_PING: + case EVFS_CMD_METADATA_GROUPS_GET: evfs_write_file_command_client(client, command); break; default: ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs