/* * Copyright 2013 (c) Anna Schumaker. */ #include #include #include static std::set empty_set; static Database playlist_db("playlist.db"); void playlist :: init() { playlist_db.load(); } void playlist :: add(const std::string &name, unsigned int track_id) { if ((name == "Banned") || (name == "Favorites")) { index_insert(playlist_db, name, track_id); playlist_db.save(); } else throw -E_EXIST; } void playlist :: del(const std::string &name, unsigned int track_id) { if ((name == "Banned") || (name == "Favorites")) { index_remove(playlist_db, name, track_id); playlist_db.save(); } else throw -E_EXIST; } const std::set &playlist :: get_tracks(const std::string &name) { if ((name == "Banned") || (name == "Favorites")) { try { return playlist_db.find(name).values; } catch (int error) { return empty_set; } } throw -E_EXIST; } #ifdef CONFIG_TEST void playlist :: clear() { playlist_db.clear(); } #endif /* CONFIG_TEST */