diff -r f742655b05bf -r d38647835c2e callcontinuity/vccclientprovisioningadapter/inc/wpvccadapter.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/callcontinuity/vccclientprovisioningadapter/inc/wpvccadapter.h Wed Sep 01 12:29:57 2010 +0100 @@ -0,0 +1,249 @@ +/* +* Copyright (c) 2007-2008 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: Handles Vcc settings in provisioning. +* +*/ + + + +#ifndef C_WPVCCADAPTER_H +#define C_WPVCCADAPTER_H + +#include +#include + +#include "vccunittesting.h" +#include + +class CWPCharacteristic; +class CVccSPSettings; + +/** + * CVccAdapter handles Vcc settings received via provisioning framework. + * + * CVccAdapter is a plugin for provisioning framework. It indicates to + * framwork that it is interested in Vcc settings, and when they're + * available CVccAdapter stores them into instance of CVccItem. + * + * @lib wpvccadapter + * @since S60 3.2 + */ +class CWPVccAdapter : public CWPAdapter, public MWPContextExtension, public MSIPProfileRegistryObserver + { + +public: + + /** + * Symbian OS two-phased constructor + */ + static CWPVccAdapter* NewL(); + + /** + * Destructor. + */ + virtual ~CWPVccAdapter(); + +// from base class CWPAdapter + + /** + * @see CWPAdapter::ItemCount() + */ + TInt ItemCount() const; + + /** + * @see CWPAdapter::SummaryTitle() + */ + const TDesC16& SummaryTitle( TInt aIndex ) const; + + /** + * @see CWPAdapter::SummaryText() + */ + const TDesC16& SummaryText( TInt aIndex ) const; + + /** + * @see CWPAdapter::SaveL() + */ + void SaveL( TInt aIndex ); + + /** + * @see CWPAdapter::CanSetAsDefault() + */ + TBool CanSetAsDefault( TInt aIndex ) const; + + /** + * @see CWPAdapter::SetAsDefaultL() + */ + void SetAsDefaultL( TInt aIndex ); + + /** + * @see CWPAdapter::DetailsL() + */ + TInt DetailsL( TInt aItem, MWPPairVisitor& aVisitor ); + + /** + * @see CWPAdapter::ContextExtension() + */ + TInt ContextExtension( MWPContextExtension*& aExtension ); + + /** + * @see CWPAdapter::SettingsSavedL() + */ + void SettingsSavedL(const TDesC8& aAppIdOfSavingItem, + const TDesC8& aAppRef, + const TDesC8& aStorageIdValue); + +// From base class MWPVisitor + + /** + * @see MWPVisitor::VisitL() + */ + void VisitL( CWPCharacteristic& aCharacteristic ); + + /** + * @see MWPVisitor::SavingFinalizedL() + */ + void SavingFinalizedL(); + + + /** + * @see MWPVisitor::VisitL() + */ + void VisitL( CWPParameter& aParameter ); + + /** + * @see MWPVisitor:VisitLinkL() + */ + void VisitLinkL( CWPCharacteristic& aLink ); + +// from base class MWPContextExtension + + /** + * @see MWPContextExtension::SaveDataL() + */ + const TDesC8& SaveDataL( TInt aIndex ) const; + + /** + * @see MWPContextExtension::DeleteL() + */ + void DeleteL( const TDesC8& aSaveData ); + + /** + * @see MWPContextExtension::Uid() + */ + TUint32 Uid() const; + + /** + * From MSIPProfileRegistryObserver + * SIP profile information event. + * + * @since S60 v3.1 + * @param aSIPProfileId id for profile + * @param aEvent type of information event + */ + void ProfileRegistryEventOccurred(TUint32 aProfileId, + TEvent aEvent); + /** + * From MSIPProfileRegistryObserver + * An asynchronous error has occurred related to SIP profile. + * + * @since S60 v3.1 + * @param aSIPProfileId the id of failed profile + * @param aError a error code + * @return none + */ + void ProfileRegistryErrorOccurred(TUint32 aProfileId, + TInt aError); + +private: + + /** + * C++ constructor + */ + CWPVccAdapter(); + + /** + * Symbian 2nd phase constructor + */ + void ConstructL(); + + /** + * Remove old VCC related settings if found + */ + void RemoveVCCSettingsL(); + + /** + * Remove VCC enabled VoIP network destination from snaplist + */ + void RemoveNetworkDestinationL(); + +private: // data + + /** + * The application id of the current characteristic + * Own + */ + HBufC* iAppID; + + /** + * Title for the Vcc settings. + * Own. + */ + HBufC* iTitle; + + /** + * Holds the value of the current characteristic type (state). + */ + TUint iCurrentCharacteristic; + + /** + * Type of the current characteristics + */ + TInt iCurrentCharacteristicType; + + /** + * Application references + * Own + */ + RArray iToAppReferences; + + /** + * Item that saves the provisioned settings + * Own + */ + CVccSPSettings* iVccItem; + + /** + * Item that saves the provisioned settings + * Own + */ + CVccSPSettings* iNewVccItem; + + /** + * RCSE Profile ID + * Own + */ + TUint iVoipProfileId; + + /** + * Old VCC enabled VoIP service name + * needed for deleting network destination before saving new VCC enabled VoIP service + */ + TBuf<200> iOldVoipServiceName; + + + + VCC_UNITTEST( T_WpVccAdapter ) + }; + +#endif // C_WPVCCADAPTER_H