1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- /** @file ischeme.h
- *
- * @brief Klish Scheme
- */
- #ifndef _klish_ischeme_h
- #define _klish_ischeme_h
- #include <faux/error.h>
- #include <klish/iptype.h>
- #include <klish/iplugin.h>
- #include <klish/iview.h>
- #include <klish/inspace.h>
- #include <klish/ientry.h>
- #include <klish/kscheme.h>
- #define VIEW_LIST .views = &(iview_t * []) {
- #define END_VIEW_LIST NULL }
- #define VIEW &(iview_t)
- #define PTYPE_LIST .ptypes = &(iptype_t * []) {
- #define END_PTYPE_LIST NULL }
- #define PTYPE &(iptype_t)
- #define COMMAND_LIST .commands = &(icommand_t * []) {
- #define END_COMMAND_LIST NULL }
- #define COMMAND &(icommand_t)
- #define PARAM_LIST .params = &(iparam_t * []) {
- #define END_PARAM_LIST NULL }
- #define PARAM &(iparam_t)
- #define ACTION_LIST .actions = &(iaction_t * []) {
- #define END_ACTION_LIST NULL }
- #define ACTION &(iaction_t)
- #define PLUGIN_LIST .plugins = &(iplugin_t * []) {
- #define END_PLUGIN_LIST NULL }
- #define PLUGIN &(iplugin_t)
- #define NSPACE_LIST .nspaces = &(inspace_t * []) {
- #define END_NSPACE_LIST NULL }
- #define NSPACE &(inspace_t)
- #define ENTRY_LIST .entrys = &(ientry_t * []) {
- #define END_ENTRY_LIST NULL }
- #define ENTRY &(ientry_t)
- typedef struct ischeme_s {
- char *name;
- ientry_t * (*entrys)[];
- iplugin_t * (*plugins)[];
- iptype_t * (*ptypes)[];
- iview_t * (*views)[];
- } ischeme_t;
- C_DECL_BEGIN
- bool_t ischeme_parse_nested(const ischeme_t *ischeme, kscheme_t *kscheme,
- faux_error_t *error);
- bool_t ischeme_load(const ischeme_t *ischeme, kscheme_t *kscheme,
- faux_error_t *error);
- char *ischeme_deploy(const kscheme_t *scheme, int level);
- C_DECL_END
- #endif // _klish_ischeme_h
|