From fae5a1d349e96859df63e1566a30a8e40cf994d5 Mon Sep 17 00:00:00 2001 From: Oliver Ruiz Dorantes Date: Thu, 17 Apr 2008 19:17:10 +0000 Subject: [PATCH] - Add inquiry fields for the RemoteDevice, to store the information retrieved . - Update those fields at discovering git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25006 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/os/bluetooth/RemoteDevice.h | 5 +++++ src/kits/bluetooth/DiscoveryListener.cpp | 14 +++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/headers/os/bluetooth/RemoteDevice.h b/headers/os/bluetooth/RemoteDevice.h index 8220dc3d02..2d7ad5c4db 100644 --- a/headers/os/bluetooth/RemoteDevice.h +++ b/headers/os/bluetooth/RemoteDevice.h @@ -53,6 +53,11 @@ class RemoteDevice { bdaddr_t fBdaddr; LocalDevice* fDiscovererLocalDevice; + + uint8 fPageRepetitionMode; + uint8 fScanPeriodMode; + uint8 fScanMode; + uint16 fClockOffset; }; diff --git a/src/kits/bluetooth/DiscoveryListener.cpp b/src/kits/bluetooth/DiscoveryListener.cpp index 722c4a96e0..79ac6fc76e 100644 --- a/src/kits/bluetooth/DiscoveryListener.cpp +++ b/src/kits/bluetooth/DiscoveryListener.cpp @@ -84,6 +84,12 @@ DiscoveryListener::MessageReceived(BMessage* message) if (bdaddrUtils::Compare( (bdaddr_t*) &inquiryInfo->bdaddr, &b1 )) { + // update these values + fRemoteDevicesList.ItemAt(index)->fPageRepetitionMode = inquiryInfo->pscan_rep_mode; + fRemoteDevicesList.ItemAt(index)->fScanPeriodMode = inquiryInfo->pscan_period_mode; + fRemoteDevicesList.ItemAt(index)->fScanMode = inquiryInfo->pscan_mode; + fRemoteDevicesList.ItemAt(index)->fClockOffset = inquiryInfo->clock_offset; + duplicatedFound = true; break; } @@ -92,10 +98,16 @@ DiscoveryListener::MessageReceived(BMessage* message) if (!duplicatedFound) { - // DeviceClass(inquiryInfo->dev_class[0] | inquiryInfo->dev_class[1]<<8 | inquiryInfo->dev_class[2]<<16 ) + // TODO: DeviceClass(inquiryInfo->dev_class[0] | inquiryInfo->dev_class[1]<<8 | inquiryInfo->dev_class[2]<<16 ) rd = new RemoteDevice(inquiryInfo->bdaddr); fRemoteDevicesList.AddItem(rd); + // keep all inquiry reported data rd->SetLocalDeviceOwner(fLocalDevice); + rd->fPageRepetitionMode = inquiryInfo->pscan_rep_mode; + rd->fScanPeriodMode = inquiryInfo->pscan_period_mode; + rd->fScanMode = inquiryInfo->pscan_mode; + rd->fClockOffset = inquiryInfo->clock_offset; + DeviceDiscovered( rd, DeviceClass(inquiryInfo->dev_class[0] | inquiryInfo->dev_class[1]<<8 | inquiryInfo->dev_class[2]<<16 ));