ocarina/core/driver.cpp

50 lines
1.1 KiB
C++

/**
* @file
* Copyright 2014 (c) Anna Schumaker.
*/
#include <core/driver.h>
static Driver *cur_driver = NULL;
Driver :: Driver()
{
cur_driver = this;
}
Driver :: ~Driver()
{
cur_driver = NULL;
}
#ifdef CONFIG_TEST
TestDriver :: TestDriver() : playing(false), cur_pos(0), cur_duration(0) {}
TestDriver :: ~TestDriver() {}
void TestDriver :: init(int *argc, char ***argv, void (*eos_cb)(), void (*error_cb)())
{ on_eos = eos_cb; on_error = error_cb; }
void TestDriver :: load(const std::string &file)
{ cur_file = file; playing = false; cur_pos = 0; }
bool TestDriver :: play() { playing = true; return true; }
bool TestDriver :: pause() { playing = false; return true; }
bool TestDriver :: is_playing() { return playing; }
void TestDriver :: seek_to(long pos) { cur_pos = pos; }
long TestDriver :: position() { return cur_pos; }
long TestDriver :: duration() { return cur_duration; }
void TestDriver :: eos() { on_eos(); }
void TestDriver :: error() { on_error(); }
#else /* CONFIG_TEST */
#endif /* CONFIG_TEST */
Driver *driver :: get_driver()
{
return cur_driver;
}