Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs
Dir : e17/apps/evfs/src/bin Modified Files: evfs_main.c evfs_metadata.c Log Message: * More metadata work =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/bin/evfs_main.c,v retrieving revision 1.46 retrieving revision 1.47 diff -u -3 -r1.46 -r1.47 --- evfs_main.c 10 Jun 2006 02:35:58 -0000 1.46 +++ evfs_main.c 24 Jun 2006 13:01:04 -0000 1.47 @@ -1,7 +1,7 @@ /* -Copyright (C) 2005 Alexander Taylor <[EMAIL PROTECTED]>. +Copyright (C) 2005-2006 Alexander Taylor <[EMAIL PROTECTED]>. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to @@ -451,6 +451,7 @@ evfs_io_initialise(); evfs_vfolder_initialise(); evfs_operation_initialise(); + evfs_metadata_init(); if ((server->ipc_server = ecore_ipc_server_connect(ECORE_IPC_LOCAL_USER, EVFS_IPC_TITLE, 0, =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/bin/evfs_metadata.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- evfs_metadata.c 20 Jun 2006 16:35:34 -0000 1.1 +++ evfs_metadata.c 24 Jun 2006 13:01:04 -0000 1.2 @@ -3,6 +3,7 @@ #endif #include "evfs.h" +#include "evfs_metadata.h" #include <unistd.h> #include <stdio.h> @@ -11,7 +12,67 @@ #include <sys/types.h> #include <Eet.h> +#include <Evas.h> #include <limits.h> + +static int evfs_metadata_state = 0; +static Eet_Data_Descriptor* Evfs_Metadata_String_Edd; +static char* homedir; +static char metadata_file[PATH_MAX]; +static Eet_File* _evfs_metadata_eet; + +Eet_Data_Descriptor* _evfs_metadata_edd_create(char* desc, int size) +{ + Eet_Data_Descriptor* edd; + + edd= eet_data_descriptor_new(desc, size, + (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); + + return edd; +} + +void evfs_metadata_init() +{ + struct stat config_dir_stat; + + if (!evfs_metadata_state) { + evfs_metadata_state++; + } else return; + + printf(". EVFS metadata initialise..\n"); + + homedir = strdup(getenv("HOME")); + snprintf(metadata_file, PATH_MAX, "%s/.e/evfs", homedir); + + 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); + + /*String edd*/ + Evfs_Metadata_String_Edd = _evfs_metadata_edd_create("evfs_metadata_string", sizeof(evfs_metadata_object)); + EET_DATA_DESCRIPTOR_ADD_BASIC(Evfs_Metadata_String_Edd, evfs_metadata_object, + "description", description, EET_T_STRING); + EET_DATA_DESCRIPTOR_ADD_BASIC(Evfs_Metadata_String_Edd, evfs_metadata_object, + "key", key, EET_T_STRING); + EET_DATA_DESCRIPTOR_ADD_BASIC(Evfs_Metadata_String_Edd, evfs_metadata_object, + "value", value, EET_T_STRING); +} void evfs_metadata_file_set_key_value_edd(evfs_filereference* ref, char* key, void* value, Eet_Data_Descriptor* edd) 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