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

Reply via email to