--- a/imstutils/xmppadapter/src/xmppadapter.cpp Thu Aug 19 09:41:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,847 +0,0 @@
-/*
-* Copyright (c) 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 XMPPAdapter settings in OMA provisioning.
-*
-*/
-
-
-// INCLUDE FILES
-#include <f32file.h>
-#include <CWPCharacteristic.h>
-#include <CWPParameter.h>
-#include <pdpcontextmanagerinternalcrkeys.h>
-#include <centralrepository.h>
-
-#include "imconnectionprovideruids.hrh"
-
-#include "WPAdapterUtil.h"
-#include "xmppadapter.h"
-
-#include "xmppservicesettingsapi.h"
-#include "xmppparams.h"
-
-#include <spentry.h>
-#include <spsettings.h>
-#include <spproperty.h>
-#include <spdefinitions.h>
-#include <cvimpstsettingsstore.h> // application specific settings writer
-
-#include "xmppadapterlogger.h"
-#include <e32base.h>
-#include <StringLoader.h>
-#include <wpgeneralxmppsettingsadapter.rsg>
-#include <bautils.h>
-#include <f32file.h>
-#include <WPAdapterUtil.h> // Adapter utils
-#include <barsc.h>
-// CONSTANTS
-_LIT( KMecoImAppID, "wXMPP" );
-//_LIT( KXMPPProtocol, "APROTOCOL" );
-//_LIT( KXMPPServerAddr, "AADDR" );
-_LIT(KSsl,"SSL");
-_LIT(KPortNbr, "APORTNBR");
-_LIT(KBrandId, "BRANDID");
-const TInt KGranularity = 4;
-
-_LIT( KResorcePathFolder, "\\resource\\");
-_LIT( KResorcePathFile, "WPGeneralXMPPSettingsAdapter.rsc");
-
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// -----------------------------------------------------------------------------
-// CXMPPAdapter::CXMPPAdapter
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CXMPPAdapter::CXMPPAdapter() : iIsAppIdOk(EFalse)
- {
- LOGGER ( TXT ( "CXMPPAdapter::CXMPPAdapter() Start" ) );
- LOGGER ( TXT ( "CXMPPAdapter::CXMPPAdapter() Start" ) );
-
- }
-
-// -----------------------------------------------------------------------------
-// CXMPPAdapter::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CXMPPAdapter::ConstructL()
- {
- LOGGER ( TXT ( "CXMPPAdapter::ConstructL() Start" ) );
- iSnapId = 11;
- iAppref = NULL;
- iAppName = NULL;
- RFs fs;
-
- TFileName resFilePath;
- resFilePath.Zero();
- resFilePath.Append( KResorcePathFolder() );
- resFilePath.Append( KResorcePathFile() );
-
- LOGGER ( TXT ( "CXMPPAdapter::ConstructL() End1" ) );
- TFileName path;
- Dll::FileName( path );
-
- User::LeaveIfError( fs.Connect() );
-
- TDriveName drive( TParsePtrC( path ).Drive() );
-
- HBufC* resourceFilePath = HBufC::NewLC( KMaxFileName );
- TPtr ptr( resourceFilePath->Des() );
-
-
- ptr.Append( resFilePath );
- ptr.Insert( 0, drive );
-
- path.Zero();
- path.Append( *resourceFilePath );
-
-
- BaflUtils::NearestLanguageFile( fs, path );
- iResFile.OpenL( fs, path );
- //To decide on whether default name is needed or not
- iDefaultName = ReadResourceL( R_QTN_IPCOMM_MSG_TEXT );
- iTitle = ReadResourceL( R_QTN_IPCOMM_MSG_TITLE );
-
- CleanupStack::PopAndDestroy(); //resourceFilePath
- iResFile.Close();
-
- LOGGER ( TXT ( "CXMPPAdapter::ConstructL() End" ) );
-
-
- fs.Close();
- }
-
-// -----------------------------------------------------------------------------
-// CXMPPAdapter::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXMPPAdapter* CXMPPAdapter::NewL()
- {
- LOGGER ( TXT ( "CXMPPAdapter::NewL() Start" ) );
- CXMPPAdapter* self = new( ELeave ) CXMPPAdapter;
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- LOGGER ( TXT ( "CXMPPAdapter::NewL() End" ) );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CXMPPAdapter::~CXMPPAdapter
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CXMPPAdapter::~CXMPPAdapter()
- {
- LOGGER ( TXT ( "CXMPPAdapter::~CXMPPAdapter Start" ) );
- delete iUserName;
- delete iPassword;
- delete iProviderId;
- delete iXmppServerAddress;
- delete iProtocol;
- delete iAppId;
- delete iDomainName;
- delete iBrandId;
- delete iAppref;
-
- if ( iAppName )
- delete iAppName;
-
- delete iDefaultName;
- delete iTitle;
- LOGGER ( TXT ( "CXMPPAdapter::~CXMPPAdapter End" ) );
- }
-// -----------------------------------------------------------------------------
-// CXMPPAdapter::ReadResourceLC Reads the resource without having to use a CCoeEnv
-// -----------------------------------------------------------------------------
-//
-HBufC* CXMPPAdapter::ReadResourceL( TInt aId )
- {
- LOGGER ( TXT ( "CXMPPAdapter::ReadResourceL() " ) );
- iResFile.ConfirmSignatureL( aId );
- HBufC8* readBuffer = iResFile.AllocReadLC( aId );
- TResourceReader theReader;
- theReader.SetBuffer( readBuffer );
- TPtrC textData = theReader.ReadTPtrC();
-
- HBufC* textBuffer = HBufC::NewL( textData.Length() );
- *textBuffer = textData;
-
- CleanupStack::PopAndDestroy( readBuffer );
- LOGGER ( TXT ( "CXMPPAdapter::ReadResourceL() " ) );
- return textBuffer;
-
- }
-// -----------------------------------------------------------------------------
-// CXMPPAdapter::ItemCount
-// -----------------------------------------------------------------------------
-//
-TInt CXMPPAdapter::ItemCount() const
- {
- LOGGER ( TXT ( "CXMPPAdapter::ItemCount() " ) );
- // SummaryTitle(), SummaryText(), SaveL(), SetAsDefaultL() and
- // CanSetAsDefault() are called ItemCount() times
- return (iUserName && iPassword && iProviderId && iXmppServerAddress && iDomainName && iProtocol) ? 1 : 0;
- }
-
-
-// -----------------------------------------------------------------------------
-// CXMPPAdapter::DetailsL
-// -----------------------------------------------------------------------------
-//
-TInt CXMPPAdapter::DetailsL( TInt /*aItem*/, MWPPairVisitor& /*aVisitor*/ )
- {
- LOGGER ( TXT ( "CXMPPAdapter::DetailsL() " ) );
- // Detail view is a feature for later release.
- return KErrNotSupported;
- }
-
-// -----------------------------------------------------------------------------
-// CXMPPAdapter::SaveL
-// -----------------------------------------------------------------------------
-//
-void CXMPPAdapter::SaveL( TInt /*aItem*/ )
- {
- LOGGER ( TXT ( "CXMPPAdapter::CanSetAsDefault() Start" ) );
-
- __ASSERT_DEBUG( (iUserName && iPassword && iProviderId && iXmppServerAddress && iDomainName && iProtocol), User::Leave( KErrCorrupt ) );
-
- CreateSettingsRecordL();
- LOGGER ( TXT ( "CXMPPAdapter::CanSetAsDefault() End" ) );
- }
-
-// -----------------------------------------------------------------------------
-// CXMPPAdapter::CanSetAsDefault
-// -----------------------------------------------------------------------------
-//
-TBool CXMPPAdapter::CanSetAsDefault( TInt /*aItem*/ ) const
- {
- LOGGER ( TXT ( "CXMPPAdapter::CanSetAsDefault() t" ) );
- return EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CXMPPAdapter::SetAsDefault
-// -----------------------------------------------------------------------------
-//
-void CXMPPAdapter::SetAsDefaultL( TInt /*aItem*/ )
- {
- LOGGER ( TXT ( "CXMPPAdapter::SetAsDefaultL () Start" ) );
- // This shouldn't be called because CanSetAsDefault
- // always returns EFalse.
- LOGGER ( TXT ( "CXMPPAdapter::SetAsDefaultL() End" ) );
- }
-
-// -----------------------------------------------------------------------------
-// CXMPPAdapter::VisitL
-// -----------------------------------------------------------------------------
-//
-void CXMPPAdapter::VisitL( CWPCharacteristic& aCharacteristic )
- {
- LOGGER ( TXT ( "CXMPPAdapter::VisitL( CWPCharacteristic& aCharacteristic ) Start" ) );
- switch( aCharacteristic.Type() )
- {
- case KWPApplication:
- {
-
- aCharacteristic.AcceptL( *this );
- iIsAppIdOk = ETrue;
- break;
- }
- case KWPResource:
- {
- if ( 0 == iAppIdPtr.Compare( KMecoImAppID() ) )
- {
- aCharacteristic.AcceptL( *this );
- }
- break;
- }
- case KWPAppAddr:
- {
-
- if ( 0 == iAppIdPtr.Compare( KMecoImAppID() ) )
- {
- aCharacteristic.AcceptL( *this );
- }
- break;
- }
- default:
- {
- break;
- }
- }
- LOGGER ( TXT ( "CXMPPAdapter::VisitL( CWPCharacteristic& aCharacteristic ) End" ) );
- }
-
-// -----------------------------------------------------------------------------
-// CXMPPAdapter::VisitL
-//
-// Used to parse, the following always-on related provisioning settings
-//
-// <characteristic type="VENDORCONFIG">
-// <parm name="NAME" value="MRBLOBBY"/>
-// <parm name="AWON-PDPC" value="11"/>
-// <parm name="T-RETRY" value="100"/>
-// </characteristic>
-// </characteristic>
-// -----------------------------------------------------------------------------
-//
-void CXMPPAdapter::VisitL( CWPParameter& aParameter )
- {
- LOGGER ( TXT ( "CXMPPAdapter::VisitL( CWPParameter& aParameter ) Start" ) );
- switch( aParameter.ID() )
- {
- case EWPNamedParameter:
- {
- if ( 0 == iAppIdPtr.Compare( KMecoImAppID() ) )
- {
- if(aParameter.Name().Compare(KSsl) == 0)
- {
- ParseIntegerL(aParameter.Value(),iSSL);
- }
- if(aParameter.Name().Compare(KPortNbr) == 0)
- {
- ParseIntegerL(aParameter.Value(),iPortNbr);
- }
- if(aParameter.Name().Compare(KBrandId) == 0)
- {
- if (iBrandId)
- {
- delete iBrandId;
- iBrandId = NULL;
- }
- iBrandId = aParameter.Value().AllocL();
- }
- }
- break;
- }
- case EWPParameterName:
- {
- if ( iAppName )
- {
- delete iAppName;
- iAppName = NULL;
- }
- iAppName = aParameter.Value().AllocL();
- break;
- }
-
- case EWPParameterAppID:
- {
- if (iAppId)
- {
- delete iAppId;
- iAppId = NULL;
- }
- iAppId = aParameter.Value().AllocL();
- iAppIdPtr.Set(iAppId->Des());
- break;
- }
-
- case EWPParameterAProtocol:
- {
- if ( 0 == iAppIdPtr.Compare( KMecoImAppID() ) )
- {
- if (iProtocol)
- {
- delete iProtocol;
- iProtocol = NULL;
- }
- iProtocol = aParameter.Value().AllocL();
- }
- break;
- }
- case EWPParameterAddr:
- {
- if ( 0 == iAppIdPtr.Compare( KMecoImAppID() ) )
- {
- if (iXmppServerAddress)
- {
- delete iXmppServerAddress;
- iXmppServerAddress = NULL;
- }
- iXmppServerAddress = aParameter.Value().AllocL();
- }
- break;
- }
- case EWPParameterAAuthName:
- {
- if ( 0 == iAppIdPtr.Compare( KMecoImAppID() ) )
- {
-
- if (iUserName)
- {
- delete iUserName;
- iUserName = NULL;
- }
- iUserName = aParameter.Value().AllocL();
- }
- break;
- }
- case EWPParameterAAuthSecret:
- {
- if ( 0 == iAppIdPtr.Compare( KMecoImAppID() ) )
- {
- if (iPassword)
- {
- delete iPassword;
- iPassword = NULL;
- }
-
- iPassword = aParameter.Value().AllocL();
- }
- break;
- }
-
- case EWPParameterProviderID:
- {
- if ( 0 == iAppIdPtr.Compare( KMecoImAppID() ) )
- {
- if (iProviderId)
- {
- delete iProviderId;
- iProviderId = NULL;
- }
-
- iProviderId = aParameter.Value().AllocL();
- }
- break;
- }
- case EWPParameterDomain :
- {
- if ( 0 == iAppIdPtr.Compare( KMecoImAppID() ) )
- {
- if (iDomainName)
- {
- delete iDomainName;
- iDomainName = NULL;
- }
-
- iDomainName = aParameter.Value().AllocL();
- }
- break;
- }
- case EWPParameterAppRef:
- {
- if ( 0 == iAppIdPtr.Compare( KMecoImAppID() ) )
- {
- if (iAppref)
- {
- delete iAppref;
- iAppref = NULL;
- }
- iAppref= aParameter.Value().AllocL();
- }
- break;
- }
- default:
- break;
- }
- LOGGER ( TXT ( "CXMPPAdapter::VisitL( CWPParameter& aParameter ) End" ) );
- }
-
-
-// ---------------------------------------------------------------------------
-// From class CWPAdapter.
-// CWPGeneralVoIPSettingsAdapter::SummaryTitle
-// Returns the summary title of general XMPP settings item.
-// ---------------------------------------------------------------------------
-//
-const TDesC16& CXMPPAdapter::SummaryTitle(
- TInt /*aIndex*/ ) const
- {
- LOGGER ( TXT ( "CXMPPAdapter::SummaryText() " ) );
- if ( iIsAppIdOk )
- {
- LOGGER ( TXT ( "returning CXMPPAdapter::SummaryText() " ) );
- //LOGGER ( TXT ( "CXMPPAdapter::ConstructL() Title in SummaryText is %s" ), *iTitle );
- return *iTitle;
- }
- return KNullDesC16;
- }
-
-// ---------------------------------------------------------------------------
-// CWPGeneralVoIPSettingsAdapter::SummaryText
-// From class CWPAdapter.
-// Returns the summary text of general XMPP settings.
-// ---------------------------------------------------------------------------
-//
-const TDesC16& CXMPPAdapter::SummaryText(
- TInt /*aIndex*/ ) const
- {
- LOGGER ( TXT ( "CXMPPAdapter::SummaryText() " ) );
- if ( iIsAppIdOk )
- {
- LOGGER ( TXT ( " returnign CXMPPAdapter::SummaryText() " ) );
- if ( NULL == iAppName )
- {
- return *iDefaultName;
- }
- return *iAppName;
- }
- LOGGER ( TXT ( "CXMPPAdapter::SummaryText() " ) );
- return KNullDesC16;
- }
-
-
-// -----------------------------------------------------------------------------
-// CXMPPAdapter::VisitLinkL
-// -----------------------------------------------------------------------------
-//
-void CXMPPAdapter::VisitLinkL( CWPCharacteristic& /*aCharacteristic*/ )
- {
- LOGGER ( TXT ( "CXMPPAdapter::VisitLinkL() " ) );
- }
-
-// -----------------------------------------------------------------------------
-// CXMPPAdapter::ParseIntegerL
-// -----------------------------------------------------------------------------
-//
-void CXMPPAdapter::ParseIntegerL( const TDesC& aPtr, TInt& aInt )
- {
- LOGGER ( TXT ( "CXMPPAdapter::ParseIntegerL " ) );
- TLex lex( aPtr );
- User::LeaveIfError( lex.Val( aInt ) );
- }
-// -----------------------------------------------------------------------------
-// CXMPPAdapter::CheckforXmppserviceL
-// This function will check for the IM Subservice in sp settings table
-// if it exists in any of the service it will return ETrue else it will return EFalse
-// -----------------------------------------------------------------------------
-//
-TBool CXMPPAdapter::CheckforXmppserviceL()
- {
- // get the existing services from sp settings table
- CSPSettings* serviceSettings = CSPSettings::NewLC();
- RIdArray serviceIds;
- User::LeaveIfError( serviceSettings->FindServiceIdsL( serviceIds ) );
- TBool xmppexists = EFalse;
- TInt servicecount = serviceIds.Count();
- for ( TInt i( 0 ); i < servicecount; i++ )
- {
- CSPProperty* property = CSPProperty::NewLC();
- TInt err = serviceSettings->FindPropertyL( serviceIds[ i ],EPropertyIMSubServicePluginId,
- *property );
- CleanupStack::PopAndDestroy( property );
- if(!err)
- {
- xmppexists = ETrue;
- break; // just to break the loop
- }
- }
- CleanupStack::PopAndDestroy( serviceSettings );
- return xmppexists;
-
- }
-//------------------------------------------------------------------------
-//CXMPPAdapter::::CreateSettingsRecordL()
-//------------------------------------------------------------------------
-void CXMPPAdapter::CreateSettingsRecordL()
- {
- LOGGER ( TXT ( "CXMPPAdapter::CreateSettingsRecordL() Start" ) );
- CXmppSettingsApi* sapi = CXmppSettingsApi::NewLC();
- iSettingsRecordId=0;
- TRAPD(err,sapi->DefaultSettingsRecordL(iSettingsRecordId));
- if( err == KErrNone && iSettingsRecordId > 0)
- {
- if(CheckforXmppserviceL())
- {
- CleanupStack::PopAndDestroy( sapi );
- User::Leave(KErrNotSupported);
- }
- }
- sapi->CreateSettingsRecordL( iSettingsRecordId );
-
- sapi->SetParamL( iSettingsRecordId,XmppParams::KXmppParamServerPort(),/*5223 443*/ iPortNbr);
-
- sapi->SetParamL( iSettingsRecordId, XmppParams::KXmppParamHttpsProxyServerPort(),8080 );
-
- sapi->SetParamL( iSettingsRecordId,XmppParams::KXmppParamSnapId(),5 );
-
- sapi->SetParamL( iSettingsRecordId, XmppParams:: KXmppParamXmppServerAddress(),
- *iXmppServerAddress );
-
- sapi->SetParamL( iSettingsRecordId,XmppParams::KXmppParamUsername(),*iUserName );
-
- sapi->SetParamL( iSettingsRecordId,XmppParams::KXmppParamPassword(),*iPassword );
-
- sapi->SetParamL( iSettingsRecordId,XmppParams::KXmppParamResource(),
- _L("gtalk_resource") );
-
- sapi->SetParamL( iSettingsRecordId,XmppParams::KXmppParamHttpsProxyServerAddress(),
- _L("172.16.42.135") );
-
- sapi->SetParamL( iSettingsRecordId,XmppParams::KXmppParamAlais(), _L("") );
-
- sapi->SetParamL( iSettingsRecordId,XmppParams::KXmppParamOldSSLRequired(),/*ETrue EFalse */ iSSL );
- sapi->SetParamL( iSettingsRecordId, XmppParams::KXmppParamRegisterRequired(),EFalse );
-
- sapi->SetParamL( iSettingsRecordId,
- XmppParams::KXmppParamConnMgrBus(),
- _L("org.freedesktop.Telepathy.ConnectionManager.gabble" ) );
-
- sapi->SetParamL( iSettingsRecordId,
- XmppParams::KXmppParamConnMgrPath(),
- _L("/org/freedesktop/Telepathy/ConnectionManager/gabble" ) );
-
- sapi->SetParamL( iSettingsRecordId,XmppParams::KXmppParamProtocol(),*iProtocol );
-
- sapi->SetParamL( iSettingsRecordId, XmppParams::KXmppParamPresenceStatusFreeTextOnline(),
- _L("") );
-
- sapi->SetParamL( iSettingsRecordId, XmppParams::KXmppParamPresenceStatusFreeTextAway(),
- _L(""));
-
- sapi->SetParamL( iSettingsRecordId, XmppParams::KXmppParamPresenceStatusFreeTextBusy(),
- _L(""));
-
- sapi->SetParamL( iSettingsRecordId, XmppParams::KXmppParamPresenceStatusFreeTextOffline(),
- _L(""));
-
- sapi->SetParamL( iSettingsRecordId, XmppParams::KXmppParamPresenceStatusFreeTextInvisible(),
- _L(""));
-
- sapi->SetParamL( iSettingsRecordId, XmppParams::KXmppParamLastLoggedInUserName(),
- _L(""));
-
- sapi->SetParamL( iSettingsRecordId,XmppParams::KXmppParamPresenceStatus(),0 );
-
- sapi->SetParamL( iSettingsRecordId,XmppParams::KXmppParamAutoAcceptBuddyReq(),EFalse );
-
- sapi->SetParamL( iSettingsRecordId,XmppParams::KXmppParamDomain(),*iDomainName );
- UpdateServiceSettingsL();
-
- WriteAppSettingsL();
- CleanupStack::PopAndDestroy( sapi );
- LOGGER ( TXT ( "CXMPPAdapter::CreateSettingsRecordL() End" ) );
- }
-
-// ---------------------------------------------------------------------------
-//CXMPPAdapter::UpdateServiceSettingsL
-// ---------------------------------------------------------------------------
-//
-void CXMPPAdapter::UpdateServiceSettingsL()
- {
- LOGGER ( TXT ( "CXMPPAdapter::UpdateServiceSettingsL() Start" ) );
- CSPSettings* serviceSettings = CSPSettings::NewLC();
- RIdArray serviceIds;
-
- User::LeaveIfError( serviceSettings->FindServiceIdsL( serviceIds ) );
-
-
-
- if( serviceIds.Count() )
- {
- CDesCArrayFlat* serviceNames = new( ELeave ) CDesCArrayFlat( KGranularity );
- CleanupStack::PushL( serviceNames );
-
- User::LeaveIfError( serviceSettings->FindServiceNamesL( serviceIds,
- *serviceNames) );
-
- for ( TInt i=0; i < serviceNames->MdcaCount(); i++ )
- {
- if ( ( serviceNames->MdcaPoint(i)).Compare( *iProviderId ) == 0 )
- {
-
- iServiceProviderId = serviceIds[i];
- break;
- }
- }
- CleanupStack::PopAndDestroy( serviceNames );
- }
-
- if ( 0 >= iServiceProviderId )
- {
-
- CSPEntry* entry = CSPEntry::NewLC();
- entry->SetServiceName( *iProviderId );
- TInt entryRetvalue = serviceSettings->AddEntryL( *entry );
- User::LeaveIfError( entryRetvalue );
- iServiceProviderId = entry->GetServiceId();
- CleanupStack::PopAndDestroy( entry );
- }
-
-
- // Add/Update properties
- CSPProperty* property = CSPProperty::NewLC();
-
-
- property->SetName( ESubPropertyIMLaunchUid );
- property->SetValue( 0x200255D0 );
-
- User::LeaveIfError( serviceSettings->AddOrUpdatePropertyL( iServiceProviderId,
- *property ) );
-
-
- property->SetName( EPropertyContactViewPluginId );
- property->SetValue( 0x20012423 ); // plugin view id
-
- User::LeaveIfError( serviceSettings->AddOrUpdatePropertyL( iServiceProviderId,
- *property ) );
-
-
- property->SetName( ESubPropertyIMSettingsId );
- property->SetValue( iSettingsRecordId );
-
- User::LeaveIfError( serviceSettings->AddOrUpdatePropertyL( iServiceProviderId,
- *property ) );
-
-
-
- property->SetName( EPropertyIMSubServicePluginId );
- property->SetValue( KIMConnectivityPluginImplUid );
-
- User::LeaveIfError( serviceSettings->AddOrUpdatePropertyL( iServiceProviderId,
- *property ) );
-
-
- property->SetName( ESubPropertyIMPreferredIAPId );
- property->SetValue( iSnapId );
-
- User::LeaveIfError( serviceSettings->AddOrUpdatePropertyL( iServiceProviderId,
- *property ) );
-
-
-
- property->SetName( ESubPropertyIMPreferredSNAPId );
- property->SetValue( iSnapId );
-
- User::LeaveIfError( serviceSettings->AddOrUpdatePropertyL( iServiceProviderId,
- *property ) );
-
-
- property->SetName( ESubPropertyIMEnabled );
- property->SetValue( EOff );
-
- User::LeaveIfError( serviceSettings->AddOrUpdatePropertyL( iServiceProviderId,
- *property ) );
-
- RBuf brandId;
- if( iBrandId )
- {
- brandId.CreateL(*iBrandId );
- }
- else
- {
- brandId.CreateL(KNullDesC);
- }
- CleanupClosePushL( brandId );
- property->SetName( EPropertyBrandId );
- property->SetValue( brandId );
-
- User::LeaveIfError( serviceSettings->AddOrUpdatePropertyL( iServiceProviderId,
- *property ) );
- CleanupStack::PopAndDestroy( &brandId );
-
-
- property->SetName( EPropertyBrandLanguage );
-
- // ELangInternationalEnglish is selected as Default Brand Language Id.
- property->SetValue( ELangInternationalEnglish );
-
- User::LeaveIfError( serviceSettings->AddOrUpdatePropertyL( iServiceProviderId,
- *property ) );
-
-
- RBuf contactDB;
- TBuf <50> string;
- // The store name should be service specific, and not hardcoded, hence we use iServiceProviderId to form uniqueness.
- string.Format(_L("cntdb://c:vimpststore%d.cdb"), iServiceProviderId);
- contactDB.CreateL (string);
- CleanupClosePushL( contactDB );
- property->SetName( EPropertyContactStoreId );
- property->SetValue( contactDB );
-
- User::LeaveIfError( serviceSettings->AddOrUpdatePropertyL( iServiceProviderId,
- *property ) );
- CleanupStack::PopAndDestroy( &contactDB );
-
- /*PresenceSubservice*/
- property->SetName( ESubPropertyPresenceSettingsId );
- property->SetValue( iSettingsRecordId );
-
- User::LeaveIfError( serviceSettings->AddOrUpdatePropertyL( iServiceProviderId,
- *property ) );
-
-
-
- property->SetName( EPropertyPresenceSubServicePluginId );
- property->SetValue( KIMConnectivityPluginImplUid );
-
- User::LeaveIfError( serviceSettings->AddOrUpdatePropertyL( iServiceProviderId,
- *property ) );
-
-
- property->SetName( ESubPropertyPresencePreferredIAPId );
- property->SetValue( iSnapId );
-
- User::LeaveIfError( serviceSettings->AddOrUpdatePropertyL( iServiceProviderId,
- *property ) );
-
-
-
- property->SetName( ESubPropertyPresencePreferredSNAPId );
- property->SetValue( iSnapId );
-
- User::LeaveIfError( serviceSettings->AddOrUpdatePropertyL( iServiceProviderId,
- *property ) );
-
-
- property->SetName( ESubPropertyPresenceEnabled );
- property->SetValue( EOff );
-
- User::LeaveIfError( serviceSettings->AddOrUpdatePropertyL( iServiceProviderId,
- *property ) );
-
-
-
- property->SetName( EPropertyPCSPluginId );
- property->SetValue( 0x101FB3E7 );
-
- User::LeaveIfError( serviceSettings->AddOrUpdatePropertyL( iServiceProviderId,
- *property ) );
-
- property->SetName( ESubPropertyPresenceAddrScheme );
- property->SetValue( *iDomainName );
-
- User::LeaveIfError( serviceSettings->AddOrUpdatePropertyL( iServiceProviderId,
- *property ) );
-
- //End of Presence Subservice
-
- CleanupStack::PopAndDestroy( property );
- CleanupStack::PopAndDestroy( serviceSettings );
- LOGGER ( TXT ( "CXMPPAdapter::UpdateServiceSettingsL() End" ) );
- }
-
-// ---------------------------------------------------------------------------
-//CXMPPAdapter::WriteAppSettingsL
-// ---------------------------------------------------------------------------
-//
-void CXMPPAdapter::WriteAppSettingsL()
- {
- MVIMPSTSettingsStore* settingsStore = CVIMPSTSettingsStore::NewLC();
- // write cancel login not supported : since xmpp doesnot have the support
- settingsStore->SetL( iServiceProviderId , EServiceCancelLoginNotSupported , 1 );
- // write change connection not supported : since xmpp doesnot have the support
- settingsStore->SetL( iServiceProviderId , EServiceChangeConnectionNotSupported , 1 );
- CleanupStack::PopAndDestroy();//settingStore
- }
-// End of File