xref: /haiku/src/servers/bluetooth/LocalDeviceHandler.h (revision 21258e2674226d6aa732321b6f8494841895af5f)
1 /*
2  * Copyright 2007 Oliver Ruiz Dorantes, oliver.ruiz.dorantes_at_gmail.com
3  *
4  * All rights reserved. Distributed under the terms of the MIT License.
5  *
6  */
7 
8 #ifndef _LOCALDEVICE_HANDLER_H_
9 #define _LOCALDEVICE_HANDLER_H_
10 
11 #include <String.h>
12 
13 #include <MessageQueue.h>
14 
15 #include <bluetooth/bluetooth.h>
16 
17 #include "HCIDelegate.h"
18 
19 class LocalDeviceHandler {
20 
21 public:
22 
23 	hci_id GetID();
24 
25 	bool Available();
26 	void Acquire(void);
27 	status_t Launch(void);
28 
29 	BMessage* 	  GetPropertiesMessage(void) { return fProperties; }
30 	bool  		  IsPropertyAvailable(const char* property);
31 
32 
33 protected:
34 	LocalDeviceHandler (HCIDelegate* hd);
35 	virtual ~LocalDeviceHandler();
36 
37 	HCIDelegate*	fHCIDelegate;
38 	BMessage* 		fProperties;
39 
40     void 		AddWantedEvent(BMessage* msg);
41     void 		ClearWantedEvent(BMessage* msg, uint16 event, uint16 opcode = 0);
42     void 		ClearWantedEvent(BMessage* msg);
43 
44     BMessage* 	FindPetition(uint16 event, uint16 opcode = 0, int32* indexFound = NULL);
45 
46 private:
47 
48 	BMessageQueue   fEventsWanted;
49 
50 
51 };
52 
53 #endif
54