diff -r 3f419852be07 -r 364021cecc90 smartinstaller/bootstrap/dll/smartinstallerdll.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/smartinstaller/bootstrap/dll/smartinstallerdll.cpp Wed Jun 30 11:01:26 2010 +0530 @@ -0,0 +1,122 @@ +/* +* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* Wrapper DLL +* +* +*/ + +#include // @since 3.2 +#include // @since 3.2 + +#include "smartinstallerdll.h" + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +EXPORT_C CHelper* CHelper::NewL() + { + CHelper* self = CHelper::NewLC(); + CleanupStack::Pop(); + return self; + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +EXPORT_C CHelper* CHelper::NewLC() + { + CHelper* self = new (ELeave) CHelper(); + CleanupStack::PushL(self); + self->ConstructL(); + return self; + } + +// --------------------------------------------------------------------------- +// Default destructor +// --------------------------------------------------------------------------- +// +EXPORT_C CHelper::~CHelper() + { + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +EXPORT_C TUint CHelper::GetDefaultIapForSNAPL(const TUint aSNAPId) + { + RCmManager cmManager; + TUint iap( 0 ); + + cmManager.OpenLC(); + RCmDestination dest( cmManager.DestinationL( aSNAPId ) ); + CleanupClosePushL( dest ); + if ( dest.ConnectionMethodCount() <= 0 ) + { + User::Leave( KErrNotFound ); + } + + RCmConnectionMethod meth( dest.ConnectionMethodL(0) ); + CleanupClosePushL(meth); + iap = meth.GetIntAttributeL(CMManager::ECmIapId); + CleanupStack::PopAndDestroy( 3, &cmManager ); // cMeth, dest, cmManager + + return iap; + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +EXPORT_C void CHelper::GetSnapIapsL(const TUint aSNAPId, RArray& aIapArray) + { + RCmManager cmManager; + cmManager.OpenLC(); + + RCmDestination dest = cmManager.DestinationL( aSNAPId ); + CleanupClosePushL(dest); + const TInt count = dest.ConnectionMethodCount(); + if ( count <= 0 ) + { + User::Leave(KErrNotFound); + } + // Fill the array with IAP IDs. We're assuming they are in priority order. + for (TInt i = 0; i < count; i++) + { + RCmConnectionMethod meth( dest.ConnectionMethodL(i) ); + CleanupClosePushL(meth); + aIapArray.AppendL( meth.GetIntAttributeL(CMManager::ECmIapId) ); + CleanupStack::PopAndDestroy(&meth); + } + CleanupStack::PopAndDestroy( 2, &cmManager ); // destination, cmManager + } + +// --------------------------------------------------------------------------- +// Default 2nd level constructor +// --------------------------------------------------------------------------- +// +void CHelper::ConstructL() + { + } + +// --------------------------------------------------------------------------- +// Default constructor +// --------------------------------------------------------------------------- +// +CHelper::CHelper() + { + }