nspace.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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_ALREADY,
  24. CLISH_RESTORE_DEPTH,
  25. CLISH_RESTORE_VIEW
  26. } clish_nspace_restore_t;
  27. #include "clish/view.h"
  28. /*=====================================
  29. * NSPACE INTERFACE
  30. *===================================== */
  31. /*-----------------
  32. * meta functions
  33. *----------------- */
  34. clish_nspace_t *clish_nspace_new(clish_view_t * view);
  35. /*-----------------
  36. * methods
  37. *----------------- */
  38. void clish_nspace_delete(clish_nspace_t * instance);
  39. const clish_command_t *clish_nspace_find_next_completion(clish_nspace_t *
  40. instance, const char *iter_cmd, const char *line,
  41. clish_nspace_visibility_t field);
  42. clish_command_t *clish_nspace_find_command(clish_nspace_t * instance, const char *name);
  43. void clish_nspace_dump(const clish_nspace_t * instance);
  44. /*-----------------
  45. * attributes
  46. *----------------- */
  47. const char *clish_nspace__get_prefix(const clish_nspace_t * instance);
  48. bool_t clish_nspace__get_help(const clish_nspace_t * instance);
  49. bool_t clish_nspace__get_completion(const clish_nspace_t * instance);
  50. bool_t clish_nspace__get_context_help(const clish_nspace_t * instance);
  51. bool_t clish_nspace__get_inherit(const clish_nspace_t * instance);
  52. bool_t
  53. clish_nspace__get_visibility(const clish_nspace_t * instance,
  54. clish_nspace_visibility_t field);
  55. clish_view_t *clish_nspace__get_view(const clish_nspace_t * instance);
  56. void clish_nspace__set_prefix(clish_nspace_t * instance, const char *prefix);
  57. void clish_nspace__set_help(clish_nspace_t * instance, bool_t help);
  58. void clish_nspace__set_completion(clish_nspace_t * instance, bool_t help);
  59. void clish_nspace__set_context_help(clish_nspace_t * instance, bool_t help);
  60. void clish_nspace__set_inherit(clish_nspace_t * instance, bool_t inherit);
  61. void clish_nspace__set_restore(clish_nspace_t * instance,
  62. clish_nspace_restore_t restore);
  63. clish_nspace_restore_t clish_nspace__get_restore(const clish_nspace_t * instance);
  64. #endif /* _clish_nspace_h */
  65. /** @} clish_nspace */