diff -r 14e240312f6f -r 786b94c6f0a4 bluetooth/btexample/example/btproperties/BTProperties.cpp --- a/bluetooth/btexample/example/btproperties/BTProperties.cpp Thu Jul 15 19:55:36 2010 +0300 +++ b/bluetooth/btexample/example/btproperties/BTProperties.cpp Thu Aug 19 11:01:00 2010 +0300 @@ -55,6 +55,56 @@ } } +void CreateSubscribersL(RPointerArray& aSubscribers) + { + CSubscriber* subscriber = CSubscriber::NewL(test, KPropertyKeyBluetoothGetPHYCount, KNumLinks); + + CleanupStack::PushL(subscriber); + aSubscribers.AppendL(subscriber); + CleanupStack::Pop(subscriber); + + subscriber = CSubscriber::NewL(test, KPropertyKeyBluetoothGetRegistryTableChange, KRegistry); + CleanupStack::PushL(subscriber); + aSubscribers.AppendL(subscriber); + CleanupStack::Pop(subscriber); + + subscriber = CSubscriber::NewL(test, KPropertyKeyBluetoothGetConnectingStatus, KConnecting); + CleanupStack::PushL(subscriber); + aSubscribers.AppendL(subscriber); + CleanupStack::Pop(subscriber); + + subscriber = CSubscriber::NewL(test, KPropertyKeyBluetoothGetScanningStatus, KScanning); + CleanupStack::PushL(subscriber); + aSubscribers.AppendL(subscriber); + CleanupStack::Pop(subscriber); + + subscriber = CSubscriber::NewL(test, KPropertyKeyBluetoothGetLimitedDiscoverableStatus, KLimited); + CleanupStack::PushL(subscriber); + aSubscribers.AppendL(subscriber); + CleanupStack::Pop(subscriber); + + subscriber = CSubscriber::NewL(test, KPropertyKeyBluetoothGetDeviceClass, KDeviceClass); + CleanupStack::PushL(subscriber); + aSubscribers.AppendL(subscriber); + CleanupStack::Pop(subscriber); + + subscriber = CSubscriber::NewL(test, KPropertyKeyBluetoothGetCorruptRegistryResetIndication, KCorruptRegistry); + CleanupStack::PushL(subscriber); + aSubscribers.AppendL(subscriber); + CleanupStack::Pop(subscriber); + + subscriber = CDeviceNameSubscriber::NewL(test, KPropertyKeyBluetoothGetDeviceName, KDeviceName); + CleanupStack::PushL(subscriber); + aSubscribers.AppendL(subscriber); + CleanupStack::Pop(subscriber); + + subscriber = CSubscriber::NewL(test, KPropertyKeyBluetoothHostResolverActive, KDiscovering); + CleanupStack::PushL(subscriber); + aSubscribers.AppendL(subscriber); + CleanupStack::Pop(subscriber); + } + + void TestL() { // first do a sync test @@ -62,27 +112,22 @@ RPointerArray subscribers; - //ignoring errors! - subscribers.Append(CSubscriber::NewL(test, KPropertyKeyBluetoothGetPHYCount, KNumLinks)); - subscribers.Append(CSubscriber::NewL(test, KPropertyKeyBluetoothGetRegistryTableChange, KRegistry)); - subscribers.Append(CSubscriber::NewL(test, KPropertyKeyBluetoothGetConnectingStatus, KConnecting)); - subscribers.Append(CSubscriber::NewL(test, KPropertyKeyBluetoothGetScanningStatus, KScanning)); - subscribers.Append(CSubscriber::NewL(test, KPropertyKeyBluetoothGetLimitedDiscoverableStatus, KLimited)); - subscribers.Append(CSubscriber::NewL(test, KPropertyKeyBluetoothGetDeviceClass, KDeviceClass)); - subscribers.Append(CSubscriber::NewL(test, KPropertyKeyBluetoothGetCorruptRegistryResetIndication, KCorruptRegistry)); - subscribers.Append(CDeviceNameSubscriber::NewL(test, KPropertyKeyBluetoothGetDeviceName, KDeviceName)); - subscribers.Append(CSubscriber::NewL(test, KPropertyKeyBluetoothHostResolverActive, KDiscovering)); + TRAPD(err, CreateSubscribersL(subscribers)); test.Printf(_L("%d Subscribers\n"), subscribers.Count()); - for (TInt i=0; iStart(); - - CActiveScheduler::Start(); + if (err == KErrNone) + { + // Only start if no errors when creating the subscribers + for (TInt i=0; iStart(); + } + CActiveScheduler::Start(); + } subscribers.ResetAndDestroy(); } - CSubscriber* CSubscriber::NewL(RTest& aTest, TUint aKey, const TDesC& aString) { CSubscriber* s = new(ELeave) CSubscriber(aTest, aString);