#ifndef _DB_H_ #define _DB_H_ #include #include #include struct directory_t { gchar *name; sqlite_uint64 dirid; }; struct wallpaper_t { gchar *filepath; sqlite_uint64 id; time_t date; int size; int width; int height; }; struct tag_t { gchar *name; sqlite_uint64 id; }; int db_open(); void db_close(); sqlite_uint64 db_add_directory(const char*, sqlite_uint64); sqlite_uint64 db_get_directory(const char*); int db_get_top_level_directories(GArray**); int db_get_directories(sqlite_uint64, GArray**); sqlite_uint64 db_add_wallpaper(const char*, sqlite_uint64, int, int, int); sqlite_uint64 db_get_wallpaper(const char*); int db_remove_wallpaper(sqlite_uint64); int db_get_wallpaper_data(sqlite_uint64, struct wallpaper_t*); int db_get_wall_tags(sqlite_uint64, GArray**); int db_get_wallpapers(sqlite_uint64, GArray**); int db_get_walls_by_tags(GArray*, GArray**); sqlite_uint64 db_add_tag(const char*, sqlite_uint64); int db_get_tags_all(GArray**); int db_add_wall_tag(sqlite_uint64, sqlite_uint64); void db_remove_tag(sqlite_uint64); int db_remove_wall_tag(sqlite_uint64, sqlite_uint64); #endif