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 12class _BMethodAddOn_; 13class AddOnManager; 14class BMenu; 15class InputServer; 16 17 18class BInputServerMethod : public BInputServerFilter { 19public: 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 33private: 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 42private: 43 friend class AddOnManager; 44 friend class InputServer; 45 46private: 47 _BMethodAddOn_* fOwner; 48}; 49 50#endif // _INPUTSERVERMETHOD_H 51