libsaria: Create an idle driver and idle task

Right now both classes are empty, but eventually I will add in support
for creating new idle tasks and for removing tasks from the idle queue.
This commit is contained in:
Bryan Schumaker 2011-09-10 11:22:03 -04:00
parent 36212af3a4
commit 84c0f7fe21
5 changed files with 62 additions and 0 deletions

22
include/libsaria/idle.h Normal file
View File

@ -0,0 +1,22 @@
#include <queue>
using namespace std;
class IdleTask
{
public:
IdleTask();
~IdleTask();
};
class Idle
{
private:
queue<IdleTask> idle_queue;
public:
Idle();
~Idle();
void run_task();
};

View File

@ -2,6 +2,7 @@
#define LIBSARIA_H
#include <libsaria/audio.h>
#include <libsaria/idle.h>
#include <libsaria/callback.h>
#include <libsaria/print.h>
@ -9,6 +10,7 @@ class Libsaria
{
private:
Audio audio;
Idle idle;
void trigger_callback(callback_t);
public:
@ -20,6 +22,7 @@ class Libsaria
void set_volume(double);
double get_volume();
void register_callback(callback_t, void (*)());
void run_idle_task();
/* Control functions */
void play();
@ -34,5 +37,6 @@ class Libsaria
class Libsaria *libsaria_get();
void libsaria_init(int, char**);
void libsaria_quit();
void libsaria_idle_task();
#endif /* LIBSARIA_H */

15
libsaria/idle/idle.cpp Normal file
View File

@ -0,0 +1,15 @@
#include <libsaria/idle.h>
Idle::Idle()
{
}
Idle::~Idle()
{
}
void Idle::run_task()
{
}

11
libsaria/idle/task.cpp Normal file
View File

@ -0,0 +1,11 @@
#include <libsaria/idle.h>
IdleTask::IdleTask()
{
}
IdleTask::~IdleTask()
{
}

View File

@ -31,6 +31,11 @@ double Libsaria::get_volume()
return audio.get_volume();
}
void Libsaria::run_idle_task()
{
return idle.run_task();
}
/*
* Convenience functions for accessing libsaria class functions
*/
@ -49,3 +54,8 @@ double libsaria_get_volume()
{
return libsaria_get()->get_volume();
}
void libsaria_idle_task()
{
return libsaria_get()->run_idle_task();
}