Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs
Dir : e17/apps/evfs/src/bin Modified Files: Makefile.am evfs_main.c evfs_metadata.c Log Message: * Change back to bringing in evfs_metadata.c via libevfs - otherwise objects that are dlopened can't access the same resource pointers (i.e sqlite*), as the main evfs binary. * Start of a metadata 'fork' harvesting system =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/bin/Makefile.am,v retrieving revision 1.21 retrieving revision 1.22 diff -u -3 -r1.21 -r1.22 --- Makefile.am 20 Jul 2006 15:15:40 -0000 1.21 +++ Makefile.am 22 Jul 2006 13:12:57 -0000 1.22 @@ -21,7 +21,8 @@ evfs_metadata.c \ evfs_metadata_db.c \ #evfs_mounts.c \ - $(top_srcdir)/src/common/evfs_vfolder.c + $(top_srcdir)/src/common/evfs_vfolder.c \ + $(top_srcdir)/src/common/evfs_server.c evfscat_SOURCES = \ evfscat.c =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/bin/evfs_main.c,v retrieving revision 1.53 retrieving revision 1.54 diff -u -3 -r1.53 -r1.54 --- evfs_main.c 20 Jul 2006 17:49:51 -0000 1.53 +++ evfs_main.c 22 Jul 2006 13:12:57 -0000 1.54 @@ -46,13 +46,7 @@ #include <errno.h> #include <dirent.h> -static evfs_server *server; - -evfs_server* -evfs_server_get() -{ - return server; -} +static evfs_server* server; evfs_client * evfs_client_get(Ecore_Ipc_Client * client) @@ -454,7 +448,7 @@ ecore_file_init(); - server = NEW(evfs_server); + server = evfs_server_new(); server->client_hash = ecore_hash_new(ecore_direct_hash, ecore_direct_compare); server->plugin_uri_hash = ecore_hash_new(ecore_str_hash, ecore_str_compare); @@ -470,13 +464,6 @@ /*Add a timer, to make sure our event loop keeps going. Kinda hacky */ ecore_timer_add(0.01, ecore_timer_enterer, NULL); - /*Load the plugins */ - evfs_load_plugins(); - evfs_io_initialise(); - evfs_vfolder_initialise(); - evfs_operation_initialise(); - evfs_metadata_initialise(); - if ((server->ipc_server = ecore_ipc_server_connect(ECORE_IPC_LOCAL_USER, EVFS_IPC_TITLE, 0, NULL))) @@ -500,6 +487,13 @@ ecore_event_handler_add(ECORE_IPC_EVENT_CLIENT_DATA, ipc_client_data, NULL); } + + /*Load the plugins */ + evfs_load_plugins(); + evfs_io_initialise(); + evfs_vfolder_initialise(); + evfs_operation_initialise(); + evfs_metadata_initialise(); ecore_main_loop_begin(); =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/bin/evfs_metadata.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -3 -r1.20 -r1.21 --- evfs_metadata.c 22 Jul 2006 06:09:26 -0000 1.20 +++ evfs_metadata.c 22 Jul 2006 13:12:57 -0000 1.21 @@ -284,8 +284,6 @@ if (!evfs_object_client_is_get()) { printf(". EVFS metadata initialise..\n"); - evfs_metadata_extract_fork(NULL); - /*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, @@ -388,7 +386,6 @@ g->name = strdup(sqlite3_column_text(pStmt,0)); if (sqlite3_column_text(pStmt, 1)) { g->visualhint = strdup(sqlite3_column_text(pStmt,1)); - printf("Loaded visualhint %s\n", g->visualhint); } ret_list = evas_list_append(ret_list, g); @@ -597,7 +594,7 @@ char* file_path; int size; int ret; - char* value; + char* value = NULL; /*Build a path*/ file_path = evfs_filereference_to_string(ref); @@ -634,12 +631,19 @@ int evfs_metadata_extract_fork(evfs_filereference* ref) { - if (!(_metadata_fork = fork())) { + int pid; + + if (!(pid = fork())) { evfs_plugin* plugin; - char* uri = homedir; - - printf("Extract fork started, homedir: %s..\n", homedir); + evfs_command* command; + + printf("Extract fork started: %s..\n", ref->path); + command = NEW(evfs_command); + command->file_command.files = calloc(1, sizeof(evfs_filereference*)); + command->file_command.files[0] = ref; + plugin = evfs_meta_plugin_get_for_type(evfs_server_get(), "object/undefined"); + (*EVFS_PLUGIN_META(plugin)->functions->evfs_file_meta_retrieve)(NULL,command); } return 1; ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs