xref: /haiku/headers/private/storage/AddOnMonitor.h (revision 1c09002cbee8e797a0f8bbfc5678dfadd39ee1a7)
1 /*
2  * Copyright 2004-2010, Haiku, Inc. All rights reserved.
3  * Distributed under the terms of the MIT License.
4  */
5 #ifndef _ADD_ON_MONITOR_H
6 #define _ADD_ON_MONITOR_H
7 
8 
9 #include <list>
10 #include <stdio.h>
11 #include <string>
12 
13 #include <Looper.h>
14 #include <MessageRunner.h>
15 
16 
17 namespace BPrivate {
18 namespace Storage {
19 
20 
21 class AddOnMonitorHandler;
22 
23 
24 class AddOnMonitor : public BLooper {
25 private:
26 			typedef BLooper inherited;
27 public:
28 								AddOnMonitor();
29 									// Does not automatically run the looper.
30 								AddOnMonitor(AddOnMonitorHandler* handler);
31 									// Automatically runs the looper.
32 	virtual						~AddOnMonitor();
33 
34 	virtual	status_t			InitCheck();
35 
36 			void				SetHandler(AddOnMonitorHandler* handler);
37 
38 private:
39 			status_t			fInitCheck;
40 			BMessageRunner*		fPulseRunner;
41 };
42 
43 
44 }; // namespace Storage
45 }; // namespace BPrivate
46 
47 
48 using namespace BPrivate::Storage;
49 
50 
51 #endif // _ADD_ON_MONITOR_H
52