vfs: check userland buffers before reading them.
[haiku.git] / src / tests / kits / app / messaging / HandlerLooperMessageTest.cpp
blob1a84b666c29e31d54fb5a95937ce051f82afbeb7
1 #include <Handler.h>
2 #include <Looper.h>
3 #include <Message.h>
5 #include <stdio.h>
7 const int32 kMessage = 'MeXX';
9 class Looper : public BLooper {
10 public:
11 Looper();
12 virtual void MessageReceived(BMessage *message);
16 class Handler : public BHandler {
17 public:
18 Handler();
19 virtual void MessageReceived(BMessage *message);
22 int main()
24 Looper *looper = new Looper();
25 Handler *handler = new Handler();
26 looper->AddHandler(new Handler());
27 looper->AddHandler(new Handler());
28 looper->AddHandler(handler);
29 looper->AddHandler(new Handler());
30 looper->AddHandler(new Handler());
32 looper->Run();
34 looper->PostMessage(new BMessage(kMessage), handler);
36 snooze(1000000);
38 looper->Lock();
39 looper->Quit();
43 Looper::Looper()
45 BLooper("looper")
50 void
51 Looper::MessageReceived(BMessage *message)
53 switch (message->what) {
54 case kMessage:
55 printf("Message received by Looper\n");
56 break;
57 default:
58 BLooper::MessageReceived(message);
59 break;
64 Handler::Handler()
66 BHandler("handler")
71 void
72 Handler::MessageReceived(BMessage *message)
74 switch (message->what) {
75 default:
76 BHandler::MessageReceived(message);
77 break;