xref: /haiku/src/apps/mediaplayer/support/AbstractLOAdapter.h (revision 93a78ecaa45114d68952d08c4778f073515102f2)
1 /*
2  * Copyright 2006, Haiku.
3  * Distributed under the terms of the MIT License.
4  *
5  * Authors:
6  *		Ingo Weinhold <bonefish@cs.tu-berlin.de>
7  */
8 
9 // This class provides some basic functionality for derivation of a
10 // listener -> observer adapter.
11 // The derived class should implement constructors similar to the
12 // ones of this class and pass the respective parameter.
13 // Each of the listener hook functions should construct a message
14 // and let it be delivered by DeliverMessage().
15 
16 #ifndef ABSTRACT_LO_ADAPTER_H
17 #define ABSTRACT_LO_ADAPTER_H
18 
19 #include <SupportDefs.h>
20 
21 class BHandler;
22 class BLooper;
23 class BMessage;
24 class BMessenger;
25 
26 class AbstractLOAdapter {
27  public:
28 								AbstractLOAdapter(BHandler* handler);
29 								AbstractLOAdapter(const BMessenger& messenger);
30 	virtual						~AbstractLOAdapter();
31 
32 			void				DeliverMessage(BMessage* message);
33 			void				DeliverMessage(BMessage& message);
34 			void				DeliverMessage(uint32 command);
35 
36  private:
37 			BHandler*			fHandler;
38 			BMessenger*			fMessenger;
39 };
40 
41 #endif	// ABSTRACT_LO_ADAPTER_H
42