kscheme.h 973 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. /** @file kscheme.h
  2. *
  3. * @brief Klish Scheme
  4. */
  5. #ifndef _klish_kscheme_h
  6. #define _klish_kscheme_h
  7. #include <faux/error.h>
  8. #include <klish/ischeme.h>
  9. #include <klish/kplugin.h>
  10. #include <klish/kptype.h>
  11. #include <klish/kview.h>
  12. typedef struct kscheme_s kscheme_t;
  13. C_DECL_BEGIN
  14. kscheme_t *kscheme_new(void);
  15. void kscheme_free(kscheme_t *scheme);
  16. bool_t kscheme_add_view(kscheme_t *scheme, kview_t *view);
  17. kview_t *kscheme_find_view(const kscheme_t *scheme, const char *name);
  18. bool_t kscheme_add_ptype(kscheme_t *scheme, kptype_t *ptype);
  19. kptype_t *kscheme_find_ptype(const kscheme_t *scheme, const char *name);
  20. bool_t kscheme_add_plugin(kscheme_t *scheme, kplugin_t *plugin);
  21. kplugin_t *kscheme_find_plugin(const kscheme_t *scheme, const char *name);
  22. bool_t kscheme_nested_from_ischeme(kscheme_t *kscheme, ischeme_t *ischeme,
  23. faux_error_t *error);
  24. kscheme_t *kscheme_from_ischeme(ischeme_t *ischeme, faux_error_t *error);
  25. C_DECL_END
  26. #endif // _klish_kscheme_h