1 /*
2  * config.h
3  */
4 #ifndef _clish_config_h
5 #define _clish_config_h
6 
7 #include "lub/types.h"
8 
9 typedef struct clish_config_s clish_config_t;
10 
11 /* Possible CONFIG operations */
12 typedef enum {
13 	CLISH_CONFIG_NONE,
14 	CLISH_CONFIG_SET,
15 	CLISH_CONFIG_UNSET,
16 	CLISH_CONFIG_DUMP
17 } clish_config_op_e;
18 
19 /*=====================================
20  * COMMAND INTERFACE
21  *===================================== */
22 /*-----------------
23  * meta functions
24  *----------------- */
25 clish_config_t *clish_config_new(void);
26 /*-----------------
27  * methods
28  *----------------- */
29 void clish_config_delete(clish_config_t *instance);
30 void clish_config_dump(const clish_config_t *instance);
31 
32 /*-----------------
33  * attributes
34  *----------------- */
35 void clish_config__set_op(clish_config_t *instance, clish_config_op_e op);
36 clish_config_op_e clish_config__get_op(const clish_config_t *instance);
37 void clish_config__set_priority(clish_config_t *instance, unsigned short priority);
38 unsigned short clish_config__get_priority(const clish_config_t *instance);
39 void clish_config__set_pattern(clish_config_t *instance, const char *pattern);
40 char *clish_config__get_pattern(const clish_config_t *instance);
41 void clish_config__set_file(clish_config_t *instance, const char *file);
42 char *clish_config__get_file(const clish_config_t *instance);
43 void clish_config__set_splitter(clish_config_t *instance, bool_t splitter);
44 bool_t clish_config__get_splitter(const clish_config_t *instance);
45 void clish_config__set_seq(clish_config_t *instance, const char *seq_num);
46 const char *clish_config__get_seq(const clish_config_t *instance);
47 bool_t clish_config__get_unique(const clish_config_t *instance);
48 void clish_config__set_unique(clish_config_t *instance, bool_t unique);
49 void clish_config__set_depth(clish_config_t *instance, const char *depth);
50 const char *clish_config__get_depth(const clish_config_t *instance);
51 
52 #endif				/* _clish_config_h */
53