voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/inc/voipxmlvoiphandler.h
--- a/voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/inc/voipxmlvoiphandler.h Thu Aug 19 09:45:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,397 +0,0 @@
-/*
-* 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: VoIP handler for VoIP XML processor
-*
-*/
-
-
-#ifndef VOIPXMLVOIPHANDLER_H
-#define VOIPXMLVOIPHANDLER_H
-
-#include <e32base.h>
-#include <sipprofileregistryobserver.h>
-#include <crcseprofileentry.h>
-#include <crcseaudiocodecentry.h>
-
-class CSPSettings;
-class CRCSEProfileRegistry;
-class CRCSEAudioCodecRegistry;
-class CRCSEProfileEntry;
-class CSPProperty;
-
-typedef CRCSEAudioCodecEntry::TOnOff TCodecOnOff;
-typedef CRCSEProfileEntry::TOnOff TEntryOnOff;
-
-struct TTemporaryCodec
- {
- /**
- * Codec name.
- */
- HBufC* iName;
- /**
- * Jitter buffer size.
- */
- TInt iJitterBuffer;
- /**
- * Octet-align.
- */
- TCodecOnOff iOctetAlign;
- /**
- * PTime value.
- */
- TInt iPtime;
- /**
- * MaxPtime value.
- */
- TInt iMaxPtime;
- /**
- * Mode-set values.
- */
- RArray<TUint32> iModeSet;
- /**
- * Mode-change-period value.
- */
- TInt iModeChangePeriod;
- /**
- * Mode-change-neighbor value.
- */
- TCodecOnOff iModeChangeNeighbor;
- /**
- * Max-red value.
- */
- TInt iMaxRed;
- /**
- * VAD value.
- */
- TCodecOnOff iVad;
- /**
- * Annexb value.
- */
- TCodecOnOff iAnnexb;
- };
-
-struct TSpSettings
- {
- /**
- * Tells if buddy requests are automatically accepted.
- */
- TBool iAutoAcceptBuddies;
- /**
- * Provider bookmark URL.
- */
- HBufC* iProviderUrl;
- /**
- * Branding URI.
- */
- HBufC* iBrandingUri;
- /**
- * Tells if the service will be automatically enabled.
- */
- TBool iAutoEnable;
- /**
- * Message Waiting Indicator URI for voice mailbox.
- */
- HBufC* iMwiUri;
- /**
- * Listening URI for voice mailbox.
- */
- HBufC* iListeningUri;
- /**
- * Re-subscribe interval for voice mailbox.
- */
- TInt iResubrcribe;
- /**
- * Tells if SIP IM is enabled. IM will be set as enabled only if
- * a presence ID is received via LinkSettings() method.
- */
- TBool iEnableSipIm;
- /**
- * Brand ID.
- */
- HBufC* iBrandId;
- };
-
-/**
-* VoIP handler class.
-* Handles VoIP related settings.
-*
-* @lib voipxmlprocessor.lib
-* @since S60 v5.0
-*/
-class CVoipXmlVoipHandler : public CBase, public MSIPProfileRegistryObserver
- {
-#ifdef _DEBUG
- friend class UT_CVoipXmlVoipHandler;
- friend class UT_CVoipXmlParser;
- friend class UT_CVoipXmlParamHandler;
-#endif
-
-public:
-
- /**
- * Two-phased constructor.
- */
- static CVoipXmlVoipHandler* NewL();
-
- /**
- * Destructor.
- */
- virtual ~CVoipXmlVoipHandler();
-
- /**
- * Sets VoIP setting.
- *
- * @since S60 v5.0
- * @param aType Type of setting (VoIP 'core', vmbx or codec)
- * @param aParam Parameter to be set.
- * @param aValue Value of the setting.
- */
- void SetSetting( TInt aType, TInt aParam, const TDesC& aValue );
-
- /**
- * Stores settings to RCSE.
- *
- * @since S60 v5.0
- * @return KErrNone if successful,
- * KErrNotSupported if no settings to be stored,
- * KErrCompletion if settings could not be stored.
- */
- TInt StoreSettings();
-
- /**
- * Returns the service ID.
- *
- * @since S60 v5.0
- * @return VoIP service ID.
- */
- TUint32 SettingsId();
-
- /**
- * Method to inform the handler that currently deployed settings
- * have ended. This way we will know when a codec is ready to be
- * put to RCSE.
- *
- * @since S60 v5.0
- * @param aType Type of settings.
- */
- void SettingsEnd( TInt aType );
-
- /**
- * Gives linkage information.
- *
- * @since S60 v5.0
- * @param aType Type of settings.
- * @param aSettingsId Settings ID.
- */
- void LinkSettings( TInt aType, TUint32 aSettingsId );
-
- /**
- * Finalizes settings, i.e. sets all the settings that are bound to
- * settings linkage (e.g. SIP User-Agent header and
- * settings stored in SPSettings).
- *
- * @since S60 v5.0
- * @return KErrNone if successful,
- * KErrCompletion if settings could not be finalized.
- */
- TInt FinalizeSettings();
-
- /**
- * Returns the service tab ID.
- *
- * @since S60 v5.0
- * @return Service tab ID.
- */
- TUint32 ServiceTabIdL();
-
-protected:
-
-// from base class MSIPProfileRegistryObserver
-
- /**
- * From MSIPProfileRegistryObserver
- * SIP profile information event.
- *
- * @since S60 v5.0
- * @param aSIPProfileId SIP profile ID.
- * @param aEvent Type of SIP event
- */
- void ProfileRegistryEventOccurred( TUint32 /*aSIPProfileId*/,
- TEvent /*aEvent*/ );
-
- /**
- * From MSIPProfileRegistryObserver
- * An asynchronous error has occurred related to SIP profile.
- *
- * @since S60 v5.0
- * @param aSIPProfileId SIP profile ID.
- * @param aError Error code.
- */
- void ProfileRegistryErrorOccurred( TUint32 /*aSIPProfileId*/,
- TInt /*aError*/ );
-
-private:
-
- /**
- * Sets VoIP core setting to temporary storage.
- *
- * @param aParam Parameter to be set.
- * @param aValue Value of the setting.
- * @since S60 v5.0
- */
- void SetCoreSettingL( TInt aParam, const TDesC& aValue );
-
- /**
- * Sets codec setting to temporary storage.
- *
- * @param aParam Parameter to be set.
- * @param aValue Value of the setting.
- * @since S60 v5.0
- */
- void SetCodecSettingL( TInt aParam, const TDesC& aValue );
-
- /**
- * Sets voice mailbox setting to temporary storage.
- *
- * @param aParam Parameter to be set.
- * @param aValue Value of the setting.
- * @since S60 v5.0
- */
- void SetVmbxSettingL( TInt aParam, const TDesC& aValue );
-
- /**
- * Validates profile name and modifies it if necessary.
- *
- * @since S60 v5.0
- * @param aName Name to be validated.
- */
- void ValidateProfileNameL( TDes& aName );
-
- /**
- * Sets temporary codec to RCSE.
- *
- * @since S60 v5.0
- */
- void SetCodecToRcseL();
-
- /**
- * Reset temporary codec settings (iCurrentCodec)
- *
- * @since S60 v5.0
- */
- void ResetTempCodec( TBool aCloseArray = EFalse );
-
- /**
- * Resets temporary service provider settings (iSpSettings)
- *
- * @since S60 v5.0
- */
- void ResetTempSpSettings();
-
- /**
- * Sets SIP related VoIP settings (links VoIP profile to SIP and sets
- * SIP User-Agent header).
- *
- * @since S60 v5.0
- * @param aSipId SIP settings ID.
- */
- void SetSipInfoL( TUint32 aSipId );
-
- /**
- * Sets SPSettings to service table.
- *
- * @since S60 v5.0
- */
- void SetSpSettingsL();
-
- /**
- * Adds default codec set to iEntry.
- *
- * @since S60 v5.0
- */
- void AddDefaultCodecsL();
-
- /**
- * Sets the service as default service and preferred telephony as PS.
- *
- * @since S60 v5.1
- */
- void SetAsDefaultL();
-
-private:
-
- CVoipXmlVoipHandler();
- void ConstructL();
-
-private:
-
- /**
- * RCSE profile registry.
- * Own.
- */
- CRCSEProfileRegistry* iRegistry;
-
- /**
- * RCSE audio codec registry
- * Own.
- */
- CRCSEAudioCodecRegistry* iCodecRegistry;
-
- /**
- * RCSE profile entry.
- * Own.
- */
- CRCSEProfileEntry* iEntry;
-
- /**
- * Tells if any settings have been set to temporary profile.
- */
- TBool iSettingsSet;
-
- /**
- * VoIP service ID.
- */
- TUint32 iServiceId;
-
- /**
- * Current codec that is being modified.
- */
- TTemporaryCodec iCurrentCodec;
-
- /**
- * SPSettings that are temporarily stored and .
- */
- TSpSettings iSpSettings;
-
- /**
- * Presence settings ID. This is received in LinkSettings method and
- * will be stored to SPSettings in FinalizeSettings method.
- */
- TUint32 iPresenceId;
-
- /**
- * Destination (SNAP) ID. This is received in LinkSettings method and
- * will be stored to SPSettings in FinalizedSettings method.
- */
- TUint32 iDestinationId;
-
- /**
- * Tells if the service is to be set as default service.
- */
- TBool iDefault;
- };
-
-#endif // VOIPXMLVOIPHANDLER_H
-
-// End of File