installationservices/swi/source/sisregistry/client/sisregistryentry.cpp
changeset 42 d17dc5398051
parent 5 3eebb1e54d3a
equal deleted inserted replaced
37:6e7b00453237 42:d17dc5398051
     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);
   318 	HBufC8* buffer = RSisRegistryEntry::SendReceiveBufferLC(EPackageAugmentations);
   320 	HBufC8* buffer = RSisRegistryEntry::SendReceiveBufferLC(EPackageAugmentations);
   319 	
   321 	
   320 	// create a stream based on the buffer
   322 	// create a stream based on the buffer
   321 	RDesReadStream stream(*buffer);
   323 	RDesReadStream stream(*buffer);
   322 	CleanupClosePushL(stream);
   324 	CleanupClosePushL(stream);
   338 		aVendorNames.AppendL(vendor);
   340 		aVendorNames.AppendL(vendor);
   339 		
   341 		
   340 		CleanupStack::Pop(2, vendor);	//vendor package, 
   342 		CleanupStack::Pop(2, vendor);	//vendor package, 
   341 		}
   343 		}
   342 	CleanupStack::PopAndDestroy(3, buffer);// buffer, stream, packages
   344 	CleanupStack::PopAndDestroy(3, buffer);// buffer, stream, packages
       
   345 	CleanupStack::Pop(2, &aPackageNames);
   343 	}
   346 	}
   344 
   347 
   345 EXPORT_C void RSisRegistryEntry::AugmentationsL(RPointerArray<CSisRegistryPackage>& aPackages)
   348 EXPORT_C void RSisRegistryEntry::AugmentationsL(RPointerArray<CSisRegistryPackage>& aPackages)
   346 	{
   349 	{
   347 	HBufC8* buffer = RSisRegistryEntry::SendReceiveBufferLC(EPackageAugmentations);
   350 	HBufC8* buffer = RSisRegistryEntry::SendReceiveBufferLC(EPackageAugmentations);
   390 	return size;
   393 	return size;
   391 	}
   394 	}
   392 
   395 
   393 EXPORT_C void RSisRegistryEntry::ControllersL(RPointerArray<HBufC8>& aControllers)
   396 EXPORT_C void RSisRegistryEntry::ControllersL(RPointerArray<HBufC8>& aControllers)
   394 	{
   397 	{
       
   398 	CleanupResetAndDestroyPushL(aControllers);
   395 	HBufC8* buffer = SendReceiveBufferLC(EControllers);
   399 	HBufC8* buffer = SendReceiveBufferLC(EControllers);
   396 	
   400 	
   397 	// this call returns pure data, so we don't incur the overheads of the streamstore
   401 	// this call returns pure data, so we don't incur the overheads of the streamstore
   398 	TInt len(0);
   402 	TInt len(0);
   399 	TPckg<TInt> lenPckg(len);
   403 	TPckg<TInt> lenPckg(len);
   411 		CleanupStack::Pop(controller);
   415 		CleanupStack::Pop(controller);
   412 		pos += len;
   416 		pos += len;
   413 		}
   417 		}
   414 	
   418 	
   415 	CleanupStack::PopAndDestroy(buffer);
   419 	CleanupStack::PopAndDestroy(buffer);
       
   420 	CleanupStack::Pop(&aControllers);
   416 	}
   421 	}
   417 
   422 
   418 EXPORT_C TChar RSisRegistryEntry::SelectedDriveL()
   423 EXPORT_C TChar RSisRegistryEntry::SelectedDriveL()
   419 	{
   424 	{
   420 	TInt drive;
   425 	TInt drive;