| Reply | « Previous Thread | Next Thread » |
|
The question I have is how to effectively filter out the devices that
doesn't offer the service I am expecting during the discovering process? I have an bluetooth application installed on both Nokia 7650 phones, and set one phone as listener, and the other one as the searching device. The listener broadcasts its service by a UUID, and the searching device sets up a search pattern by specifying the service UUID, and when call RNotify::StartNotifierAndGetResponse() method, I specify the service UUID again in the TBTDeviceSelectionParamsPckg. The found device screen still shows all the bluetooth devices in the range. What needs to be done differently in order to get the filtering to work? In this case, I am expecting to see only one device in the UI list. Any advice is highly appreciated. Thanks, Yi Yang |
|
Try RHostResolver. Using RNotifier you get a easy to use plugin for device selection which does not consider filtering.
Seppo Forum Nokia |
|
seppo_fn, you have written, "Using RNotifier you get a easy to use plugin for device selection which does not consider filtering", and suggested the use of RHostResolver.
This is fine for finding a Bluetooth device to connect to without User Interaction, but i wish a user to select a device from a FILTERED selection list. Is there any way to do this ? |
| howardsimms |
| View Public Profile |
| Find all posts by howardsimms |
|
This excerpt from bt_sock.h should help you:
Seppo Forum Nokia /** Socket address class used for inquiries. Used to specify the inquiry request, and then filled with information about remote devices discovered through the inquiry process. Use the BTAddr() method to extract the device address to connect to. **/ class TInquirySockAddr : public TBTSockAddr { struct SInquiryAddr { TUint8 iFormatTypeField; TUint16 iMajorServiceClass; TUint8 iMajorDeviceClass; TUint8 iMinorDeviceClass; TUint iIAC; TUint8 iFlags; }; public: IMPORT_C TInquirySockAddr(); IMPORT_C TInquirySockAddr(const TSockAddr &aAddr); inline static TInquirySockAddr& Cast(const TSockAddr &aAddr); inline TUint16 MajorServiceClass() const; inline void SetMajorServiceClass(TUint16 aClass); inline TUint8 MajorClassOfDevice() const; inline void SetMajorClassOfDevice(TUint8 aMajorClassOfDevice); inline TUint8 MinorClassOfDevice() const; inline void SetMinorClassOfDevice(TUint8 aMinorClassOfDevice); inline TUint IAC() const; inline void SetIAC(const TUint aIAC); inline TUint8 Action() const; inline void SetAction(TUint8 aFlags); private: inline SInquiryAddr &InquiryAddrStruct() const; };
Last edited by seppo_fn : 2003-07-14 at 09:48.
|
|
Yes,
that's what U find from the documentation...but somebody tell me what is wrong!! iSocketServer.FindProtocol(_L("BTLinkManager"), iPInfo ); iResolver.Open(iSocketServer,iPInfo.iAddrFamily,iPInfo.iProtocol); iInqSockAddr.SetIAC(KLIAC); iInqSockAddr.SetMajorServiceClass(EMajorServiceTelephony); iInqSockAddr.SetAction(KHostResInquiry | KHostResName | KHostResIgnoreCache); iResolver.GetByAddress(iInqSockAddr, iNameEntry, iStatus); SetActive(); Whenever I use KLIAC I don't find any devices!? Why? When using KGIAC I find all devices without filtering? Thanks, Hans |
|
Hello,
I have faced a problem with Bluetooth Device Discovery in nokia 6670. I am using RHostResolver API ( Series 60 SDK 2.1) to search for Bluetooth Devices in the piconet. I have noticed that sometimes the search continues indefinitely without finding and Bluetooth devices and in turn my application hangs. Any input in this issue will be highly appreciated. regards, suparna |
| suparna123 |
| View Public Profile |
| Find all posts by suparna123 |
| Reply | « Previous Thread | Next Thread » |
| Thread Tools | Search this Thread |
|---|---|