1// TestApp.h
2
3#ifndef _beos_test_app_h_
4#define _beos_test_app_h_
5
6#include <Application.h>
7#include <List.h>
8#include <MessageQueue.h>
9
10#include <cppunit/Portability.h>
11
12// TestHandler
13
14class BTestHandler : public BHandler {
15public:
16	virtual void MessageReceived(BMessage *message);
17	BMessageQueue &Queue();
18
19private:
20	BMessageQueue	fQueue;
21};
22
23
24// TestApp
25
26class CPPUNIT_API BTestApp : public BApplication {
27public:
28	BTestApp(const char *signature);
29	virtual ~BTestApp();
30
31	status_t Init();
32	void Terminate();
33
34	virtual void ReadyToRun();
35
36	BTestHandler *CreateTestHandler();
37	bool DeleteTestHandler(BTestHandler *handler);
38
39	BTestHandler &Handler();
40	BTestHandler *TestHandlerAt(int32 index);
41
42private:
43	static int32 _AppThreadStart(void *data);
44
45private:
46	thread_id		fAppThread;
47	BList			fHandlers;
48};
49
50#endif	// _beos_test_app_h_
51