nspace.h 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. /*
  2. * nspace.h
  3. */
  4. /**
  5. \ingroup clish
  6. \defgroup clish_nspace nspace
  7. @{
  8. \brief This class represents an instance of a namespace type.
  9. Namespace instances are assocated with a view to make view's commands available
  10. within current view.
  11. */
  12. #ifndef _clish_nspace_h
  13. #define _clish_nspace_h
  14. typedef struct clish_nspace_s clish_nspace_t;
  15. typedef enum {
  16. CLISH_NSPACE_NONE,
  17. CLISH_NSPACE_HELP,
  18. CLISH_NSPACE_COMPLETION,
  19. CLISH_NSPACE_CHELP
  20. } clish_nspace_visibility_t;
  21. typedef enum {
  22. CLISH_RESTORE_NONE,
  23. CLISH_RESTORE_DEPTH,
  24. CLISH_RESTORE_VIEW
  25. } clish_nspace_restore_t;
  26. #include "clish/view.h"
  27. /*=====================================
  28. * NSPACE INTERFACE
  29. *===================================== */
  30. /*-----------------
  31. * meta functions
  32. *----------------- */
  33. clish_nspace_t *clish_nspace_new(clish_view_t * view);
  34. /*-----------------
  35. * methods
  36. *----------------- */
  37. void clish_nspace_delete(clish_nspace_t * instance);
  38. const clish_command_t *clish_nspace_find_next_completion(clish_nspace_t *
  39. instance, const char *iter_cmd, const char *line,
  40. clish_nspace_visibility_t field);
  41. clish_command_t *clish_nspace_find_command(clish_nspace_t * instance, const char *name);
  42. void clish_nspace_dump(const clish_nspace_t * instance);
  43. /*-----------------
  44. * attributes
  45. *----------------- */
  46. const char *clish_nspace__get_prefix(const clish_nspace_t * instance);
  47. bool_t clish_nspace__get_help(const clish_nspace_t * instance);
  48. bool_t clish_nspace__get_completion(const clish_nspace_t * instance);
  49. bool_t clish_nspace__get_context_help(const clish_nspace_t * instance);
  50. bool_t clish_nspace__get_inherit(const clish_nspace_t * instance);
  51. bool_t
  52. clish_nspace__get_visibility(const clish_nspace_t * instance,
  53. clish_nspace_visibility_t field);
  54. clish_view_t *clish_nspace__get_view(const clish_nspace_t * instance);
  55. void clish_nspace__set_prefix(clish_nspace_t * instance, const char *prefix);
  56. void clish_nspace__set_help(clish_nspace_t * instance, bool_t help);
  57. void clish_nspace__set_completion(clish_nspace_t * instance, bool_t help);
  58. void clish_nspace__set_context_help(clish_nspace_t * instance, bool_t help);
  59. void clish_nspace__set_inherit(clish_nspace_t * instance, bool_t inherit);
  60. void clish_nspace__set_restore(clish_nspace_t * instance,
  61. clish_nspace_restore_t restore);
  62. clish_nspace_restore_t clish_nspace__get_restore(const clish_nspace_t * instance);
  63. #endif /* _clish_nspace_h */
  64. /** @} clish_nspace */