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

Reply via email to