/* * Copyright 2013 (c) Anna Schumaker. */ #include #include static Database library_db("library.db", DB_NORMAL); /* * library :: Library: Basic information about each directory in the library */ library :: Library :: Library() : root_path(""), enabled(false) { } library :: Library :: Library(const std::string &path, bool is_enabled) : root_path(path), enabled(is_enabled) { } void library :: Library :: read(File &f) { f >> enabled; root_path = f.getline(); } void library :: Library :: write(File &f) { f << enabled << " " << root_path; } #ifdef CONFIG_DEBUG void library :: Library :: print() { :: print("%s", root_path.c_str()); if (enabled == true) :: print(" (enabled)"); else :: print(" (disabled)"); } #endif /* CONFIG_DEBUG */ bool library :: Library :: operator==(library :: Library &rhs) { return root_path == rhs.root_path; } /* * API used by the GUI begins here */ void library :: init() { library_db.load(); } bool library :: add_path(const std::string &dir) { if (g_file_test(dir.c_str(), G_FILE_TEST_IS_DIR) == false) return false; library_db.insert(library :: Library(dir, true)); library_db.save(); return true; } void library :: del_path(unsigned int id) { library_db.remove(id); library_db.save(); } #ifdef CONFIG_DEBUG void library :: print_db(DB_Type type) { switch (type) { case DB_LIBRARY: library_db.print(); break; default: break; } } void library :: reset() { library_db.clear(); } #endif /* CONFIG_DEBUG */