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