add: weekly schedules support

This commit is contained in:
Tobias Reisinger 2020-04-25 00:48:59 +02:00
parent db3bcaf7d1
commit 2fd48ac5e6
18 changed files with 301 additions and 86 deletions

View file

@ -5,12 +5,14 @@
#include <models/schedule.h>
schedule_t*
schedule_create(uuid_t id, uint16_t length, uint16_t *periods_blob)
schedule_create(uuid_t id, uint8_t weekday, uint16_t length, uint16_t *periods_blob)
{
schedule_t *new_schedule = malloc(sizeof(schedule_t));
memmove(new_schedule->id, id, sizeof(uuid_t));
new_schedule->weekday = weekday;
new_schedule->length = length;
new_schedule->periods = NULL;
@ -64,10 +66,11 @@ schedule_debug(schedule_t *schedule)
LOG_DEBUG("schedule is NULL\n");
return;
}
char uuid_str[37];
char uuid_str[UUID_STR_LEN];
uuid_unparse(schedule->id, uuid_str);
LOG_DEBUG("(1/3) %s @ %p\n", uuid_str, (void*)schedule);
LOG_DEBUG("(2/3) period count: %3d\n", schedule->length);
LOG_DEBUG("(2/4) period count: %3d\n", schedule->length);
LOG_DEBUG("(3/4) weekday: %3d\n", schedule->weekday);
// one block: "HH:MM-HH:MM, " --> size: 13 (14 with '\0')
char *periods_debug_str = malloc(sizeof(char) * ((schedule->length * 13) + 1));
@ -85,5 +88,7 @@ schedule_debug(schedule_t *schedule)
);
}
LOG_DEBUG("(3/3) periods: %s\n", periods_debug_str);
LOG_DEBUG("(4/4) periods: %s\n", periods_debug_str);
free(periods_debug_str);
}