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
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs