Enlightenment CVS committal

Author  : chaos
Project : e17
Module  : apps/evfs

Dir     : e17/apps/evfs/src/bin


Modified Files:
        evfs_main.c evfs_metadata.c evfs_server_handle.c 


Log Message:
* First step of metadata write support

===================================================================
RCS file: /cvs/e/e17/apps/evfs/src/bin/evfs_main.c,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -3 -r1.49 -r1.50
--- evfs_main.c 25 Jun 2006 05:58:51 -0000      1.49
+++ evfs_main.c 25 Jun 2006 10:18:07 -0000      1.50
@@ -226,6 +226,9 @@
                        command->file_command.ref, command->file_command.ref2);
        break;
      case EVFS_CMD_METADATA_FILE_GET:
+       printf("Requested metadata retrieval.. key:%s\n", 
command->file_command.ref);
+       evfs_handle_metadata_string_file_get_command(client,command, 
+                       command->file_command.ref);     
        break;
 
      default:
===================================================================
RCS file: /cvs/e/e17/apps/evfs/src/bin/evfs_metadata.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- evfs_metadata.c     25 Jun 2006 05:58:51 -0000      1.4
+++ evfs_metadata.c     25 Jun 2006 10:18:07 -0000      1.5
@@ -57,12 +57,18 @@
 
        if (stat(metadata_file, &config_dir_stat)) {
                mkdir(metadata_file, 0700);
+
+               snprintf(metadata_file, PATH_MAX, 
"%s/.e/evfs/evfs_metadata.eet", homedir);
+
+               /*Open/close the file*/
+               _evfs_metadata_eet = eet_open(metadata_file, 
EET_FILE_MODE_WRITE);
+               eet_close(_evfs_metadata_eet);
+       } else {
+               snprintf(metadata_file, PATH_MAX, 
"%s/.e/evfs/evfs_metadata.eet", homedir);
        }
-       snprintf(metadata_file, PATH_MAX, "%s/.e/evfs/evfs_metadata.eet", 
homedir);
 
-       /*Open/close the file*/
-       _evfs_metadata_eet = eet_open(metadata_file, EET_FILE_MODE_WRITE);
-       eet_close(_evfs_metadata_eet);
+
+
 
        /*String edd*/
        Evfs_Metadata_String_Edd = 
_evfs_metadata_edd_create("evfs_metadata_string", sizeof(evfs_metadata_object));
@@ -106,4 +112,33 @@
                printf("Wrote %s for %s\n", value, path);
        }
        eet_close(_evfs_metadata_eet);
+       free(data);
+}
+
+void evfs_metadata_file_get_key_value_string(evfs_filereference* ref, char* 
key,
+               char* value) 
+{
+       evfs_metadata_object* obj;
+       char path[PATH_MAX];
+       char* data;
+       int size;
+       int ret;
+
+       snprintf(path, PATH_MAX, "/%s/%s/string/%s", ref->plugin_uri, 
ref->path, key);
+       ret = 0;
+
+       _evfs_metadata_eet = eet_open(metadata_file, EET_FILE_MODE_READ);
+       if (_evfs_metadata_eet) {
+               data = eet_read(_evfs_metadata_eet, path, &size);
+               if (data) {
+                       obj = 
eet_data_descriptor_decode(Evfs_Metadata_String_Edd, data, size);
+               }
+               eet_close(_evfs_metadata_eet);
+
+               if (obj) {
+                       printf ("Got %s -> %s\n", obj->key, obj->value);
+                       free(data);
+                       free(obj);
+               }
+       }       
 }
===================================================================
RCS file: /cvs/e/e17/apps/evfs/src/bin/evfs_server_handle.c,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -3 -r1.55 -r1.56
--- evfs_server_handle.c        25 Jun 2006 05:58:51 -0000      1.55
+++ evfs_server_handle.c        25 Jun 2006 10:18:07 -0000      1.56
@@ -584,3 +584,11 @@
                
evfs_metadata_file_set_key_value_string(command->file_command.files[0], key, 
value);
        }
 }
+
+void evfs_handle_metadata_string_file_get_command(evfs_client* client, 
+               evfs_command* command, char* key) 
+{
+       if (command->file_command.num_files > 0) {
+               
evfs_metadata_file_get_key_value_string(command->file_command.files[0], key);
+       }
+}



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