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