#include "ephoto_database.h" Ecore_List *ephoto_albums; LITEM *list_item; Ecore_List *ephoto_album_images; int cb_get_filenames(void *NotUsed, int argc, char **argv, char **azColName) { return 0; } int cb_get_albums(void *NotUsed, int argc, char **argv, char **azColName) { return 0; } void ephoto_db_init(sqlite3 *db) { char *zErrMsg = 0; char temp[PATH_MAX]; int rc; snprintf(temp, PATH_MAX, "%s/.ephoto/ephoto.db", getenv("HOME")); if (ecore_file_exists(temp)) { rc = sqlite3_open(temp, &db); if(rc) { fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db)); sqlite3_close(db); exit(1); } } else { rc = sqlite3_open(temp, &db); if(rc) { fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db)); sqlite3_close(db); exit(1); } rc = sqlite3_exec(db, "CREATE TABLE Album_Table(id INTEGER PRIMARY KEY AUTOINCREMENT," "name varchar(255));", NULL, NULL, NULL); if(rc) { fprintf(stderr, "Can't create table: %s\n", sqlite3_errmsg(db)); sqlite3_close(db); exit(1); } rc = sqlite3_exec(db, "CREATE TABLE Filename_Table(id INTEGER PRIMARY KEY AUTOINCREMENT," "name varchar(255));", NULL, NULL, NULL); if(rc) { fprintf(stderr, "Can't create table: %s\n", sqlite3_errmsg(db)); sqlite3_close(db); exit(1); } rc = sqlite3_exec(db, "CREATE TABLE Album_Filename_Table(id INTEGER PRIMARY KEY AUTOINCREMENT," "Album INTEGER, Filename INTEGER);", NULL, NULL, NULL); if(rc) { fprintf(stderr, "Can't create table: %s\n", sqlite3_errmsg(db)); sqlite3_close(db); exit(1); } } } void ephoto_db_close(sqlite3 *db) { sqlite3_close(db); return; } int ephoto_db_add_album(sqlite3 *db, char *album) { int rc; char *zErrMsg = 0; char temp[PATH_MAX]; snprintf(temp, PATH_MAX, "INSERT OR IGNORE INTO Album_Table (name) VALUES ('%s');", album); printf("%s\n", album); rc = sqlite3_exec(db, temp, NULL, NULL, &zErrMsg); if(rc != SQLITE_OK) { fprintf(stderr, "SQL error: %s\n", zErrMsg); return 1; } return 0; } int ephoto_db_add_file(sqlite3 *db, char *album, char *filename) { int rc; char *zErrMsg = 0; char temp[PATH_MAX]; snprintf(temp, PATH_MAX, "INSERT OR IGNORE INTO Filename_Table (name) VALUES('%s');", filename); rc = sqlite3_exec(db, temp, NULL, NULL, &zErrMsg); if(rc != SQLITE_OK) { fprintf(stderr, "SQL error: %s\n", zErrMsg); return 1; } return 0; } int ephoto_remove_album(sqlite3 *db, char *album) { int rc; char *zErrMsg = 0; if(rc != SQLITE_OK) { fprintf(stderr, "SQL error: %s\n", zErrMsg); return 1; } return 0; } int ephoto_remove_file(sqlite3 *db, char *album, char *filename) { int rc; char *zErrMsg = 0; if(rc != SQLITE_OK) { fprintf(stderr, "SQL error: %s\n", zErrMsg); return 1; } return 0; } Ecore_List *ephoto_db_read(sqlite3 *db) { int rc; char *zErrMsg = 0; if(rc != SQLITE_OK) { fprintf(stderr, "SQL error: %s\n", zErrMsg); exit(1); } }