libsaria: Create scan tasks for each subdirectory

I want to recursively scan each directory for music files.
This commit is contained in:
Bryan Schumaker 2011-09-17 12:56:39 -04:00
parent 5167c6f012
commit 1abdd945ae
1 changed files with 10 additions and 3 deletions

View File

@ -6,6 +6,12 @@
#include "library.h"
#include "path.h"
static void queue_dir_scan(string lib_dir, string scan_dir)
{
ScanTask *task = new ScanTask(lib_dir, scan_dir);
libsaria_queue_task(task);
}
void Library::add_path(string dir)
{
path_map.insert( pair<string, LibraryPath>(dir, LibraryPath(dir)) );
@ -21,8 +27,7 @@ void Library::update_path(string dir)
void LibraryPath::update()
{
ScanTask *task = new ScanTask(path, path);
libsaria_queue_task(task);
queue_dir_scan(path, path);
}
ScanTask::ScanTask(string base_dir, string scan_dir)
@ -48,6 +53,8 @@ void ScanTask::run_task()
readdir(dir, files, dirs);
for (unsigned int i = 0; i < files.size(); i++)
print("File: " + files[i].name);
for (unsigned int i = 0; i < dirs.size(); i++)
for (unsigned int i = 0; i < dirs.size(); i++) {
print("Dir: " + dirs[i].name);
queue_dir_scan(library, dir + "/" + dirs[i].name);
}
}