diff --git a/src/apps/terminal/Shell.cpp b/src/apps/terminal/Shell.cpp index 09d73a512f..e9932db33c 100644 --- a/src/apps/terminal/Shell.cpp +++ b/src/apps/terminal/Shell.cpp @@ -30,9 +30,8 @@ #include "TermConst.h" #include "TermParse.h" -#include "TermView.h" - // TODO: Fix dependency! - +#include "TerminalBuffer.h" + #ifndef CEOF #define CEOF ('D'&037) @@ -227,17 +226,16 @@ Shell::FD() const } -// TODO: Fix this dependency! void -Shell::ViewAttached(TermView *view) +Shell::AttachBuffer(TerminalBuffer *buffer) { if (fAttached) return; - status_t status = fTermParse->StartThreads(view->TextBuffer()); + status_t status = fTermParse->StartThreads(buffer); if (status < B_OK) { // TODO: What can we do here ? - fprintf(stderr, "Shell:ViewAttached():" + fprintf(stderr, "Shell:AttachBuffer():" " cannot start parser threads: %s", strerror(status)); } @@ -245,7 +243,7 @@ Shell::ViewAttached(TermView *view) void -Shell::ViewDetached() +Shell::DetachBuffer() { if (fAttached) fTermParse->StopThreads(); diff --git a/src/apps/terminal/Shell.h b/src/apps/terminal/Shell.h index a869859cb5..95ce18634f 100644 --- a/src/apps/terminal/Shell.h +++ b/src/apps/terminal/Shell.h @@ -16,8 +16,8 @@ #include // TODO: Maybe merge TermParse and Shell classes ? +class TerminalBuffer; class TermParse; -class TermView; class Shell { public: @@ -40,8 +40,8 @@ public: int FD() const; pid_t ProcessID() const { return fProcessID; } - virtual void ViewAttached(TermView *view); - virtual void ViewDetached(); + virtual void AttachBuffer(TerminalBuffer *buffer); + virtual void DetachBuffer(); private: int fFd; diff --git a/src/apps/terminal/TermView.cpp b/src/apps/terminal/TermView.cpp index 34696a7bfa..13c1a899ab 100644 --- a/src/apps/terminal/TermView.cpp +++ b/src/apps/terminal/TermView.cpp @@ -720,7 +720,7 @@ TermView::_AttachShell(Shell *shell) return B_BAD_VALUE; fShell = shell; - fShell->ViewAttached(this); + fShell->AttachBuffer(TextBuffer()); return B_OK; } @@ -729,7 +729,7 @@ TermView::_AttachShell(Shell *shell) void TermView::_DetachShell() { - fShell->ViewDetached(); + fShell->DetachBuffer(); fShell = NULL; }