Merge pull request #40 from algernon/f/hooks/additional-helpers
hooks: Add a way to replace hookspull/45/head
commit
4cc81b6c69
@ -1,27 +1,31 @@
|
|||||||
#include "hooks.h"
|
#include "hooks.h"
|
||||||
|
|
||||||
void
|
void
|
||||||
event_handler_hook_add (custom_handler_t hook) {
|
event_handler_hook_replace (custom_handler_t oldHook, custom_handler_t newHook) {
|
||||||
byte i;
|
for (byte i = 0; i < HOOK_MAX; i++) {
|
||||||
|
if (eventHandlers[i] == oldHook) {
|
||||||
for (i = 0; i < HOOK_MAX && eventHandlers[i] != NULL; i++) {
|
eventHandlers[i] = newHook;
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i == HOOK_MAX)
|
|
||||||
return;
|
|
||||||
|
|
||||||
eventHandlers[i] = hook;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
loop_hook_add (custom_loop_t hook) {
|
event_handler_hook_add (custom_handler_t hook) {
|
||||||
byte i;
|
event_handler_hook_replace ((custom_handler_t)NULL, hook);
|
||||||
|
}
|
||||||
|
|
||||||
for (i = 0; i < HOOK_MAX && loopHooks[i] != NULL; i++) {
|
void
|
||||||
|
loop_hook_replace (custom_loop_t oldHook, custom_loop_t newHook) {
|
||||||
|
for (byte i = 0; i < HOOK_MAX; i++) {
|
||||||
|
if (loopHooks[i] == oldHook) {
|
||||||
|
loopHooks[i] = newHook;
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (i == HOOK_MAX)
|
void
|
||||||
return;
|
loop_hook_add (custom_loop_t hook) {
|
||||||
|
loop_hook_replace ((custom_loop_t)NULL, hook);
|
||||||
loopHooks[i] = hook;
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in new issue