1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /*
- * shell_find_create_view.c
- */
- #include <assert.h>
- #include "private.h"
- /*--------------------------------------------------------- */
- clish_view_t *clish_shell_find_create_view(clish_shell_t * this,
- const char *name, const char *prompt)
- {
- clish_view_t *view = lub_bintree_find(&this->view_tree, name);
- if (!view) {
- /* create a view */
- view = clish_view_new(name, prompt);
- assert(view);
- clish_shell_insert_view(this, view);
- } else {
- /* set the prompt */
- if (prompt)
- clish_view__set_prompt(view, prompt);
- }
- return view;
- }
- /*--------------------------------------------------------- */
- clish_view_t *clish_shell_find_view(clish_shell_t * this, const char *name)
- {
- return lub_bintree_find(&this->view_tree, name);
- }
- /*--------------------------------------------------------- */
- void clish_shell_insert_view(clish_shell_t * this, clish_view_t * view)
- {
- (void)lub_bintree_insert(&this->view_tree, view);
- }
- /*--------------------------------------------------------- */
- clish_view_t *clish_shell__get_view(const clish_shell_t * this)
- {
- assert(this);
- if (this->depth < 0)
- return NULL;
- return this->pwdv[this->depth]->view;
- }
- /*--------------------------------------------------------- */
- unsigned clish_shell__get_depth(const clish_shell_t * this)
- {
- assert(this);
- return this->depth;
- }
- /*--------------------------------------------------------- */
|