Enlightenment CVS committal Author : chaos Project : e17 Module : apps/evfs
Dir : e17/apps/evfs/src/bin Modified Files: Makefile.am evfs_metadata.c Added Files: evfs_metadata_db.c Log Message: * Add group icon hinting * Split out seeder to new file - create DB upgrade system =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/bin/Makefile.am,v retrieving revision 1.20 retrieving revision 1.21 diff -u -3 -r1.20 -r1.21 --- Makefile.am 19 Jul 2006 16:27:10 -0000 1.20 +++ Makefile.am 20 Jul 2006 15:15:40 -0000 1.21 @@ -18,7 +18,8 @@ evfs_server_handle.c \ evfs_operation.c \ evfs_operation_tasks.c \ - evfs_metadata.c \ + evfs_metadata.c \ + evfs_metadata_db.c \ #evfs_mounts.c \ $(top_srcdir)/src/common/evfs_vfolder.c =================================================================== RCS file: /cvs/e/e17/apps/evfs/src/bin/evfs_metadata.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- evfs_metadata.c 20 Jul 2006 10:33:30 -0000 1.15 +++ evfs_metadata.c 20 Jul 2006 15:15:40 -0000 1.16 @@ -17,6 +17,8 @@ #include <sqlite3.h> +#include "evfs_metadata_db.h" + #define EVFS_METADATA_GROUP_LIST "/evfs/group/list" #define EVFS_METADATA_BASE_DATA "block" @@ -259,7 +261,6 @@ sqlite3_reset(pStmt); sqlite3_finalize(pStmt); - return exists; } @@ -314,7 +315,6 @@ } snprintf(metadata_file, PATH_MAX, "%s/.e/evfs/evfs_metadata.eet", homedir); - snprintf(metadata_db, PATH_MAX, "%s/.e/evfs/evfs_metadata.db", homedir); if (stat(metadata_file, &config_dir_stat)) { printf("Making new metadata file..\n"); @@ -358,67 +358,8 @@ eet_close(_evfs_metadata_eet); } - /*Check if we need to seed the DB*/ - if (stat(metadata_db, &config_dir_stat)) { - char* errMsg = 0; - - ret = sqlite3_open(metadata_db, &db); - if( ret ){ - fprintf(stderr, "Can't open metadata database: %s\n", sqlite3_errmsg(db)); - sqlite3_close(db); - exit(1); - } - - /*Seed statements*/ - ret = sqlite3_exec(db, - "CREATE TABLE File (id integer primary key AUTOINCREMENT, filename varchar(1024));", - NULL, 0,&errMsg); - if( ret ){ - fprintf(stderr, "Create error: %s\n", sqlite3_errmsg(db)); - sqlite3_close(db); - exit(1); - } - - ret = sqlite3_exec(db, - "CREATE TABLE FileGroup (id integer primary key AUTOINCREMENT, File int, MetaGroup int);", - NULL, 0,&errMsg); - - ret = sqlite3_exec(db, - "CREATE TABLE MetaGroup (id integer primary key AUTOINCREMENT, name varchar(255), parent int);", - NULL, 0,&errMsg); - - ret = sqlite3_exec(db, - "CREATE TABLE CustomValues (id integer primary key AUTOINCREMENT, name varchar(255), value varchar(255));", - NULL, 0,&errMsg); - - /*Inserts*/ - ret = sqlite3_exec(db, - "INSERT INTO \"MetaGroup\" VALUES(NULL, 'Pictures', 0);", - NULL, 0,&errMsg); - - ret = sqlite3_exec(db, - "INSERT INTO \"MetaGroup\" VALUES(NULL, 'Video', 0);", - NULL, 0,&errMsg); - - ret = sqlite3_exec(db, - "INSERT INTO \"MetaGroup\" VALUES(NULL, 'Audio', 0);", - NULL, 0,&errMsg); - - ret = sqlite3_exec(db, - "INSERT INTO \"CustomValues\" VALUES(NULL, 'ConfigVersion', '1');", - NULL, 0,&errMsg); - - - } else { - - ret = sqlite3_open(metadata_db, &db); - if( ret ){ - fprintf(stderr, "Can't open metadata database: %s\n", sqlite3_errmsg(db)); - sqlite3_close(db); - exit(1); - } - } + evfs_metadata_db_init(&db); } } @@ -427,15 +368,26 @@ int ret; Evas_List* ret_list = NULL; sqlite3_stmt *pStmt; + evfs_metadata_group_header* g; + char* str; - ret = sqlite3_prepare(db, "select name from MetaGroup where parent = 0", + ret = sqlite3_prepare(db, "select name,visualHint from MetaGroup where parent = 0", -1, &pStmt, 0); do { ret = sqlite3_step(pStmt); + - if (ret == SQLITE_ROW) - ret_list = evas_list_append(ret_list, strdup(sqlite3_column_text(pStmt,0))); + if (ret == SQLITE_ROW) { + g = calloc(1, sizeof(evfs_metadata_group_header)); + 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); + } } while (ret == SQLITE_ROW); sqlite3_reset(pStmt); ------------------------------------------------------------------------- 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