1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- /** @file kscheme.h
- *
- * @brief Klish Scheme
- */
- #ifndef _klish_kscheme_h
- #define _klish_kscheme_h
- #include <faux/list.h>
- #include <klish/kplugin.h>
- #include <klish/kptype.h>
- #include <klish/kview.h>
- #include <klish/kentry.h>
- #include <klish/kcontext_base.h>
- typedef struct kscheme_s kscheme_t;
- typedef faux_list_node_t kscheme_views_node_t;
- typedef faux_list_node_t kscheme_ptypes_node_t;
- typedef faux_list_node_t kscheme_plugins_node_t;
- typedef faux_list_node_t kscheme_entrys_node_t;
- C_DECL_BEGIN
- kscheme_t *kscheme_new(void);
- void kscheme_free(kscheme_t *scheme);
- bool_t kscheme_prepare(kscheme_t *scheme, kcontext_t *context, faux_error_t *error);
- bool_t kscheme_fini(kscheme_t *scheme, kcontext_t *context, faux_error_t *error);
- // VIEWs
- faux_list_t *kscheme_views(const kscheme_t *scheme);
- bool_t kscheme_add_views(kscheme_t *scheme, kview_t *view);
- kview_t *kscheme_find_view(const kscheme_t *scheme, const char *name);
- ssize_t kscheme_views_len(const kscheme_t *scheme);
- kscheme_views_node_t *kscheme_views_iter(const kscheme_t *scheme);
- kview_t *kscheme_views_each(kscheme_views_node_t **iter);
- // PTYPEs
- faux_list_t *kscheme_ptypes(const kscheme_t *scheme);
- bool_t kscheme_add_ptypes(kscheme_t *scheme, kptype_t *ptype);
- kptype_t *kscheme_find_ptype(const kscheme_t *scheme, const char *name);
- ssize_t kscheme_ptypes_len(const kscheme_t *scheme);
- kscheme_ptypes_node_t *kscheme_ptypes_iter(const kscheme_t *scheme);
- kptype_t *kscheme_ptypes_each(kscheme_ptypes_node_t **iter);
- // PLUGINs
- faux_list_t *kscheme_plugins(const kscheme_t *scheme);
- bool_t kscheme_add_plugins(kscheme_t *scheme, kplugin_t *plugin);
- kplugin_t *kscheme_find_plugin(const kscheme_t *scheme, const char *name);
- ssize_t kscheme_plugins_len(const kscheme_t *scheme);
- kscheme_plugins_node_t *kscheme_plugins_iter(const kscheme_t *scheme);
- kplugin_t *kscheme_plugins_each(kscheme_plugins_node_t **iter);
- // ENTRYs
- kentry_t *kscheme_find_entry_by_path(const kscheme_t *scheme, const char *name);
- faux_list_t *kscheme_entrys(const kscheme_t *scheme);
- bool_t kscheme_add_entrys(kscheme_t *scheme, kentry_t *entry);
- kentry_t *kscheme_find_entry(const kscheme_t *scheme, const char *name);
- ssize_t kscheme_entrys_len(const kscheme_t *scheme);
- kscheme_entrys_node_t *kscheme_entrys_iter(const kscheme_t *scheme);
- kentry_t *kscheme_entrys_each(kscheme_entrys_node_t **iter);
- C_DECL_END
- #endif // _klish_kscheme_h
|