diff -r 65a3ef1d5bd0 -r f742655b05bf 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 -#include -#include -#include - -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 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