/** * @file * Copyright 2014 (c) Anna Schumaker. */ #include 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; }