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