1 /*
2  * action.h
3  */
4 #ifndef _clish_action_h
5 #define _clish_action_h
6 
7 typedef struct clish_action_s clish_action_t;
8 
9 #include "lub/bintree.h"
10 #include "clish/plugin.h"
11 
12 /*=====================================
13  * ACTION INTERFACE
14  *===================================== */
15 /*-----------------
16  * meta functions
17  *----------------- */
18 clish_action_t *clish_action_new(void);
19 
20 /*-----------------
21  * methods
22  *----------------- */
23 void clish_action_delete(clish_action_t *instance);
24 void clish_action_dump(const clish_action_t *instance);
25 
26 /*-----------------
27  * attributes
28  *----------------- */
29 void clish_action__set_script(clish_action_t *instance, const char *script);
30 char *clish_action__get_script(const clish_action_t *instance);
31 void clish_action__set_builtin(clish_action_t *instance, clish_sym_t *builtin);
32 clish_sym_t *clish_action__get_builtin(const clish_action_t *instance);
33 void clish_action__set_shebang(clish_action_t *instance, const char *shebang);
34 const char *clish_action__get_shebang(const clish_action_t *instance);
35 
36 #endif				/* _clish_action_h */
37