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();
|
IdleTask();
|
||||||
virtual ~IdleTask() = 0;
|
virtual ~IdleTask() = 0;
|
||||||
virtual void run_task() = 0;
|
virtual void run_task() = 0;
|
||||||
|
|
||||||
|
int queue();
|
||||||
|
int queue_front();
|
||||||
};
|
};
|
||||||
|
|
||||||
namespace libsaria
|
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()
|
void LibraryPath::update()
|
||||||
{
|
{
|
||||||
ScanTask *task = new ScanTask(this, path, false);
|
ScanTask *task = new ScanTask(this, path, false);
|
||||||
libsaria::queue_task(task);
|
task->queue();
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int LibraryPath::size()
|
unsigned int LibraryPath::size()
|
||||||
|
@ -98,7 +98,7 @@ void ScanTask::run_task()
|
||||||
last = dirs.size() - 1;
|
last = dirs.size() - 1;
|
||||||
for (it = dirs.begin(); it != dirs.end(); it++) {
|
for (it = dirs.begin(); it != dirs.end(); it++) {
|
||||||
scan = new ScanTask(library, dir + "/" + (*it).name, i == last);
|
scan = new ScanTask(library, dir + "/" + (*it).name, i == last);
|
||||||
libsaria::queue_task(scan);
|
scan->queue();
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -106,7 +106,7 @@ void ScanTask::run_task()
|
||||||
print("Library path size: ");
|
print("Library path size: ");
|
||||||
println(library->size());
|
println(library->size());
|
||||||
save = new SaveTask(libsaria::library::save);
|
save = new SaveTask(libsaria::library::save);
|
||||||
libsaria::queue_task_front(save);
|
save->queue_front();
|
||||||
libsaria::library::refresh();
|
libsaria::library::refresh();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue