installationservices/swi/source/sisregistry/client/sisregistryentry.cpp
branchRCL_3
changeset 34 741e5bba2bd1
parent 5 3eebb1e54d3a
child 65 7333d7932ef7
equal deleted inserted replaced
28:98a43fae6e2b 34:741e5bba2bd1
     1 /*
     1 /*
     2 * Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 * Copyright (c) 2004-2010 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     4 * This component and the accompanying materials are made available
     5 * under the terms of the License "Eclipse Public License v1.0"
     5 * under the terms of the License "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
   313 	return value;
   313 	return value;
   314 	}
   314 	}
   315 
   315 
   316 EXPORT_C void RSisRegistryEntry::AugmentationsL(RPointerArray<HBufC>& aPackageNames, RPointerArray<HBufC>& aVendorNames)
   316 EXPORT_C void RSisRegistryEntry::AugmentationsL(RPointerArray<HBufC>& aPackageNames, RPointerArray<HBufC>& aVendorNames)
   317 	{
   317 	{
       
   318 	CleanupResetAndDestroyPushL(aPackageNames);
       
   319     CleanupResetAndDestroyPushL(aVendorNames);
       
   320     
   318 	HBufC8* buffer = RSisRegistryEntry::SendReceiveBufferLC(EPackageAugmentations);
   321 	HBufC8* buffer = RSisRegistryEntry::SendReceiveBufferLC(EPackageAugmentations);
   319 	
   322 	
   320 	// create a stream based on the buffer
   323 	// create a stream based on the buffer
   321 	RDesReadStream stream(*buffer);
   324 	RDesReadStream stream(*buffer);
   322 	CleanupClosePushL(stream);
   325 	CleanupClosePushL(stream);
   338 		aVendorNames.AppendL(vendor);
   341 		aVendorNames.AppendL(vendor);
   339 		
   342 		
   340 		CleanupStack::Pop(2, vendor);	//vendor package, 
   343 		CleanupStack::Pop(2, vendor);	//vendor package, 
   341 		}
   344 		}
   342 	CleanupStack::PopAndDestroy(3, buffer);// buffer, stream, packages
   345 	CleanupStack::PopAndDestroy(3, buffer);// buffer, stream, packages
       
   346 	
       
   347 	CleanupStack::Pop(2, &aPackageNames);
   343 	}
   348 	}
   344 
   349 
   345 EXPORT_C void RSisRegistryEntry::AugmentationsL(RPointerArray<CSisRegistryPackage>& aPackages)
   350 EXPORT_C void RSisRegistryEntry::AugmentationsL(RPointerArray<CSisRegistryPackage>& aPackages)
   346 	{
   351 	{
   347 	HBufC8* buffer = RSisRegistryEntry::SendReceiveBufferLC(EPackageAugmentations);
   352 	HBufC8* buffer = RSisRegistryEntry::SendReceiveBufferLC(EPackageAugmentations);
   390 	return size;
   395 	return size;
   391 	}
   396 	}
   392 
   397 
   393 EXPORT_C void RSisRegistryEntry::ControllersL(RPointerArray<HBufC8>& aControllers)
   398 EXPORT_C void RSisRegistryEntry::ControllersL(RPointerArray<HBufC8>& aControllers)
   394 	{
   399 	{
       
   400 	CleanupResetAndDestroyPushL(aControllers);
   395 	HBufC8* buffer = SendReceiveBufferLC(EControllers);
   401 	HBufC8* buffer = SendReceiveBufferLC(EControllers);
   396 	
   402 	
   397 	// this call returns pure data, so we don't incur the overheads of the streamstore
   403 	// this call returns pure data, so we don't incur the overheads of the streamstore
   398 	TInt len(0);
   404 	TInt len(0);
   399 	TPckg<TInt> lenPckg(len);
   405 	TPckg<TInt> lenPckg(len);
   411 		CleanupStack::Pop(controller);
   417 		CleanupStack::Pop(controller);
   412 		pos += len;
   418 		pos += len;
   413 		}
   419 		}
   414 	
   420 	
   415 	CleanupStack::PopAndDestroy(buffer);
   421 	CleanupStack::PopAndDestroy(buffer);
       
   422 	CleanupStack::Pop(&aControllers);
   416 	}
   423 	}
   417 
   424 
   418 EXPORT_C TChar RSisRegistryEntry::SelectedDriveL()
   425 EXPORT_C TChar RSisRegistryEntry::SelectedDriveL()
   419 	{
   426 	{
   420 	TInt drive;
   427 	TInt drive;