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