xref: /haiku/headers/os/add-ons/input_server/InputServerMethod.h (revision 83b1a68c52ba3e0e8796282759f694b7fdddf06d)
1 /*
2  * Copyright 2009, Haiku, Inc. All rights reserved.
3  * Distributed under the terms of the MIT License.
4  */
5 #ifndef _INPUTSERVERMETHOD_H
6 #define _INPUTSERVERMETHOD_H
7 
8 
9 #include <InputServerFilter.h>
10 
11 
12 class _BMethodAddOn_;
13 class AddOnManager;
14 class BMenu;
15 class InputServer;
16 
17 
18 class BInputServerMethod : public BInputServerFilter {
19 public:
20 								BInputServerMethod(const char* name,
21 									const uchar* icon);
22 	virtual						~BInputServerMethod();
23 
24 	virtual	status_t			MethodActivated(bool active);
25 
26 			status_t			EnqueueMessage(BMessage* message);
27 
28 			status_t			SetName(const char* name);
29 			status_t			SetIcon(const uchar* icon);
30 			status_t			SetMenu(const BMenu* menu,
31 									const BMessenger target);
32 
33 private:
34 	// FBC padding
35 	virtual	void				_ReservedInputServerMethod1();
36 	virtual	void				_ReservedInputServerMethod2();
37 	virtual	void				_ReservedInputServerMethod3();
38 	virtual	void				_ReservedInputServerMethod4();
39 
40 			uint32				_reserved[4];
41 
42 private:
43 			friend class AddOnManager;
44 			friend class InputServer;
45 
46 private:
47 			_BMethodAddOn_*		fOwner;
48 };
49 
50 #endif // _INPUTSERVERMETHOD_H
51