24 #ifndef __CONFIG_SQLITE_H_
25 #define __CONFIG_SQLITE_H_
27 #include <config/config.h>
28 #include <utils/system/hostinfo.h>
48 virtual void load(
const char *filename,
const char *defaults_filename,
49 const char *
tag = NULL);
51 void load(
const char *
tag = NULL);
53 virtual void tag(
const char *
tag);
54 virtual std::list<std::string>
tags();
56 virtual bool exists(
const char *path);
57 virtual bool is_float(
const char *path);
58 virtual bool is_uint(
const char *path);
59 virtual bool is_int(
const char *path);
60 virtual bool is_bool(
const char *path);
65 virtual std::string
get_type(
const char *path);
66 virtual float get_float(
const char *path);
67 virtual unsigned int get_uint(
const char *path);
68 virtual int get_int(
const char *path);
69 virtual bool get_bool(
const char *path);
70 virtual std::string
get_string(
const char *path);
75 virtual void set_float(
const char *path,
float f);
76 virtual void set_uint(
const char *path,
unsigned int uint);
77 virtual void set_int(
const char *path,
int i);
78 virtual void set_bool(
const char *path,
bool b);
79 virtual void set_string(
const char *path, std::string &s);
80 virtual void set_string(
const char *path,
const char *s);
81 virtual void set_comment(
const char *path, std::string &comment);
82 virtual void set_comment(
const char *path,
const char *comment);
84 virtual void erase(
const char *path);
119 virtual bool valid()
const;
121 virtual const char *
path()
const;
122 virtual const char *
type()
const;
126 virtual bool is_int()
const;
133 virtual unsigned int get_uint()
const;
146 ::sqlite3_stmt *__stmt;
165 std::string
get_type(
const char *table,
const char *path);
166 bool exists(
const char *sql,
const char *path);
167 ::sqlite3_stmt *
get_value(
const char *type,
const char *path);
168 ::sqlite3_stmt * prepare_update(
const char *sql,
const char *path);
169 ::sqlite3_stmt * prepare_insert_value(
const char *sql,
const char *type,
171 void execute_insert_or_update(sqlite3_stmt *stmt);
172 void dump(::sqlite3 *tdb,
const char *dumpfile);
173 void import(::sqlite3 *tdb,
const char *dumpfile);
174 void import_default(
const char *default_dump);
175 void attach_default(
const char *db_file);
185 char *__default_file;