bluetooth/btexample/example/btproperties/BTProperties.cpp
branchRCL_3
changeset 22 786b94c6f0a4
parent 0 29b1cd4cb562
equal deleted inserted replaced
21:14e240312f6f 22:786b94c6f0a4
    53 		localAddress.GetReadable(dispBuf);
    53 		localAddress.GetReadable(dispBuf);
    54 		test.Printf(_L("Local address = 0x%S\n"),&dispBuf);
    54 		test.Printf(_L("Local address = 0x%S\n"),&dispBuf);
    55 		}
    55 		}
    56 	}
    56 	}
    57 
    57 
       
    58 void CreateSubscribersL(RPointerArray<CSubscriber>& aSubscribers)
       
    59 	{
       
    60 	CSubscriber* subscriber = CSubscriber::NewL(test, KPropertyKeyBluetoothGetPHYCount, KNumLinks);
       
    61 	
       
    62 	CleanupStack::PushL(subscriber);
       
    63 	aSubscribers.AppendL(subscriber);
       
    64 	CleanupStack::Pop(subscriber);
       
    65 	
       
    66 	subscriber = CSubscriber::NewL(test, KPropertyKeyBluetoothGetRegistryTableChange, KRegistry);
       
    67 	CleanupStack::PushL(subscriber);
       
    68 	aSubscribers.AppendL(subscriber);
       
    69 	CleanupStack::Pop(subscriber);
       
    70 	
       
    71 	subscriber = CSubscriber::NewL(test, KPropertyKeyBluetoothGetConnectingStatus, KConnecting);
       
    72 	CleanupStack::PushL(subscriber);
       
    73 	aSubscribers.AppendL(subscriber);
       
    74 	CleanupStack::Pop(subscriber);
       
    75 		
       
    76 	subscriber = CSubscriber::NewL(test, KPropertyKeyBluetoothGetScanningStatus, KScanning);
       
    77 	CleanupStack::PushL(subscriber);
       
    78 	aSubscribers.AppendL(subscriber);
       
    79 	CleanupStack::Pop(subscriber);
       
    80 
       
    81 	subscriber = CSubscriber::NewL(test, KPropertyKeyBluetoothGetLimitedDiscoverableStatus, KLimited);
       
    82 	CleanupStack::PushL(subscriber);
       
    83 	aSubscribers.AppendL(subscriber);
       
    84 	CleanupStack::Pop(subscriber);
       
    85 	
       
    86 	subscriber = CSubscriber::NewL(test, KPropertyKeyBluetoothGetDeviceClass, KDeviceClass);
       
    87 	CleanupStack::PushL(subscriber);
       
    88 	aSubscribers.AppendL(subscriber);
       
    89 	CleanupStack::Pop(subscriber);
       
    90 	
       
    91 	subscriber = CSubscriber::NewL(test, KPropertyKeyBluetoothGetCorruptRegistryResetIndication, KCorruptRegistry);
       
    92 	CleanupStack::PushL(subscriber);
       
    93 	aSubscribers.AppendL(subscriber);
       
    94 	CleanupStack::Pop(subscriber);
       
    95 	
       
    96 	subscriber = CDeviceNameSubscriber::NewL(test, KPropertyKeyBluetoothGetDeviceName, KDeviceName);
       
    97 	CleanupStack::PushL(subscriber);
       
    98 	aSubscribers.AppendL(subscriber);
       
    99 	CleanupStack::Pop(subscriber);
       
   100 	
       
   101 	subscriber = CSubscriber::NewL(test, KPropertyKeyBluetoothHostResolverActive, KDiscovering);
       
   102 	CleanupStack::PushL(subscriber);
       
   103 	aSubscribers.AppendL(subscriber);
       
   104 	CleanupStack::Pop(subscriber);
       
   105 	}
       
   106 
       
   107 
    58 void TestL()
   108 void TestL()
    59 	{
   109 	{
    60 	// first do a sync test
   110 	// first do a sync test
    61 	ShowAddress();
   111 	ShowAddress();
    62 
   112 
    63 	RPointerArray<CSubscriber> subscribers;
   113 	RPointerArray<CSubscriber> subscribers;
    64 
   114 
    65 	//ignoring errors!
   115 	TRAPD(err, CreateSubscribersL(subscribers));
    66 	subscribers.Append(CSubscriber::NewL(test, KPropertyKeyBluetoothGetPHYCount, KNumLinks));
       
    67 	subscribers.Append(CSubscriber::NewL(test, KPropertyKeyBluetoothGetRegistryTableChange, KRegistry));
       
    68 	subscribers.Append(CSubscriber::NewL(test, KPropertyKeyBluetoothGetConnectingStatus, KConnecting));
       
    69 	subscribers.Append(CSubscriber::NewL(test, KPropertyKeyBluetoothGetScanningStatus, KScanning));
       
    70 	subscribers.Append(CSubscriber::NewL(test, KPropertyKeyBluetoothGetLimitedDiscoverableStatus, KLimited));
       
    71 	subscribers.Append(CSubscriber::NewL(test, KPropertyKeyBluetoothGetDeviceClass, KDeviceClass));
       
    72 	subscribers.Append(CSubscriber::NewL(test, KPropertyKeyBluetoothGetCorruptRegistryResetIndication, KCorruptRegistry));
       
    73 	subscribers.Append(CDeviceNameSubscriber::NewL(test, KPropertyKeyBluetoothGetDeviceName, KDeviceName));
       
    74  	subscribers.Append(CSubscriber::NewL(test, KPropertyKeyBluetoothHostResolverActive, KDiscovering));
       
    75 
   116 
    76 	test.Printf(_L("%d Subscribers\n"), subscribers.Count());
   117 	test.Printf(_L("%d Subscribers\n"), subscribers.Count());
    77 
   118 
    78 	for (TInt i=0; i<subscribers.Count(); i++)
   119 	if (err == KErrNone)
    79 		subscribers[i]->Start();
   120 		{
    80 
   121 		// Only start if no errors when creating the subscribers
    81 	CActiveScheduler::Start();
   122 		for (TInt i=0; i<subscribers.Count(); i++)
       
   123 			{
       
   124 			subscribers[i]->Start();
       
   125 			}
       
   126 		CActiveScheduler::Start();
       
   127 		}
    82 	subscribers.ResetAndDestroy();
   128 	subscribers.ResetAndDestroy();
    83 	}
   129 	}
    84 
       
    85 
   130 
    86 CSubscriber* CSubscriber::NewL(RTest& aTest, TUint aKey, const TDesC& aString)
   131 CSubscriber* CSubscriber::NewL(RTest& aTest, TUint aKey, const TDesC& aString)
    87 	{
   132 	{
    88 	CSubscriber* s = new(ELeave) CSubscriber(aTest, aString);
   133 	CSubscriber* s = new(ELeave) CSubscriber(aTest, aString);
    89 	CleanupStack::PushL(s);
   134 	CleanupStack::PushL(s);