libsaria: Queue idle tasks from the task class
This is cleaner than calling an outside function since the task can easily queue itself up.
This commit is contained in:
parent
7dce8ffedc
commit
c8dc6e1ee8
|
@ -7,6 +7,9 @@ class IdleTask
|
|||
IdleTask();
|
||||
virtual ~IdleTask() = 0;
|
||||
virtual void run_task() = 0;
|
||||
|
||||
int queue();
|
||||
int queue_front();
|
||||
};
|
||||
|
||||
namespace libsaria
|
||||
|
|
|
@ -9,3 +9,12 @@ IdleTask::~IdleTask()
|
|||
{
|
||||
}
|
||||
|
||||
int IdleTask::queue()
|
||||
{
|
||||
return libsaria::queue_task(this);
|
||||
}
|
||||
|
||||
int IdleTask::queue_front()
|
||||
{
|
||||
return libsaria::queue_task_front(this);
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue