All pastes #169626 Raw Edit

Someone

public text v1 · immutable
·published 2006-09-14 01:43 UTC
rendered paste body
#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);
 }
}