ReXGlue SDK
Loading...
Searching...
No Matches
timer_object.h
Go to the documentation of this file.
1
17
18#pragma once
19
20#include <memory>
21
22#include <rex/assert.h>
28#include <rex/module.h>
29#include <rex/platform.h>
30#include <rex/platform/sync.h>
31#include <rex/platform/thread.h>
32#include <rex/platform/timer.h>
33#include <rex/result.h>
34#include <rex/types.h>
35#include <rex/utility.h>
36
37namespace rex {
38namespace kernel {
39class TitleRuntime;
40} // namespace kernel
41} // namespace rex
42
43namespace rex::kernel {
44
51 REX_KERNEL_API explicit TimerObject(u32 timer_type);
54
58 std::weak_ptr<rex::platform::TimerQueueWaitItem> expiry;
62 u32 callback_routine_arg = 0;
63
74 REX_KERNEL_API X_STATUS SetDPC(TitleRuntime& runtime, u32 ktimer, i64 due_time, u32 period_ms,
75 u32 dpc);
76
86 REX_KERNEL_API X_STATUS Set(TitleRuntime& runtime, i64 due_time, u32 period_ms, u32 routine,
87 u32 routine_arg, bool resume);
88
93};
94
95} // namespace rex::kernel
Definition object.h:190
Definition title_runtime.h:85
Virtual memory flags and typed guest pointers.
Guest list and spin lock structures.
Interfaces, factory and module declaration.
Definition export.h:24
u32 X_STATUS
Definition status.h:23
Definition app.h:36
Platform flags, packing macros and export markers.
#define REX_KERNEL_API
Definition platform.h:297
X_STATUS SetDPC(TitleRuntime &runtime, u32 ktimer, i64 due_time, u32 period_ms, u32 dpc)
X_STATUS Set(TitleRuntime &runtime, i64 due_time, u32 period_ms, u32 routine, u32 routine_arg, bool resume)
u32 callback_thread_id
Definition timer_object.h:60
u32 callback_routine
Definition timer_object.h:61
std::weak_ptr< rex::platform::TimerQueueWaitItem > expiry
Definition timer_object.h:58
PublishedPtr< rex::platform::Timer > timer
Definition timer_object.h:56
TimerObject(u32 timer_type)
Wait objects and wait functions.
Integer types, byte order wrappers and size literals.
Move only function, const propagating pointer and scope guard.