Timers were wrong. Fixing.

This commit is contained in:
Ben Vanik
2014-01-07 22:47:35 -08:00
parent 5a4f738a37
commit 73200ff0bc
5 changed files with 56 additions and 24 deletions

View File

@@ -27,13 +27,20 @@ public:
void Initialize(uint32_t timer_type);
// completion routine, arg to completion routine
X_STATUS SetTimer(int64_t due_time, uint32_t period_ms);
X_STATUS SetTimer(int64_t due_time, uint32_t period_ms,
uint32_t routine, uint32_t routine_arg, bool resume);
X_STATUS Cancel();
virtual void* GetWaitHandle() { return handle_; }
private:
HANDLE handle_;
uint32_t current_routine_;
uint32_t current_routine_arg_;
static void CompletionRoutine(
XTimer* timer, DWORD timer_low, DWORD timer_high);
};