Enlightenment CVS committal

Author  : chaos
Project : e17
Module  : apps/evfs

Dir     : e17/apps/evfs/src/bin


Modified Files:
        evfs_metadata_db.c evfs_server_handle.c evfs_worker.c 


Log Message:
An event to get a list of all extracted metadata keywords

===================================================================
RCS file: /cvs/e/e17/apps/evfs/src/bin/evfs_metadata_db.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- evfs_metadata_db.c  28 Aug 2007 02:45:39 -0000      1.15
+++ evfs_metadata_db.c  29 Aug 2007 04:31:39 -0000      1.16
@@ -639,3 +639,27 @@
 
        return files;
 }
+
+Evas_List* evfs_metadata_db_meta_list_get(sqlite3* db)
+{
+       char query[PATH_MAX];
+       Evas_List* meta = NULL;
+       int ret;
+       sqlite3_stmt *pStmt;
+
+       snprintf(query,sizeof(query),"select keyword, count(*) cnt from 
FileMeta group by keyword order by cnt desc");
+       ret = sqlite3_prepare(db, query, -1, &pStmt, 0);
+       if (ret == SQLITE_OK) {
+               while ((ret = sqlite3_step(pStmt)) == SQLITE_ROW) {
+                       EvfsMetaObject* m =  NEW(EvfsMetaObject);
+                       char* mt = strdup(sqlite3_column_text(pStmt,0));
+                       m->key = mt;
+
+                       meta = evas_list_append(meta, m);       
+               }
+               sqlite3_reset(pStmt);
+               sqlite3_finalize(pStmt);
+
+       }
+       return meta;    
+}
===================================================================
RCS file: /cvs/e/e17/apps/evfs/src/bin/evfs_server_handle.c,v
retrieving revision 1.87
retrieving revision 1.88
diff -u -3 -r1.87 -r1.88
--- evfs_server_handle.c        27 Aug 2007 13:38:53 -0000      1.87
+++ evfs_server_handle.c        29 Aug 2007 04:31:39 -0000      1.88
@@ -791,3 +791,17 @@
        
        evfs_metadata_db_close(db);
 }
+
+void evfs_handle_meta_all_request(evfs_client* client, evfs_command* command)
+{
+       Evas_List* e;
+       sqlite3* db;
+
+       db = evfs_metadata_db_connect();
+       if (db) {
+               e = evfs_metadata_db_meta_list_get(db);
+               evfs_metadata_db_close(db);
+
+               evfs_metaall_event_create(client,command,e);
+       }
+}
===================================================================
RCS file: /cvs/e/e17/apps/evfs/src/bin/evfs_worker.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- evfs_worker.c       26 Aug 2007 13:08:36 -0000      1.9
+++ evfs_worker.c       29 Aug 2007 04:31:39 -0000      1.10
@@ -181,6 +181,10 @@
        evfs_handle_vfolder_create(client,command);
        break;
 
+     case EVFS_CMD_META_ALL_REQUEST:
+       evfs_handle_meta_all_request(client,command);
+       break;
+
      default:
         printf("Warning - unhandled command %d\n", command->type);
         break;



-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to