@@ -39,9 +39,23 @@ class Ticker
39
39
typedef void (*callback_with_arg_t )(void *);
40
40
typedef std::function<void (void )> callback_function_t ;
41
41
42
- void attach (float seconds, callback_function_t callback);
43
- void attach_ms (uint64_t milliseconds, callback_function_t callback);
44
- void attach_us (uint64_t micros, callback_function_t callback);
42
+ void attach (float seconds, callback_function_t callback)
43
+ {
44
+ _callback_function = std::move (callback);
45
+ _attach_us (1000000ULL * seconds, true , _static_callback, this );
46
+ }
47
+
48
+ void attach_ms (uint64_t milliseconds, callback_function_t callback)
49
+ {
50
+ _callback_function = std::move (callback);
51
+ _attach_us (1000ULL * milliseconds, true , _static_callback, this );
52
+ }
53
+
54
+ void attach_us (uint64_t micros, callback_function_t callback)
55
+ {
56
+ _callback_function = std::move (callback);
57
+ _attach_us (micros, true , _static_callback, this );
58
+ }
45
59
46
60
template <typename TArg>
47
61
void attach (float seconds, void (*callback)(TArg), TArg arg)
@@ -67,9 +81,23 @@ class Ticker
67
81
_attach_us (micros, true , reinterpret_cast <callback_with_arg_t >(callback), (void *)arg);
68
82
}
69
83
70
- void once (float seconds, callback_function_t callback);
71
- void once_ms (uint64_t milliseconds, callback_function_t callback);
72
- void once_us (uint64_t micros, callback_function_t callback);
84
+ void once (float seconds, callback_function_t callback)
85
+ {
86
+ _callback_function = std::move (callback);
87
+ _attach_us (1000000ULL * seconds, false , _static_callback, this );
88
+ }
89
+
90
+ void once_ms (uint64_t milliseconds, callback_function_t callback)
91
+ {
92
+ _callback_function = std::move (callback);
93
+ _attach_us (1000ULL * milliseconds, false , _static_callback, this );
94
+ }
95
+
96
+ void once_us (uint64_t micros, callback_function_t callback)
97
+ {
98
+ _callback_function = std::move (callback);
99
+ _attach_us (micros, false , _static_callback, this );
100
+ }
73
101
74
102
template <typename TArg>
75
103
void once (float seconds, void (*callback)(TArg), TArg arg)
0 commit comments