/** * @file * Copyright 2013 (c) Anna Schumaker. */ #ifndef OCARINA_CORE_LIBRARY_H #define OCARINA_CORE_LIBRARY_H #include #include /** * Namespace for library access. */ namespace library { /** * Initialize the library queue with all the tracks in the tagdb. */ void init(); /** * Add a new directory to the library. * * @param dir The directory that should be scanned. * @return The newly created library object. */ Library *add(const std::string &); /** * Remove a library from the database. * * @param library The library path that should be removed. */ void remove(Library *); /** * Update a specific library path. * * @param library The library path that should be updated. */ void update(Library *); /** * Rescan and update all library paths. */ void update_all(); /** * Use to enable or disable a library path. * * @param library The library to be enabled or disabled. * @param enabled Set to true if the library should be enabled, * and false to disable it. */ void set_enabled(Library *, bool); /** * Use to access the library queue. * * @return The queue of tracks currently in the library. */ Queue *get_queue(); }; #endif /* OCARINA_CORE_LIBRARY_H */