70 lines
1.3 KiB
C++
70 lines
1.3 KiB
C++
/**
|
|
* @file
|
|
* Copyright 2013 (c) Anna Schumaker.
|
|
*/
|
|
#ifndef OCARINA_CORE_LIBRARY_H
|
|
#define OCARINA_CORE_LIBRARY_H
|
|
|
|
#include <core/queue.h>
|
|
#include <core/tags.h>
|
|
#include <string>
|
|
|
|
|
|
/**
|
|
* 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 */
|