1 #ifndef BREADCRUMB_HEADER
2 #define BREADCRUMB_HEADER
3 
4 #ifdef __cplusplus
5   extern "C" {
6 #endif
7 
8 typedef struct CgreenBreadcrumb_ CgreenBreadcrumb;
9 
10 CgreenBreadcrumb *create_breadcrumb(void);
11 void destroy_breadcrumb(CgreenBreadcrumb *breadcrumb);
12 void push_breadcrumb(CgreenBreadcrumb *breadcrumb, const char *name);
13 void pop_breadcrumb(CgreenBreadcrumb *breadcrumb);
14 const char *get_current_from_breadcrumb(CgreenBreadcrumb *breadcrumb);
15 int get_breadcrumb_depth(CgreenBreadcrumb *breadcrumb);
16 void walk_breadcrumb(CgreenBreadcrumb *breadcrumb, void (*walker)(const char *, void *), void *memo);
17 
18 #ifdef __cplusplus
19   }
20 #endif
21 
22 #endif
23