00001 00024 #ifndef _BLUETOOTHLINUX_H 00025 #define _BLUETOOTHLINUX_H 00026 00027 #include "Bluetooth.h" 00028 #include "../../util/Thread.h" 00029 00033 class BluetoothLinuxFeatureProvider : public BluetoothFeatureProvider, public Thread 00034 { 00035 private: 00039 class L2Connection : Thread 00040 { 00041 public: 00043 00044 static const int ident = 200; 00045 static const int size = 20; 00047 00049 BluetoothLinuxFeatureProvider* prov; 00051 const string mac; 00052 00053 virtual void run() throw(); 00054 00061 L2Connection(BluetoothLinuxFeatureProvider* prov, string mac); 00062 }; 00063 00065 00067 int device_id; 00068 unsigned int delay; 00069 unsigned int inquiryLength; 00070 bool flushInquiryCache; 00071 unsigned int maxpingtime; 00072 unsigned short minlinkquality; 00073 unsigned int l2_pingdelay; 00074 bool use_l2_connections; 00075 mutable Lock lockPeerList; 00076 stringvector l2connections; 00078 00079 public: 00085 BluetoothLinuxFeatureProvider(featureparams& params); 00087 virtual ~BluetoothLinuxFeatureProvider() throw(); 00088 00089 virtual void run() throw(); 00090 virtual Feature* getSample(string name) const; 00091 }; 00092 00093 #endif // _BLUETOOTHLINUX_H