--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/callcontinuity/vccclientprovisioningadapter/inc/wpvccadapter.h Mon Jan 18 20:12:36 2010 +0200
@@ -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 <CWPAdapter.h>
+#include <MWPContextExtension.h>
+
+#include "vccunittesting.h"
+#include <sipprofileregistryobserver.h>
+
+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<TPtrC> 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