diff options
| author | Albert Cervin <albert@acervin.com> | 2023-01-26 13:07:07 +0100 |
|---|---|---|
| committer | Albert Cervin <albert@acervin.com> | 2023-01-26 13:07:07 +0100 |
| commit | e65158a0326108d1fc724ee683b7fa900ef2671a (patch) | |
| tree | 9bad30b377a326e0d0e3101c4f96228ae7a41673 /test/fake-reactor.c | |
| parent | 9a2b138a03e27d0f04101fe6ae3977d79518c513 (diff) | |
| download | dged-e65158a0326108d1fc724ee683b7fa900ef2671a.tar.gz dged-e65158a0326108d1fc724ee683b7fa900ef2671a.tar.xz dged-e65158a0326108d1fc724ee683b7fa900ef2671a.zip | |
More tests and documentation
Also, split out platform-specific parts and add mocks for tests.
Diffstat (limited to 'test/fake-reactor.c')
| -rw-r--r-- | test/fake-reactor.c | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/test/fake-reactor.c b/test/fake-reactor.c new file mode 100644 index 0000000..aafe8a3 --- /dev/null +++ b/test/fake-reactor.c @@ -0,0 +1,47 @@ +#include "fake-reactor.h" +#include <stdlib.h> + +struct reactor { + struct fake_reactor_impl *impl; +}; + +struct reactor *reactor_create() { + return (struct reactor *)calloc(1, sizeof(struct reactor)); +} + +void reactor_destroy(struct reactor *reactor) { free(reactor); } + +void reactor_update(struct reactor *reactor) {} +bool reactor_poll_event(struct reactor *reactor, uint32_t ev_id) { + if (reactor->impl != NULL) { + return reactor->impl->poll_event(reactor->impl->userdata, ev_id); + } else { + return false; + } +} + +uint32_t reactor_register_interest(struct reactor *reactor, int fd, + enum interest interest) { + if (reactor->impl != NULL) { + return reactor->impl->register_interest(reactor->impl->userdata, fd, + interest); + } else { + return 0; + } +} + +void reactor_unregister_interest(struct reactor *reactor, uint32_t ev_id) { + if (reactor->impl != NULL) { + return reactor->impl->unregister_interest(reactor->impl->userdata, ev_id); + } +} + +struct reactor *fake_reactor_create(struct fake_reactor_impl *impl) { + struct reactor *r = reactor_create(); + set_reactor_impl(r, impl); + return r; +} + +void set_reactor_impl(struct reactor *reactor, struct fake_reactor_impl *impl) { + reactor->impl = impl; +} |
