1#ifndef _MINI_TERMINAL_H_
2#define _MINI_TERMINAL_H_
3
4#include <MessageFilter.h>
5
6#include "ViewBuffer.h"
7#include "Console.h"
8
9class Arguments;
10
11class MiniView : public ViewBuffer {
12public:
13							MiniView(const Arguments &args);
14virtual						~MiniView();
15
16		void				Start();
17		status_t			OpenTTY();
18		status_t			SpawnThreads();
19
20virtual	void				FrameResized(float width, float height);
21virtual	void				KeyDown(const char *bytes, int32 numBytes);
22
23private:
24static	int32				ConsoleWriter(void *arg);
25static	int32				ExecuteShell(void *arg);
26static	filter_result		MessageFilter(BMessage *message, BHandler **target, BMessageFilter *filter);
27
28		const Arguments		&fArguments;
29		Console				*fConsole;
30		int					fMasterFD;
31		int					fSlaveFD;
32		thread_id			fShellExecutor;
33		thread_id			fShellProcess;
34		thread_id			fConsoleWriter;
35};
36
37#endif
38