CLISH  0.7.3
command.h
1 /*
2  * command.h
3  */
4 #ifndef _clish_command_h
5 #define _clish_command_h
6 
7 typedef struct clish_command_s clish_command_t;
8 
9 #include "lub/bintree.h"
10 #include "clish/pargv.h"
11 #include "clish/view.h"
12 #include "clish/param.h"
13 
14 /*=====================================
15  * COMMAND INTERFACE
16  *===================================== */
17 /*-----------------
18  * meta functions
19  *----------------- */
20 clish_command_t *
21  clish_command_new(const char *name,
22  const char *text);
23 int
24  clish_command_bt_compare(const void *clientnode,
25  const void *clientkey);
26 void
27  clish_command_bt_getkey(const void *clientnode,
28  lub_bintree_key_t *key);
29 size_t
30  clish_command_bt_offset(void);
31 clish_command_t *
32  clish_command_choose_longest(clish_command_t *cmd1,
33  clish_command_t *cmd2);
34 int
35  clish_command_diff(const clish_command_t *cmd1,
36  const clish_command_t *cmd2);
37 /*-----------------
38  * methods
39  *----------------- */
40 void
41  clish_command_delete(clish_command_t *instance);
42 void
43  clish_command_insert_param(clish_command_t *instance,
44  clish_param_t *param);
45 void
46  clish_command_help(const clish_command_t *instance);
47 const clish_param_t *
48  clish_command_find_option(const clish_command_t *instance,
49  const char *name);
50 void
51  clish_command_dump(const clish_command_t *instance);
52 const clish_param_t *
53  clish_command_next_non_option(const clish_command_t *cmd,
54  unsigned *index);
55 /*-----------------
56  * attributes
57  *----------------- */
58 const char *
59  clish_command__get_name(const clish_command_t *instance);
60 const char *
61  clish_command__get_suffix(const clish_command_t *instance);
62 const char *
63  clish_command__get_text(const clish_command_t *instance);
64 const char *
65  clish_command__get_detail(const clish_command_t *instance);
66 const char *
67  clish_command__get_builtin(const clish_command_t *instance);
68 const char *
69  clish_command__get_escape_chars(const clish_command_t *instance);
70 const clish_param_t *
71  clish_command__get_args(const clish_command_t *instance);
72 char *
73  clish_command__get_action(const clish_command_t *instance,
74  const char *viewid,
75  clish_pargv_t *pargv);
76 clish_view_t *
77  clish_command__get_view(const clish_command_t *instance);
78 char *
79  clish_command__get_viewid(const clish_command_t *instance,
80  const char *viewid,
81  clish_pargv_t *pargv);
82 const unsigned
83 clish_command__get_param_count(const clish_command_t *instance);
84 const clish_param_t *
85  clish_command__get_param(const clish_command_t *instance,
86  unsigned index);
87 void
88  clish_command__set_action(clish_command_t *instance,
89  const char *action);
90 void
91  clish_command__set_builtin(clish_command_t *instance,
92  const char *builtin);
93 void
94  clish_command__set_escape_chars(clish_command_t *instance,
95  const char *escape_chars);
96 void
97  clish_command__set_args(clish_command_t *instance,
98  clish_param_t *args);
99 void
100  clish_command__set_detail(clish_command_t *instance,
101  const char *detail);
102 void
103  clish_command__set_view(clish_command_t *instance,
104  clish_view_t *view);
105 void
106  clish_command__set_viewid(clish_command_t *instance,
107  const char *viewid);
108 #endif /* _clish_command_h */
Definition: bintree.h:158