diff --git a/include/libsaria/idle.h b/include/libsaria/idle.h index 2db54f0e..da89a8b3 100644 --- a/include/libsaria/idle.h +++ b/include/libsaria/idle.h @@ -7,6 +7,9 @@ class IdleTask IdleTask(); virtual ~IdleTask() = 0; virtual void run_task() = 0; + + int queue(); + int queue_front(); }; namespace libsaria diff --git a/libsaria/idle/task.cpp b/libsaria/idle/task.cpp index e549e94a..854ccfab 100644 --- a/libsaria/idle/task.cpp +++ b/libsaria/idle/task.cpp @@ -9,3 +9,12 @@ IdleTask::~IdleTask() { } +int IdleTask::queue() +{ + return libsaria::queue_task(this); +} + +int IdleTask::queue_front() +{ + return libsaria::queue_task_front(this); +} diff --git a/libsaria/library/path.cpp b/libsaria/library/path.cpp index 550ff5b5..c9a61fc5 100644 --- a/libsaria/library/path.cpp +++ b/libsaria/library/path.cpp @@ -44,7 +44,7 @@ void LibraryPath::insert_track(ino_t inode, TrackTag &tag) void LibraryPath::update() { ScanTask *task = new ScanTask(this, path, false); - libsaria::queue_task(task); + task->queue(); } unsigned int LibraryPath::size() @@ -98,7 +98,7 @@ void ScanTask::run_task() last = dirs.size() - 1; for (it = dirs.begin(); it != dirs.end(); it++) { scan = new ScanTask(library, dir + "/" + (*it).name, i == last); - libsaria::queue_task(scan); + scan->queue(); i++; } @@ -106,7 +106,7 @@ void ScanTask::run_task() print("Library path size: "); println(library->size()); save = new SaveTask(libsaria::library::save); - libsaria::queue_task_front(save); + save->queue_front(); libsaria::library::refresh(); } }