00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #include <stdlib.h>
00014
00015
00016 #include <sqlite3.h>
00017
00018 using namespace std;
00019
00023 class sql
00024 {
00025 private:
00026 static const char *database;
00027 static bool created;
00028
00034 static const string cleansql(const char* sql);
00035
00039 static const string cleansql(const string sql);
00040 public:
00041
00046 static void setDataBase(const char *filename);
00047
00052 static int openDB(sqlite3 **db);
00053
00058 static int closeDB(sqlite3 *db);
00059
00065 static int addTag(const char* filename, const char* tag);
00069 static int addTag(const char* filename, const char* tag, sqlite3* db);
00070
00075 static int clearTags(const char* filename);
00079 static int clearTags(const char* filename, sqlite3* db);
00080
00086 static int search(const char* tag, TagLib::StringList *files);
00090 static int search(const char* tag, TagLib::StringList *files, sqlite3* db);
00091
00096 static int wipePath(const char* path);
00097
00101 static int wipePath(const char* path, sqlite3* db);
00102
00107 static int list(TagLib::StringList *tags);
00108
00112 static int list(TagLib::StringList *tags, sqlite3* db);
00113 };