mtag: sql.h Source File

- Main Page
- Classes
- Files

# sql.h

    00001 //
    00002 // C++ Interface: db
    00003 //
    00004 // Description:
    00005 //
    00006 //
    00007 // Author: Felix Bechstein <f@ub0r.de>, (C) 2007
    00008 //
    00009 // Copyright: See COPYING file that comes with this distribution
    00010 //
    00011 //
    00012
    00013 #include <stdlib.h>
    00014
    00015 /* For sqlite3 */
    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 };