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