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:
parent
36212af3a4
commit
84c0f7fe21
|
@ -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();
|
||||
};
|
|
@ -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 */
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
|
||||
#include <libsaria/idle.h>
|
||||
|
||||
Idle::Idle()
|
||||
{
|
||||
}
|
||||
|
||||
Idle::~Idle()
|
||||
{
|
||||
}
|
||||
|
||||
void Idle::run_task()
|
||||
{
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
|
||||
#include <libsaria/idle.h>
|
||||
|
||||
IdleTask::IdleTask()
|
||||
{
|
||||
}
|
||||
|
||||
IdleTask::~IdleTask()
|
||||
{
|
||||
}
|
||||
|
|
@ -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();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue