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

Reply via email to