summaryrefslogtreecommitdiff
path: root/libopie2/opiebluez/obluetooth.h
Side-by-side diff
Diffstat (limited to 'libopie2/opiebluez/obluetooth.h') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiebluez/obluetooth.h40
1 files changed, 39 insertions, 1 deletions
diff --git a/libopie2/opiebluez/obluetooth.h b/libopie2/opiebluez/obluetooth.h
index 4423a55..ee4a90d 100644
--- a/libopie2/opiebluez/obluetooth.h
+++ b/libopie2/opiebluez/obluetooth.h
@@ -34,12 +34,13 @@
#include <qdict.h>
namespace Opie {
namespace Bluez {
class OBluetoothInterface;
+class OBluetoothDevice;
/**
* @brief A container class for all bluetooth interfaces
*
* This class provides access to all available bluetooth interfaces of your computer.
*
@@ -101,21 +102,26 @@ class OBluetooth : public QObject
* OBluetoothInterface
*======================================================================================*/
/**
* @brief An bluetooth interface wrapper.
*
- * This class provides a wrapper for an infrared interface. All the cumbersome details of
+ * This class provides a wrapper for a bluetooth HCI device. All the cumbersome details of
* Linux ioctls are hidden under a convenient high-level interface.
* @warning Most of the setting methods contained in this class require the appropriate
* process permissions to work.
*
* @author Michael 'Mickey' Lauer <mickey@vanille.de>
*/
class OBluetoothInterface : public QObject
{
+ Q_OBJECT
+ public:
+ typedef QDict<OBluetoothDevice> DeviceMap;
+ typedef QDictIterator<OBluetoothDevice> DeviceIterator;
+
public:
/**
* Constructor. Normally you don't create @ref OBluetoothInterface objects yourself,
* but access them via @ref OBluetooth::interface().
*/
OBluetoothInterface( QObject* parent, const char* name, void* devinfo, int ctlfd );
@@ -132,18 +138,50 @@ class OBluetoothInterface : public QObject
*/
bool setUp( bool );
/**
* @returns true if the interface is up.
*/
bool isUp() const;
+ /**
+ * @returns an iterator usable for iterating through the devices in range
+ */
+ DeviceIterator neighbourhood();
private:
+ DeviceMap _devices;
class Private;
Private *d;
};
+/*======================================================================================
+ * OBluetoothDevice
+ *======================================================================================*/
+
+/**
+ * @brief An bluetooth (remote) device abstraction.
+ *
+ * This class resembles a (remote) bluetooth device.
+ * @author Michael 'Mickey' Lauer <mickey@vanille.de>
+ */
+class OBluetoothDevice : public QObject
+{
+ Q_OBJECT
+ public:
+ /**
+ * Constructor.
+ */
+ OBluetoothDevice( QObject* parent, const char* name );
+ /**
+ * Destructor.
+ */
+ virtual ~OBluetoothDevice();
+ /**
+ * @returns the MAC address of the device's interface
+ */
+ QString macAddress() const;
+};
}
}
#endif