command.h 4.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. /*
  2. * command.h
  3. */
  4. #ifndef _clish_command_h
  5. #define _clish_command_h
  6. typedef struct clish_command_s clish_command_t;
  7. #include "lub/bintree.h"
  8. #include "lub/argv.h"
  9. #include "clish/types.h"
  10. #include "clish/macros.h"
  11. #include "clish/pargv.h"
  12. #include "clish/view.h"
  13. #include "clish/param.h"
  14. #include "clish/action.h"
  15. #include "clish/config.h"
  16. /*=====================================
  17. * COMMAND INTERFACE
  18. *===================================== */
  19. /*-----------------
  20. * meta functions
  21. *----------------- */
  22. clish_command_t *clish_command_new(const char *name, const char *help);
  23. clish_command_t *clish_command_new_link(const char *name,
  24. const char *help, const clish_command_t * ref);
  25. clish_command_t * clish_command_alias_to_link(clish_command_t *instance, clish_command_t *ref);
  26. int clish_command_bt_compare(const void *clientnode, const void *clientkey);
  27. void clish_command_bt_getkey(const void *clientnode, lub_bintree_key_t * key);
  28. size_t clish_command_bt_offset(void);
  29. clish_command_t *clish_command_choose_longest(clish_command_t * cmd1,
  30. clish_command_t * cmd2);
  31. int
  32. clish_command_diff(const clish_command_t * cmd1, const clish_command_t * cmd2);
  33. /*-----------------
  34. * methods
  35. *----------------- */
  36. void clish_command_delete(clish_command_t *instance);
  37. void clish_command_insert_param(clish_command_t *instance,
  38. clish_param_t *param);
  39. int clish_command_help(const clish_command_t *instance);
  40. void clish_command_dump(const clish_command_t *instance);
  41. /*-----------------
  42. * attributes
  43. *----------------- */
  44. const char *clish_command__get_name(const clish_command_t * instance);
  45. const char *clish_command__get_suffix(const clish_command_t * instance);
  46. const char *clish_command__get_text(const clish_command_t * instance);
  47. const char *clish_command__get_detail(const clish_command_t * instance);
  48. const char *clish_command__get_escape_chars(const clish_command_t * instance);
  49. const char *clish_command__get_regex_chars(const clish_command_t * instance);
  50. clish_param_t *clish_command__get_args(const clish_command_t * instance);
  51. clish_action_t *clish_command__get_action(const clish_command_t *instance);
  52. char *clish_command__get_viewname(const clish_command_t * instance);
  53. char *clish_command__get_viewid(const clish_command_t *instance);
  54. unsigned int clish_command__get_param_count(const clish_command_t * instance);
  55. const clish_param_t *clish_command__get_param(const clish_command_t * instance,
  56. unsigned index);
  57. clish_paramv_t *clish_command__get_paramv(const clish_command_t * instance);
  58. void clish_command__set_escape_chars(clish_command_t * instance,
  59. const char *escape_chars);
  60. void clish_command__set_regex_chars(clish_command_t * instance,
  61. const char *escape_chars);
  62. void clish_command__set_args(clish_command_t * instance, clish_param_t * args);
  63. void clish_command__set_detail(clish_command_t * instance, const char *detail);
  64. void clish_command__set_viewname(clish_command_t * instance, const char *viewname);
  65. void clish_command__force_viewname(clish_command_t * instance, const char *viewname);
  66. void clish_command__set_viewid(clish_command_t * instance, const char *viewid);
  67. void clish_command__force_viewid(clish_command_t * instance, const char *viewid);
  68. void clish_command__set_pview(clish_command_t * instance, clish_view_t * view);
  69. clish_view_t *clish_command__get_pview(const clish_command_t * instance);
  70. int clish_command__get_depth(const clish_command_t * instance);
  71. clish_config_t *clish_command__get_config(const clish_command_t *instance);
  72. clish_view_restore_e clish_command__get_restore(const clish_command_t * instance);
  73. const clish_command_t * clish_command__get_orig(const clish_command_t * instance);
  74. const clish_command_t * clish_command__get_cmd(const clish_command_t * instance);
  75. bool_t clish_command__get_lock(const clish_command_t * instance);
  76. void clish_command__set_lock(clish_command_t * instance, bool_t lock);
  77. void clish_command__set_alias(clish_command_t * instance, const char * alias);
  78. const char * clish_command__get_alias(const clish_command_t * instance);
  79. void clish_command__set_alias_view(clish_command_t * instance,
  80. const char *alias_view);
  81. const char * clish_command__get_alias_view(const clish_command_t * instance);
  82. void clish_command__set_dynamic(clish_command_t * instance, bool_t dynamic);
  83. bool_t clish_command__get_dynamic(const clish_command_t * instance);
  84. void clish_command__set_internal(clish_command_t * instance, bool_t internal);
  85. bool_t clish_command__get_internal(const clish_command_t * instance);
  86. bool_t clish_command__get_interrupt(const clish_command_t * instance);
  87. void clish_command__set_interrupt(clish_command_t * instance, bool_t interrupt);
  88. void clish_command__set_access(clish_command_t *instance, const char *access);
  89. char *clish_command__get_access(const clish_command_t *instance);
  90. #endif /* _clish_command_h */