diff -r b497e44ab2fc -r a9c0ce913924 omaprovisioning/provisioning/cpdestinationnwadapter/inc/cwpdestinationnwitem.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/omaprovisioning/provisioning/cpdestinationnwadapter/inc/cwpdestinationnwitem.h Thu Jan 07 13:15:03 2010 +0200 @@ -0,0 +1,157 @@ +/* +* Copyright (c) 2007 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: Settings item for one destination network. Also handles +* saving destination networks to permanent storage. +* +*/ + + + +#ifndef CWPDESTINATIONNWITEM_H +#define CWPDESTINATIONNWITEM_H + +#include +#include + +class CWPCharacteristic; + +/** + * Destination network settings item. + * + * Destination network item handles saving destination networks via + * Connection Method Manager API. + * + * @lib cwpdestinationnwadapter.lib + * @since S60 v3.2. + */ +class CWPDestinationNwItem : public CBase + { + /** + * Friend classes for unit testing - uncomment when running tests. + */ + //friend class UT_wpdestinationnwadapter; + +public: + + static CWPDestinationNwItem* NewL(); + + virtual ~CWPDestinationNwItem(); + + /** + * Setter for APPREF. + * @since S60 v3.2. + * @param aAPPREF. + */ + void SetAppRefL( const TDesC8& aAppRef ); + + /** + * Setter for user viewable name of the setting. + * @since S60 v3.2. + * @param aNAME. Value is TCP or UDP. + */ + void SetSettingsNameL( const TDesC& aSettingsName ); + + /** + * Setter for NAPDEF (IAP settings). + * @since S60 v3.2. + * @param aNapDef. + */ + void AddNapDefL( CWPCharacteristic* aNapDef ); + + /** + * Getter for APPREF value. + * @since S60 v3.2. + * @return APPREF. + */ + const TDesC8& AppRef() const; + + /** + * Getter for user viewable name of Destination network. + * @since S60 v3.2. + * @return Settings name. + */ + const TDesC& SettingsName() const; + + /** + * Saves the destination network settings. + * @since S60 v3.2. + */ + void SaveL(); + + /** + * Return destination network ID. + * @since S60 v3.2. + * @return ID of the destination network. + */ + const TDesC8& SaveData() const; + +private: + + /** + * Creates a network destination. + * @since S60 v3.2. + * @param aCmManager Connection Method Manager handle. + * @return Network destination. + */ + RCmDestinationExt CreateDestinationL( RCmManagerExt& aCmManager ); + + /** + * Returnes the Iap id that matches the given Wap id. + * @since S60 v3.2.3 + * @param aWapId IAP's Wap Id. + * @return Iap Id. + */ + TUint32 IapIdFromWapIdL( TUint32 aWapId ); + +private: + + void ConstructL(); + CWPDestinationNwItem(); + +private: // data + + /** + * Destination network reference identity in provisioning document. + * Own. + */ + HBufC8* iAppRef; + + /** + * Name of destination network visible to user when viewing the + * provisioning message. + * Own. + */ + HBufC* iSettingsName; + + /** + * Array of NAPDEFs, IAP settings. + * Not own. (Contained pointers are deleted by ProvisioningEngine.) + */ + RPointerArray iNapDefs; + + /** + * ID value of the referred IAP. + */ + TUint32 iIAPId; + + /** + * Destination network ID as a descriptor to be returned by the + * SaveData method to the framework via adapters SaveDataL. + * Own. + */ + HBufC8* iSavedProfileId; + + }; + +#endif // CWPDESTINATIONNWITEM_H