work on writing
[taskasaur.git] / headers / parser.h
1
2 #ifndef __PARSER_H__
3 #define __PARSER_H__
4
5 #include <stdio.h>
6 #include <stdlib.h>
7 #include <string.h>
8 #include <assert.h>
9 #include <md4c.h>
10
11 typedef enum SubTaskState {
12     SubTaskState_todo,
13     SubTaskState_done
14 } SubTaskState;
15
16 typedef struct SubTask {
17     char* subtask_name;
18     SubTaskState done;
19 } SubTask;
20
21 typedef struct TodoItem {
22     char* item_name;
23     char* description;
24     char* due;
25     SubTask** subtask_list;
26     int subtask_count;
27 } TodoItem;
28
29 typedef struct TodoList {
30     char* list_name;
31     TodoItem** item_list;
32     int item_count;
33 } TodoList;
34
35 typedef struct Board {
36     char* board_name;
37     TodoList** todolist_list;
38     int todolist_count;
39 } Board;
40
41 extern Board* begin_parse(char* board_path);
42 extern int begin_write(Board* Board);
43
44 extern void log_todo(Board* board);
45
46 #endif