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