00001 00024 #ifndef _BLUETOOTH_H 00025 #define _BLUETOOTH_H 00026 00027 #include "../AbstractString.h" 00028 #include "../Numerical.h" 00029 00036 class FEATURE_EXPORT_CLASS BluetoothPeersFeature : public AbstractStringListFeature 00037 { 00038 friend class BluetoothFeatureProvider; 00039 00040 protected: 00055 BluetoothPeersFeature(stringcode* code, long* maxlen) : AbstractStringListFeature(code, maxlen) {} 00056 00071 BluetoothPeersFeature(stringcode* code, long* maxlen, const stringvector* strList) : AbstractStringListFeature(code, maxlen, strList) {} 00072 00073 public: 00074 virtual const string getName() const { return "Bluetooth.Peers"; } 00075 00076 #if _DEBUG_FEATURES 00077 virtual string toString() const; 00078 #endif 00079 }; 00080 00086 class FEATURE_EXPORT_CLASS BluetoothNumPeersFeature : public NumericalDiscreteFeature 00087 { 00088 friend class BluetoothFeatureProvider; 00089 00090 protected: 00106 BluetoothNumPeersFeature(long* minval, long* maxval) : NumericalDiscreteFeature(minval, maxval) {} 00107 00122 BluetoothNumPeersFeature(long* minval, long* maxval, unsigned numPeers) : NumericalDiscreteFeature(minval, maxval, numPeers) {} 00123 00124 public: 00125 virtual const string getName() const { return "Bluetooth.NumPeers"; } 00126 00127 #if _DEBUG_FEATURES 00128 virtual string toString() const; 00129 #endif 00130 }; 00131 00135 class FEATURE_EXPORT_CLASS BluetoothFeatureProvider : public FeatureProvider 00136 { 00137 private: 00139 stringvector features; 00140 00142 00146 stringcode peersFeature_code; 00147 long peersFeature_maxlen; 00148 long numPeersFeature_minval; 00149 long numPeersFeature_maxval; 00151 00152 protected: 00154 00158 stringvector peerList; 00159 bool peerListValid; 00161 00162 public: 00168 BluetoothFeatureProvider(providerparams ¶ms); 00170 virtual ~BluetoothFeatureProvider(); 00171 00172 virtual Feature* getFeature(string name) const; 00173 virtual Feature* getSample(string name) const; 00174 virtual void nextSample(clock_t checkpoint); 00175 }; 00176 00177 #endif // _BLUETOOTH_H