From d2f3c14d1f208a11242949e767e4ff1b4d838134 Mon Sep 17 00:00:00 2001 From: Federico Angelilli Date: Tue, 9 Jul 2024 20:11:00 +0200 Subject: Various refactor --- src/block.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/block.c (limited to 'src/block.c') diff --git a/src/block.c b/src/block.c new file mode 100644 index 0000000..442e753 --- /dev/null +++ b/src/block.c @@ -0,0 +1,23 @@ +#include "block.h" +#include "util.h" +#include "any_log.h" + +void block_update(block_t *block) +{ + if (block->update_cb != NULL) { + struct timespec now, diff; + timespec_get(&now, TIME_UTC); + diff = timespec_diff(block->update_last, now); + + if (timespec_greater(diff, block->update_interval)) { + block->update_cb(block); + block->update_last = now; + log_debug("Updated block"); + } + } + + if (block->type == BLOCK_GROUP) { + for (int i = 0; i < block->group.n_children; i++) + block_update(&block->group.children[i]); + } +} -- cgit v1.2.3