1*a69c16feSStephan Aßmus /* 2*a69c16feSStephan Aßmus * Copyright 2009, Haiku, Inc. All rights reserved. 3*a69c16feSStephan Aßmus * Distributed under the terms of the MIT License. 4*a69c16feSStephan Aßmus */ 552a38012Sejakowatz #ifndef _INPUTSERVERMETHOD_H 652a38012Sejakowatz #define _INPUTSERVERMETHOD_H 752a38012Sejakowatz 8*a69c16feSStephan Aßmus 952a38012Sejakowatz #include <InputServerFilter.h> 1052a38012Sejakowatz 1152a38012Sejakowatz 1252a38012Sejakowatz class _BMethodAddOn_; 13123a5980SJérôme Duval class AddOnManager; 14f6e4cbb9SAxel Dörfler class BMenu; 15123a5980SJérôme Duval class InputServer; 1652a38012Sejakowatz 17*a69c16feSStephan Aßmus 1852a38012Sejakowatz class BInputServerMethod : public BInputServerFilter { 1952a38012Sejakowatz public: 2052a38012Sejakowatz BInputServerMethod(const char* name, 2152a38012Sejakowatz const uchar* icon); 2252a38012Sejakowatz virtual ~BInputServerMethod(); 2352a38012Sejakowatz 2452a38012Sejakowatz virtual status_t MethodActivated(bool active); 2552a38012Sejakowatz 2652a38012Sejakowatz status_t EnqueueMessage(BMessage* message); 2752a38012Sejakowatz 2852a38012Sejakowatz status_t SetName(const char* name); 2952a38012Sejakowatz status_t SetIcon(const uchar* icon); 30*a69c16feSStephan Aßmus status_t SetMenu(const BMenu* menu, 31*a69c16feSStephan Aßmus const BMessenger target); 3252a38012Sejakowatz 3353b29c4bSJérôme Duval private: 34*a69c16feSStephan Aßmus // FBC padding 3552a38012Sejakowatz virtual void _ReservedInputServerMethod1(); 3652a38012Sejakowatz virtual void _ReservedInputServerMethod2(); 3752a38012Sejakowatz virtual void _ReservedInputServerMethod3(); 3852a38012Sejakowatz virtual void _ReservedInputServerMethod4(); 39*a69c16feSStephan Aßmus 4052a38012Sejakowatz uint32 _reserved[4]; 41*a69c16feSStephan Aßmus 42*a69c16feSStephan Aßmus private: 43*a69c16feSStephan Aßmus friend class AddOnManager; 44*a69c16feSStephan Aßmus friend class InputServer; 45*a69c16feSStephan Aßmus 46*a69c16feSStephan Aßmus private: 47*a69c16feSStephan Aßmus _BMethodAddOn_* fOwner; 4852a38012Sejakowatz }; 4952a38012Sejakowatz 50*a69c16feSStephan Aßmus #endif // _INPUTSERVERMETHOD_H 51