libsaria: Generic LoadFile() task

This was specific to the library namespace, but I think it makes more
sense to exist as a global class definition that can be reused by
others.
This commit is contained in:
Bryan Schumaker 2011-12-30 20:22:47 -05:00
parent 11e82cccf1
commit 8a0922c4a1
3 changed files with 26 additions and 10 deletions

View File

@ -19,6 +19,17 @@ class SaveTask : public IdleTask
void run_task();
};
class LoadTask : public IdleTask
{
private:
void (*load_func)();
public:
LoadTask(void (*func)());
~LoadTask();
void run_task();
};
class OutFile : public ofstream
{
public:

View File

@ -28,21 +28,12 @@ static void do_load()
libsaria::library::refresh();
}
class LoadTask : public IdleTask
{
public:
void run_task()
{
do_load();
}
};
namespace libsaria
{
void library::load()
{
LoadTask *task = new LoadTask();
LoadTask *task = new LoadTask(do_load);
task->queue();
}

View File

@ -16,6 +16,20 @@ void SaveTask::run_task()
save_func();
}
LoadTask::LoadTask(void (*func)())
{
load_func = func;
}
LoadTask::~LoadTask()
{
}
void LoadTask::run_task()
{
load_func();
}
OutFile::OutFile(string path)
{
string out_file = get_saria_dir() + "/" + path;