Debugger: Further work on memory leak hunting.
[haiku.git] / src / apps / debugger / user_interface / gui / team_window / ConsoleOutputView.h
blobb1cbd43ef9776753b950ed81243415e189bc64d8
1 /*
2 * Copyright 2013-2014, Rene Gollent, rene@gollent.com.
3 * Distributed under the terms of the MIT License.
4 */
5 #ifndef CONSOLE_OUTPUT_VIEW_H_
6 #define CONSOLE_OUTPUT_VIEW_H_
9 #include <GroupView.h>
10 #include <ObjectList.h>
13 class BButton;
14 class BCheckBox;
15 class BTextView;
18 class ConsoleOutputView : public BGroupView {
19 public:
20 ConsoleOutputView();
21 ~ConsoleOutputView();
23 static ConsoleOutputView* Create();
24 // throws
26 void ConsoleOutputReceived(
27 int32 fd, const BString& output);
29 virtual void MessageReceived(BMessage* message);
30 virtual void AttachedToWindow();
32 void LoadSettings(const BMessage& settings);
33 status_t SaveSettings(BMessage& settings);
35 private:
36 struct OutputInfo;
37 typedef BObjectList<OutputInfo> OutputInfoList;
39 private:
40 void _Init();
41 static int32 _OutputWorker(void* arg);
42 void _HandleConsoleOutput(OutputInfo* info);
44 private:
45 BCheckBox* fStdoutEnabled;
46 BCheckBox* fStderrEnabled;
47 BTextView* fConsoleOutput;
48 BButton* fClearButton;
49 OutputInfoList* fPendingOutput;
50 sem_id fWorkToDoSem;
51 thread_id fOutputWorker;
56 #endif // CONSOLE_OUTPUT_VIEW_H