@@ -39,9 +39,23 @@ class Ticker
3939 typedef void (*callback_with_arg_t )(void *);
4040 typedef std::function<void (void )> callback_function_t ;
4141
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+ }
4559
4660 template <typename TArg>
4761 void attach (float seconds, void (*callback)(TArg), TArg arg)
@@ -67,9 +81,23 @@ class Ticker
6781 _attach_us (micros, true , reinterpret_cast <callback_with_arg_t >(callback), (void *)arg);
6882 }
6983
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+ }
73101
74102 template <typename TArg>
75103 void once (float seconds, void (*callback)(TArg), TArg arg)
0 commit comments