restored folder structure

This commit is contained in:
2018-10-27 19:49:38 +02:00
parent bd0a0bcb74
commit a2fedb21c7
17 changed files with 20 additions and 20 deletions

View File

@@ -0,0 +1,14 @@
CC=gcc
all: test_method_dispatcher
method_dispatcher: clean
$(CC) -g ../method_dispatcher.c test_method_dispatcher.c -o method_dispatcher
test_method_dispatcher: method_dispatcher
valgrind ./method_dispatcher
clean:
-rm method_dispatcher

View File

@@ -0,0 +1,63 @@
#include <stdio.h>
#include "../method_dispatcher.h"
char m1(uint8_t small_arg, void * state);
char m2(uint8_t small_arg, void * state);
char m3(uint8_t small_arg, void * state);
char m4(uint8_t small_arg, void * state);
char m5(uint8_t small_arg, void * state);
int main(void)
{
printf("sizeof struct dispatch_tree_node_s: %zd\n", sizeof(struct dispatch_tree_node_s));
dispatch_tree_t tree = dispatch_tree_t_new();
dispatch_tree_t_insert(tree, 3 << 6, m3);
dispatch_tree_t_insert(tree, 2 << 6, m2);
dispatch_tree_t_insert(tree, 1 << 6, m1);
dispatch_tree_t_insert(tree, 4 << 6, m4);
dispatch_tree_t_insert(tree, 5 << 6, m5);
int i;
for(i = 1; i < 6; i++)
{
dispatch_tree_t_dispatch(tree, i << 6)(i, NULL);
}
dispatch_tree_t_del(tree);
bci_core_method_t methods[5] = {m1, m2, m3, m4, m5};
tree = dispatch_tree_t_new();
dispatch_tree_autoinserter_t inserter = dispatch_tree_autoinserter_t_new(tree);
for(i = 0; i < 5; i++)
{
printf("%u\n", dispatch_tree_autoinserter_t_insert(inserter, methods[i]));
}
dispatch_tree_autoinserter_t_del(inserter);
dispatch_tree_t_del(tree);
return 0;
}
char m1(uint8_t small_arg, void * state)
{
printf("m1: %d\n", small_arg);
}
char m2(uint8_t small_arg, void * state)
{
printf("m2: %d\n", small_arg);
}
char m3(uint8_t small_arg, void * state)
{
printf("m3: %d\n", small_arg);
}
char m4(uint8_t small_arg, void * state)
{
printf("m4: %d\n", small_arg);
}
char m5(uint8_t small_arg, void * state)
{
printf("m5: %d\n", small_arg);
}