1 #ifndef _clish_var_h 2 #define _clish_var_h 3 4 #include "lub/types.h" 5 #include "lub/bintree.h" 6 #include "clish/action.h" 7 8 typedef struct clish_var_s clish_var_t; 9 10 /*===================================== 11 * VAR INTERFACE 12 *===================================== */ 13 /*----------------- 14 * meta functions 15 *----------------- */ 16 int clish_var_bt_compare(const void *clientnode, const void *clientkey); 17 void clish_var_bt_getkey(const void *clientnode, lub_bintree_key_t * key); 18 size_t clish_var_bt_offset(void); 19 clish_var_t *clish_var_new(const char *name); 20 /*----------------- 21 * methods 22 *----------------- */ 23 void clish_var_delete(clish_var_t *instance); 24 void clish_var_dump(const clish_var_t *instance); 25 /*----------------- 26 * attributes 27 *----------------- */ 28 const char *clish_var__get_name(const clish_var_t *instance); 29 void clish_var__set_dynamic(clish_var_t *instance, bool_t defval); 30 bool_t clish_var__get_dynamic(const clish_var_t *instance); 31 void clish_var__set_value(clish_var_t *instance, const char *value); 32 char *clish_var__get_value(const clish_var_t *instance); 33 clish_action_t *clish_var__get_action(const clish_var_t *instance); 34 void clish_var__set_saved(clish_var_t *instance, const char *value); 35 char *clish_var__get_saved(const clish_var_t *instance); 36 37 #endif /* _clish_var_h */ 38