diff -r e6e896426eac -r 2691f6aa1921 omads/omadsappui/AspSyncUtil/src/AspUtil.cpp --- a/omads/omadsappui/AspSyncUtil/src/AspUtil.cpp Tue Feb 02 00:02:49 2010 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2749 +0,0 @@ -/* -* Copyright (c) 2002-2005 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: -* -*/ - - - - -// INCLUDES - -#include -#include -#include -#include // BaflUtils -#include // for application ids -#include // for TCollationMethod - -#include // FeatureManager -#include // CApUtils -#include -#include // HlpLauncher - -#include // for MsvUiServiceUtilities - - -#include "AspUtil.h" -#include "AspDialogUtil.h" -#include "AspResHandler.h" -#include "AspDebug.h" -#include - -#include // sync error codes - -//#ifdef __SAP_POLICY_MANAGEMENT -#include // VSettingEnforcementInfo -//#endif - - - - - -/****************************************************************************** - * class TAspParam - ******************************************************************************/ - - -// ------------------------------------------------------------------------------- -// TAspParam::TAspParam -// -// ------------------------------------------------------------------------------- -// -TAspParam::TAspParam(TInt aApplicationId) - : iApplicationId(aApplicationId), iProfileId(KErrNotFound), iMode(KErrNotFound), - iId(KErrNotFound), iReturnValue(KErrNotFound), iDataProviderId(KErrNotFound), - iSyncTaskId(KErrNotFound), iProfile(NULL), - iSyncTask(NULL), iSyncFilter(NULL), iSyncSession(NULL), - iProfileList(NULL), iContentList(NULL), iSchedule(NULL) - { - } - - -// ------------------------------------------------------------------------------- -// TAspParam::TAspParam -// -// ------------------------------------------------------------------------------- -// -TAspParam::TAspParam(TInt aApplicationId, RSyncMLSession* aSyncSession) - : iApplicationId(aApplicationId), iProfileId(KErrNotFound), iMode(KErrNotFound), - iId(KErrNotFound), iReturnValue(KErrNotFound), iDataProviderId(KErrNotFound), - iSyncTaskId(KErrNotFound), iProfile(NULL), - iSyncTask(NULL), iSyncFilter(NULL), iSyncSession(aSyncSession), - iProfileList(NULL), iContentList(NULL), iSchedule(NULL) - { - } - - - -/****************************************************************************** - * class TAspUtil - ******************************************************************************/ - - -// ------------------------------------------------------------------------------- -// TUtil::Panic -// -// ------------------------------------------------------------------------------- -// -void TUtil::Panic(TInt aReason) - { - _LIT(KPanicCategory,"AspSyncUtil"); - - User::Panic(KPanicCategory, aReason); - } - - -// ------------------------------------------------------------------------------- -// TUtil::StrCopy -// -// String copy with lenght check. -// ------------------------------------------------------------------------------- -// -void TUtil::StrCopy(TDes8& aTarget, const TDesC& aSource) - { - TInt len = aTarget.MaxLength(); - if(len < aSource.Length()) - { - aTarget.Copy(aSource.Left(len)); - return; - } - aTarget.Copy(aSource); - } - -// ------------------------------------------------------------------------------- -// TUtil::StrCopy -// -// String copy with lenght check. -// ------------------------------------------------------------------------------- -// -void TUtil::StrCopy(TDes& aTarget, const TDesC8& aSource) - { - TInt len = aTarget.MaxLength(); - if(len < aSource.Length()) - { - aTarget.Copy(aSource.Left(len)); - return; - } - aTarget.Copy(aSource); - } - - -// ------------------------------------------------------------------------------- -// TUtil::StrCopy -// -// String copy with lenght check. -// ------------------------------------------------------------------------------- -// -void TUtil::StrCopy(TDes& aTarget, const TDesC& aSource) - { - TInt len = aTarget.MaxLength(); - if(len < aSource.Length()) - { - aTarget.Copy(aSource.Left(len)); - return; - } - aTarget.Copy(aSource); - } - -//-------------------------------------------------------------------------------- -//TUtil::StrConversion -// -//Convert TBuf to HBuf -//-------------------------------------------------------------------------------- -// -HBufC* TUtil::StrConversion(const TDesC& aDefaultText) -{ - return aDefaultText.AllocLC(); - } - - -// ------------------------------------------------------------------------------- -// TUtil::StrAppend -// -// ------------------------------------------------------------------------------- -// -void TUtil::StrAppend(TDes& aTarget, const TDesC& aSource) -{ - if (aSource.Length() == 0) - { - return; - } - - TInt free = aTarget.MaxLength() - aTarget.Length(); - if (aSource.Length() < free) - { - aTarget.Append(aSource); - } -} - - -// ------------------------------------------------------------------------------- -// TUtil::StrInsert -// -// ------------------------------------------------------------------------------- -// -void TUtil::StrInsert(TDes& aTarget, const TDesC& aSource) -{ - TInt free = aTarget.MaxLength() - aTarget.Length(); - if (aSource.Length() < free) - { - aTarget.Insert(0, aSource); - } -} - - -// ------------------------------------------------------------------------------- -// TUtil::StrToInt -// -// ------------------------------------------------------------------------------- -// -TInt TUtil::StrToInt(const TDesC& aText, TInt& aNum) - { - TLex lex(aText); - - TInt err=lex.Val(aNum); - return err; - } - - -// ------------------------------------------------------------------------------- -// TUtil::IsEmpty -// -// Function returns ETrue if string only contains white space or has no characters. -// ------------------------------------------------------------------------------- -// -TBool TUtil::IsEmpty(const TDesC& aText) - { - TInt len=aText.Length(); - for (TInt i=0; i aLength) - { - TBuf buf(aOneCharStr); - aTarget.Fill(buf[0], aLength); - } - } - - -// ----------------------------------------------------------------------------- -// TUtil::AddResFileL -// -// ----------------------------------------------------------------------------- -// -TInt TUtil::AddResFileL(const TDesC& aFile) - { - CEikonEnv* env = CEikonEnv::Static(); - - TFileName fileName(aFile); - - BaflUtils::NearestLanguageFile(env->FsSession(), fileName); - - return env->AddResourceFileL(fileName); - } - - -// ----------------------------------------------------------------------------- -// TUtil::IsValidAppId -// -// ----------------------------------------------------------------------------- -// -TBool TUtil::IsValidAppId(TInt aApplicationId) - { - TInt id = aApplicationId; - - if (id == EApplicationIdSync || id == EApplicationIdContact || - id == EApplicationIdCalendar || id == EApplicationIdEmail || - id == EApplicationIdNote || id == EApplicationIdMms) - { - return ETrue; - } - - return EFalse; - } - - -// ----------------------------------------------------------------------------- -// TUtil::IsValidSID -// -// ----------------------------------------------------------------------------- -// -TBool TUtil::IsValidSID(TInt aSid) - { - TInt id = aSid; - - if (id == KUidAppSync.iUid || id == KUidAppPhonebook.iUid || - id == KUidAppCalendar.iUid || id == KUidAppMessages.iUid || - id == KUidAppNotepad.iUid || id == KUidAppTest.iUid || - id == KUidAppMailEditor.iUid) - { - return ETrue; - } - - return EFalse; - } - - -// ----------------------------------------------------------------------------- -// TUtil::ProviderIdFromAppId -// -// ----------------------------------------------------------------------------- -// -TInt TUtil::ProviderIdFromAppId(TInt aApplicationId) - { - TInt id=KErrNotFound; - - switch (aApplicationId) - { - case EApplicationIdContact: - id = KUidNSmlAdapterContact.iUid; - break; - case EApplicationIdCalendar: - id = KUidNSmlAdapterCalendar.iUid; - break; - case EApplicationIdEmail: - id = KUidNSmlAdapterEMail.iUid; - break; - case EApplicationIdNote: - id = KUidNSmlAdapterNote.iUid; - break; - default: - id = KErrNotFound; - break; - } - - return id; - } - - -// ----------------------------------------------------------------------------- -// TUtil::AppIdFromProviderId -// -// ----------------------------------------------------------------------------- -// -TInt TUtil::AppIdFromProviderId(TInt aAdapterId) - { - TInt id=KErrNotFound; - - if (aAdapterId == KUidNSmlAdapterContact.iUid) - { - id = EApplicationIdContact; - } - if (aAdapterId == KUidNSmlAdapterCalendar.iUid) - { - id = EApplicationIdCalendar; - } - if (aAdapterId == KUidNSmlAdapterEMail.iUid) - { - id = EApplicationIdEmail; - } - if (aAdapterId == KUidNSmlAdapterNote.iUid) - { - id = EApplicationIdNote; - } - - return id; - } - - -// ----------------------------------------------------------------------------- -// TUtil::IsToDay -// -// ----------------------------------------------------------------------------- -// -TBool TUtil::IsToday(TTime aTime) - { - TTime now; - now.HomeTime(); - - TInt day1 = now.DayNoInYear(); - TInt day2 = aTime.DayNoInYear(); - - TDateTime date1 = now.DateTime(); - TDateTime date2 = aTime.DateTime(); - - - TTimeIntervalDays daysBetween = now.DaysFrom(aTime); - - if (day1 != day2 || date1.Year() != date2.Year()) - { - return EFalse; - } - - if (daysBetween.Int() > 0) - { - return EFalse; - } - - return ETrue; - } - - -// ----------------------------------------------------------------------------- -// TUtil::SyncTimeLC -// -// ----------------------------------------------------------------------------- -// -HBufC* TUtil::SyncTimeLC(TTime aLastSync) - { - TTime homeTime = ConvertUniversalToHomeTime(aLastSync); - - HBufC* hBuf = HBufC::NewLC(KBufSize255); - TPtr ptr = hBuf->Des(); - - if (IsToday(homeTime)) - { - TBuf timeFormat; - CAspResHandler::ReadL(timeFormat, R_QTN_TIME_USUAL_WITH_ZERO); - homeTime.FormatL(ptr, timeFormat); - } - else - { - TBuf dateFormat; - CAspResHandler::ReadL(dateFormat, R_QTN_DATE_USUAL_WITH_ZERO); - homeTime.FormatL(ptr, dateFormat); - } - - return hBuf; - } - - -// ----------------------------------------------------------------------------- -// TUtil::ConvertUniversalToHomeTime -// -// ----------------------------------------------------------------------------- -// -TTime TUtil::ConvertUniversalToHomeTime(const TTime& aUniversalTime) - { - TTime time(aUniversalTime); // time stores UTC time. - - TLocale locale; - TTimeIntervalSeconds universalTimeOffset(locale.UniversalTimeOffset()); - - // Add locale's universal time offset to universal time. - time += universalTimeOffset; // time stores Local Time. - - // If home daylight saving in effect, add one hour offset. - if (locale.QueryHomeHasDaylightSavingOn()) - { - TTimeIntervalHours daylightSaving(1); - time += daylightSaving; - } - - return time; - } - - -// ----------------------------------------------------------------------------- -// TUtil::GetDateTextL -// -// ----------------------------------------------------------------------------- -// -void TUtil::GetDateTextL(TDes& aText, TTime aDateTime) - { - TTime homeTime = ConvertUniversalToHomeTime(aDateTime); - - HBufC* hBuf = CAspResHandler::ReadLC(R_QTN_DATE_USUAL_WITH_ZERO); - homeTime.FormatL(aText, *hBuf); - CleanupStack::PopAndDestroy(hBuf); - } - - -// ----------------------------------------------------------------------------- -// TUtil::GetTimeTextL -// -// ----------------------------------------------------------------------------- -// -void TUtil::GetTimeTextL(TDes& aText, TTime aDateTime) - { - TTime homeTime = ConvertUniversalToHomeTime(aDateTime); - - HBufC* hBuf = CAspResHandler::ReadLC(R_QTN_TIME_USUAL_WITH_ZERO); - homeTime.FormatL(aText, *hBuf); - CleanupStack::PopAndDestroy(hBuf); - } - - -// ----------------------------------------------------------------------------- -// TUtil::GetDateTimeTextL -// -// ----------------------------------------------------------------------------- -// -void TUtil::GetDateTimeTextL(TDes& aText, TTime aDateTime) - { - TDateTime dt = aDateTime.DateTime(); - aText.Format(_L("%02d.%02d.%04d %02d:%02d:%02d"), dt.Day()+1, dt.Month()+1, dt.Year(), dt.Hour(), dt.Minute(), dt.Second()); - } - - -// ----------------------------------------------------------------------------- -// TUtil::LaunchHelpAppL -// -// ----------------------------------------------------------------------------- -// -void TUtil::LaunchHelpAppL() - { - if (!FeatureManager::FeatureSupported(KFeatureIdHelp)) - { - return; - } - - CEikonEnv* eikEnv = CEikonEnv::Static(); - HlpLauncher::LaunchHelpApplicationL(eikEnv->WsSession(), eikEnv->EikAppUi()->AppHelpContextL()); - } - - -// ----------------------------------------------------------------------------- -// TUtil::LaunchHelpAppL -// -// ----------------------------------------------------------------------------- -// -void TUtil::LaunchHelpAppL(CEikonEnv* aEikonkEnv) - { - if (!FeatureManager::FeatureSupported(KFeatureIdHelp)) - { - return; - } - - CEikonEnv* eikEnv = CEikonEnv::Static(); - HlpLauncher::LaunchHelpApplicationL(aEikonkEnv->WsSession(), - aEikonkEnv->EikAppUi()->AppHelpContextL()); - } - - -// --------------------------------------------------------- -// TUtil::SettingEnforcementStateL -// -// Checks if setting enforcement is activated. -// --------------------------------------------------------- -TBool TUtil::SettingEnforcementStateL() - { - - FeatureManager::InitializeLibL(); - if(!FeatureManager::FeatureSupported(KFeatureIdSapPolicyManagement)) - { - //#ifndef __SAP_POLICY_MANAGEMENT - FeatureManager::UnInitializeLib(); - return EFalse; - //#else -} -else -{ - FeatureManager::UnInitializeLib(); - CSettingEnforcementInfo* info = CSettingEnforcementInfo::NewL(); - CleanupStack::PushL(info); - - TBool active = EFalse; - User::LeaveIfError(info->EnforcementActive(EDataSyncEnforcement, active)); - CleanupStack::PopAndDestroy(info); - - return active; - //#endif -} - - - } - - -// --------------------------------------------------------- -// TUtil::SettingEnforcementState -// -// Checks if setting enforcement is activated. -// --------------------------------------------------------- -TBool TUtil::SettingEnforcementState() - { - TBool ret = EFalse; - - TRAP_IGNORE(ret = SettingEnforcementStateL()); - - return ret; - } - - -// --------------------------------------------------------- -// TUtil::NumberConversionLC -// -// --------------------------------------------------------- -CDesCArray* TUtil::NumberConversionLC(CDesCArray* aList) - { - CDesCArrayFlat* arr = new (ELeave) CDesCArrayFlat(KDefaultArraySize); - CleanupStack::PushL(arr); - - TInt count = aList->Count(); - - for (TInt i=0; i buf((*aList)[i]); - AknTextUtils::DisplayTextLanguageSpecificNumberConversion(buf); - arr->AppendL(buf); - } - - return arr; - } - - - -#ifdef _DEBUG - -// ------------------------------------------------------------------------------- -// TUtil::Print -// -// ------------------------------------------------------------------------------- -// -void TUtil::Print(const TDesC& aText) - { - CEikonEnv::Static()->InfoMsg(aText); - } - - -// ------------------------------------------------------------------------------- -// TUtil::Print -// -// ------------------------------------------------------------------------------- -// -void TUtil::Print(const TDesC& aText, TInt aNum) - { - _LIT(KFormat, "%S (%d)"); - - TBuf buf; - buf.Format(KFormat, &aText, aNum); - CEikonEnv::Static()->InfoMsg(buf); - } - - -// ------------------------------------------------------------------------------- -// TUtil::GetMandatoryFieldText -// -// ------------------------------------------------------------------------------- -// -void TUtil::GetMandatoryFieldText(TDes& aText, TInt aStatus) - { - switch (aStatus) - { - case EMandatoryNoProfileName: - aText = _L("no profile name"); - break; - case EMandatoryNoHostAddress: - aText = _L("no host address"); - break; - case EMandatoryNoContent: - aText = _L("no content"); - break; - case EMandatoryNoLocalDatabase: - aText = _L("no local database"); - break; - case EMandatoryNoRemoteDatabase: - aText = _L("no remote database"); - break; - default: - aText = _L("profile ok"); - break; - } - } - - -// ----------------------------------------------------------------------------- -// TUtil::TimeBefore -// -// Function returns TTime of the current time (needed with function TimeAfter). -// ----------------------------------------------------------------------------- -// -TTime TUtil::TimeBefore() -{ - TTime now; - now.UniversalTime(); - return now; -} - - -// ----------------------------------------------------------------------------- -// TUtil::TimeAfter -// -// Function returns milliseconds passed since aBefore. -// ----------------------------------------------------------------------------- -// -TInt TUtil::TimeAfter(TTime aBefore) -{ - TTime after; - after.UniversalTime(); - TTimeIntervalMicroSeconds microSeconds = after.MicroSecondsFrom(aBefore); - TInt seconds = microSeconds.Int64()/1000; - return seconds; -} - - -// ----------------------------------------------------------------------------- -// TUtil::TimeAfter -// -// ----------------------------------------------------------------------------- -// -void TUtil::TimeAfter(TTime aBefore, const TDesC& aText) - { - TTime after; - after.UniversalTime(); - TTimeIntervalMicroSeconds microSeconds = after.MicroSecondsFrom(aBefore); - - FTRACE( RDebug::Print(_L("%S %d ms"), &aText, microSeconds.Int64()/1000) ); - } - - -// ----------------------------------------------------------------------------- -// TUtil::GetApplicationNameL -// -// ----------------------------------------------------------------------------- -// -void TUtil::GetApplicationName(TDes& aText, TInt aApplicationId) - { - switch (aApplicationId) - { - case EApplicationIdSync: - aText = _L("EApplicationIdSync"); - break; - case EApplicationIdContact: - aText = _L("EApplicationIdContact"); - break; - case EApplicationIdCalendar: - aText = _L("EApplicationIdCalendar"); - break; - case EApplicationIdEmail: - aText = _L("EApplicationIdEmail"); - break; - case EApplicationIdMms: - aText = _L("EApplicationIdMms"); - break; - case EApplicationIdNote: - aText = _L("EApplicationIdNote"); - break; - default: - aText = _L("unknown app"); - break; - } - } - -#endif - - - -/****************************************************************************** - * class TURIParser - ******************************************************************************/ - - -// --------------------------------------------------------- -// TURIParser::TURIParser -// -// --------------------------------------------------------- -TURIParser::TURIParser(const TDesC& aStr) : iOriginalStr(aStr) - { - SkipHttp(); - } - - -// --------------------------------------------------------- -// TURIParser::GetUriWithoutPort -// -// URI format: "http://serveraddress/documentname/" -// --------------------------------------------------------- -void TURIParser::GetUriWithoutPort(TDes& aText) - { - _LIT(KSlash, "/"); - - aText = KNullDesC; - - TPtrC http = ParseHttp(); - TPtrC address = ParseAddress(); - TPtrC document = ParseDocument(); - - TUtil::StrAppend(aText, http); - TUtil::StrAppend(aText, address); - - if (document.Length() > 0) - { - TUtil::StrAppend(aText, KSlash); - TUtil::StrAppend(aText, document); - } - //else if (aText.Length() > 0) - // { - // TUtil::StrAppend(aText, KSlash); - // } - } - - -// --------------------------------------------------------- -// TURIParser::GetUriWithPort -// -// URI format: "http://serveraddress:port/documentname/" -// --------------------------------------------------------- -void TURIParser::GetUriWithPort(TDes& aText, const TInt aPort) - { - _LIT(KColon, ":"); - _LIT(KSlash, "/"); - - aText = KNullDesC; - - TPtrC http = ParseHttp(); - - TPtrC address = ParseAddress(); - - TPtrC document = ParseDocument(); - - TUtil::StrAppend(aText, http); - TUtil::StrAppend(aText, address); - - TBuf buf; - buf.Num(aPort); - TUtil::StrAppend(aText, KColon); - TUtil::StrAppend(aText, buf); - - if (document.Length() > 0) - { - TUtil::StrAppend(aText, KSlash); - TUtil::StrAppend(aText, document); - } - //else if (aText.Length() > 0) - // { - // TUtil::StrAppend(aText, KSlash); - // } - } - - -// --------------------------------------------------------- -// TURIParser::Port -// -// --------------------------------------------------------- -TInt TURIParser::Port() - { - TInt port = KErrNotFound; - - TInt err = ParsePort(port); - if (err != KErrNone) - { - return KErrNotFound; - } - - return port; - } - - -// --------------------------------------------------------- -// TURIParser::DefaultPort -// -// --------------------------------------------------------- -TInt TURIParser::DefaultPort() - { - _LIT(KHttpsHeader, "https://"); - - TInt pos = iOriginalStr.FindF(KHttpsHeader); - if (pos != KErrNotFound) - { - return EDefaultHttpsPort; - } - - return EDefaultHttpPort; - } - - -// --------------------------------------------------------- -// TURIParser::IsValidUri -// -// --------------------------------------------------------- -TBool TURIParser::IsValidUri(const TDesC& aText) - { - _LIT(KHttpHeader, "http://"); - _LIT(KHttpsHeader, "https://"); - - const TInt KHttpLength = 7; - const TInt KHttpsLength = 8; - - // IsValidDomainL this does not accept comma ("http://" fails) - //return MsvUiServiceUtilities::IsValidDomainL(aText); - - if (TUtil::IsEmpty(aText)) - { - return EFalse; - } - - if (aText.Compare(KHttpHeader) == 0) - { - return EFalse; - } - - if (aText.Compare(KHttpsHeader) == 0) - { - return EFalse; - } - - if (aText.Left(KHttpLength).Compare(KHttpHeader) != 0 - && aText.Left(KHttpsLength).Compare(KHttpsHeader) != 0) - { - return EFalse; - } - - return ETrue; - } - -// --------------------------------------------------------- -// TURIParser::IsValidBluetoothHostAddress -// -// --------------------------------------------------------- -TBool TURIParser::IsValidBluetoothHostAddress(const TDesC& aText) - { - _LIT(KHttpHeader, "http://"); - _LIT(KHttpsHeader, "https://"); - - const TInt KHttpLength = 7; - const TInt KHttpsLength = 8; - - // IsValidDomainL this does not accept comma ("http://" fails) - //return MsvUiServiceUtilities::IsValidDomainL(aText); - - if (TUtil::IsEmpty(aText)) - { - return EFalse; - } - - if (aText.Compare(KHttpHeader) == 0) - { - return EFalse; - } - - if (aText.Compare(KHttpsHeader) == 0) - { - return EFalse; - } - - if (aText.Left(KHttpLength).Compare(KHttpHeader) == 0 - || aText.Left(KHttpsLength).Compare(KHttpsHeader) == 0) - { - return EFalse; - } - - return ETrue; - } -// --------------------------------------------------------- -// TURIParser::IsValidPort -// -// --------------------------------------------------------- -TBool TURIParser::IsValidPort(const TInt aPort) - { - if (aPort < TURIParser::EMinURIPortNumber || - aPort > TURIParser::EMaxURIPortNumber) - { - return EFalse; - } - - return ETrue; - } - - -// --------------------------------------------------------- -// TURIParser::SkipHttp -// -// Set pointer to the end of "http://". -// --------------------------------------------------------- -void TURIParser::SkipHttp() - { - TInt start = KErrNotFound; - TInt end = KErrNotFound; - TStr str(iOriginalStr); - - GetHttpPos(start, end); - - if (start != KErrNotFound) - { - iPtr.Set(str.Right(end+1)); - } - else - { - iPtr.Set(str.Right(0)); - } - } - - -// --------------------------------------------------------- -// TURIParser::ParseHttp -// -// --------------------------------------------------------- -TPtrC TURIParser::ParseHttp() - { - TInt start = KErrNotFound; - TInt end = KErrNotFound; - - GetHttpPos(start, end); - - if (start == KErrNotFound) - { - return TPtrC(); - } - - TStr str(iOriginalStr); - return str.SubStr(start, end); - } - - -// --------------------------------------------------------- -// TURIParser::GetHttpPos -// -// --------------------------------------------------------- -void TURIParser::GetHttpPos(TInt& aStartPos, TInt& aEndPos) - { - _LIT(KHttpHeader, "http://"); - _LIT(KHttpsHeader, "https://"); - - aEndPos = KErrNotFound; - - aStartPos = iOriginalStr.FindF(KHttpHeader); - if (aStartPos != KErrNotFound) - { - aEndPos = aStartPos + KHttpHeader().Length() - 1; - return; - } - - aStartPos = iOriginalStr.FindF(KHttpsHeader); - if (aStartPos != KErrNotFound) - { - aEndPos = aStartPos + KHttpsHeader().Length() - 1; - return; - } - } - - -// --------------------------------------------------------- -// TURIParser::ParseAddress -// -// --------------------------------------------------------- -TPtrC TURIParser::ParseAddress() - { - const TChar KSlash('/'); - const TChar KColon(':'); - - TStr str(iPtr); - - TInt firstSlash = str.Find(0, KSlash); - TInt firstcolon = str.Find(0, KColon); - - TBool portFound = EFalse; - if (firstcolon != KErrNotFound) - { - if (firstSlash == KErrNotFound) - { - portFound = ETrue; - } - else if (firstcolon < firstSlash) - { - portFound = ETrue; - } - } - - if (portFound) - { - // address is text before first colon - return str.Left(firstcolon-1); - } - else if (firstSlash != KErrNotFound) - { - // address is text before first slash - return str.Left(firstSlash-1); - } - else - { - // address is all text - return str.Right(0); - } - } - - -// --------------------------------------------------------- -// TURIParser::ParseDocument -// -// --------------------------------------------------------- -TPtrC TURIParser::ParseDocument() - { - const TChar KSlash('/'); - - TStr str(iPtr); - TInt firstSlash = str.Find(0, KSlash); - - if (firstSlash != KErrNotFound) - { - // document is all text after first slash - return str.Right(firstSlash+1); - } - - return TPtrC(); - - } - - -// --------------------------------------------------------- -// TURIParser::ParsePort -// -// --------------------------------------------------------- -TInt TURIParser::ParsePort(TInt& aNumber) - { - TPtrC port = ParsePort(); - if (port.Length() == 0) - { - return KErrNotFound; - } - - return TUtil::StrToInt(port, aNumber); - } - - -// --------------------------------------------------------- -// TURIParser::ParsePort -// -// --------------------------------------------------------- -TPtrC TURIParser::ParsePort() - { - const TChar KSlash('/'); - const TChar KColon(':'); - - TStr str(iPtr); - TInt firstSlash = str.Find(0, KSlash); - TInt firstColon = str.Find(0, KColon); - - if (firstSlash != KErrNotFound) - { - if (firstColon != KErrNotFound && firstColon < firstSlash) - { - // port number is text between colon and slash - return str.SubStrEx(firstColon, firstSlash); - } - } - else - { - if (firstColon != KErrNotFound) - { - // port number is all text after colon - return str.Right(firstColon+1); - } - } - - return TPtrC(); - } - - - - -/****************************************************************************** - * class TStr - ******************************************************************************/ - - -// ----------------------------------------------------------------------------- -// TStr::TStr -// -// C++ default constructor can NOT contain any code, that -// might leave. -// ----------------------------------------------------------------------------- -// -TStr::TStr(const TDesC& aStr) : iStr(aStr) - { - } - - -// ------------------------------------------------------------------------------- -// TStr::Mid -// -// ------------------------------------------------------------------------------- -// -TPtrC TStr::Mid(TInt aPos) - { - TInt len = iStr.Length(); - if ( (aPos < 0) || (aPos >= len) ) - { - return TPtrC(); // return empty descriptor - } - - return iStr.Mid(aPos); - } - - -// ------------------------------------------------------------------------------- -// TStr::Mid -// -// ------------------------------------------------------------------------------- -// -TPtrC TStr::Mid(TInt aPos, TInt aLen) - { - TInt len = iStr.Length(); - if ( (aPos < 0) || (aPos >= len) ) - { - return TPtrC(); - } - if ( (aLen <= 0) || (aPos + aLen > len) ) - { - return TPtrC(); - } - - return iStr.Mid(aPos, aLen); - } - - -// ------------------------------------------------------------------------------- -// TStr::Right -// -// ------------------------------------------------------------------------------- -// -TPtrC TStr::Right(TInt aPos) - { - return Mid(aPos); - } - - -// ------------------------------------------------------------------------------- -// TStr::Left -// -// ------------------------------------------------------------------------------- -// -TPtrC TStr::Left(TInt aPos) - { - TInt len = iStr.Length(); - - if ( (aPos < 0) || (len == 0) ) - { - return TPtrC(); - } - - TInt pos = len; - if ( (aPos + 1) < len ) - { - pos = aPos + 1; - } - - return iStr.Left(pos); - } - - -// ------------------------------------------------------------------------------- -// TStr::SubStr -// -// ------------------------------------------------------------------------------- -// -TPtrC TStr::SubStr(TInt aStartPos, TInt aEndPos) - { - return Mid(aStartPos, aEndPos - aStartPos + 1); - } - - -// ------------------------------------------------------------------------------- -// TStr::SubStrEx -// -// ------------------------------------------------------------------------------- -// -TPtrC TStr::SubStrEx(TInt aStartPos, TInt aEndPos) - { - return Mid(aStartPos + 1, aEndPos - aStartPos - 1); - } - - -// ------------------------------------------------------------------------------- -// TStr::LastPos -// -// ------------------------------------------------------------------------------- -// -TInt TStr::LastPos() - { - return iStr.Length() - 1; - } - - -// ------------------------------------------------------------------------------- -// TStr::Len -// -// ------------------------------------------------------------------------------- -// -TInt TStr::Len() - { - return iStr.Length(); - } - -// ------------------------------------------------------------------------------- -// TStr::Compare -// -// ------------------------------------------------------------------------------- -// -TBool TStr::Compare(TInt aPos, TChar aChar) - { - TInt len = iStr.Length(); - if ( (aPos < 0) || (aPos >= len) ) - { - return EFalse; - } - TChar ch = iStr[aPos]; - if (ch == aChar) - { - return ETrue; - } - return EFalse; - } - - -// ------------------------------------------------------------------------------- -// TStr::Find -// -// ------------------------------------------------------------------------------- -// -TInt TStr::Find(TInt aPos, TChar aChar) - { - TInt len = iStr.Length(); - if ( (aPos < 0) || (aPos >= len) ) - { - return KErrNotFound; - } - - TPtrC ptr(iStr.Mid(aPos)); // move to possition aPos - return ptr.Locate(aChar); - } - - -// ------------------------------------------------------------------------------- -// TStr::Trim -// -// ------------------------------------------------------------------------------- -// -TPtrC TStr::Trim() - { - TInt first = FirstNonSpace(); - TInt last = LastNonSpace(); - - return Mid(first, last - first + 1); - } - - -// ------------------------------------------------------------------------------- -// TStr::FirstNonSpace -// -// ------------------------------------------------------------------------------- -// -TInt TStr::FirstNonSpace() - { - TInt len = Len(); - for (TInt i = 0; i < len; i++) - { - TChar c = iStr[i]; - if (!c.IsSpace()) - { - return i; - } - } - return KErrNotFound; - } - - -// ------------------------------------------------------------------------------- -// TStr::LastNonSpace -// -// ------------------------------------------------------------------------------- -// -TInt TStr::LastNonSpace() - { - TInt last = LastPos(); - for (TInt i = last; i >= 0; i--) - { - TChar c = iStr[i]; - if (!c.IsSpace()) - { - return i; - } - } - return KErrNotFound; - } - - - -/****************************************************************************** - * class TFlag - ******************************************************************************/ - -// ----------------------------------------------------------------------------- -// TFlag::TFlag -// -// C++ default constructor can NOT contain any code, that -// might leave. -// ----------------------------------------------------------------------------- -// -TFlag::TFlag(TUint32& aFlag) : iFlag(aFlag) - { - } - -// ------------------------------------------------------------------------------- -// TFlag::SetOn -// -// ------------------------------------------------------------------------------- -// -void TFlag::SetOn(const TUint32 aValue) - { - iFlag |= aValue; - } - -// ------------------------------------------------------------------------------- -// TFlag::SetOff -// -// ------------------------------------------------------------------------------- -// -void TFlag::SetOff(const TUint32 aValue) - { - iFlag &= ~aValue; - } - -// ------------------------------------------------------------------------------- -// TFlag::IsOn -// -// ------------------------------------------------------------------------------- -// -TBool TFlag::IsOn(const TUint32 aValue) const - { - return iFlag & aValue; - } - - - -/******************************************************************************* - * class CAspIdleWait - *******************************************************************************/ - - -// ----------------------------------------------------------------------------- -// CAspIdleWait::WaitL -// -// ----------------------------------------------------------------------------- -// -void CAspIdleWait::WaitL() - { - CAspIdleWait* waiter = CAspIdleWait::NewL(); - CleanupStack::PushL(waiter); - - CIdle* idle = CIdle::NewL(CActive::EPriorityIdle); - CleanupStack::PushL(idle); - - idle->Start(TCallBack(IdleCallback, waiter)); - if (!waiter->iWait.IsStarted()) - { - waiter->iWait.Start(); - } - - CleanupStack::PopAndDestroy(idle); - CleanupStack::PopAndDestroy(waiter); - } - - -// ----------------------------------------------------------------------------- -// CAspIdleWait::NewLC -// -// ----------------------------------------------------------------------------- -// -CAspIdleWait* CAspIdleWait::NewL() - { - CAspIdleWait* self = new (ELeave) CAspIdleWait(); - return self; - } - - -// ----------------------------------------------------------------------------- -// CAspIdleWait::CAspIdleWait -// -// ----------------------------------------------------------------------------- -// -CAspIdleWait::CAspIdleWait() - { - } - - -// ----------------------------------------------------------------------------- -// Destructor -// -// ----------------------------------------------------------------------------- -// -CAspIdleWait::~CAspIdleWait() - { - } - - -// ----------------------------------------------------------------------------- -// CAspIdleWait::IdleCallback -// -// ----------------------------------------------------------------------------- -// -TInt CAspIdleWait::IdleCallback(TAny* aThisPtr) - { - static_cast(aThisPtr)->iWait.AsyncStop(); - return KErrNone; - } - - - -/****************************************************************************** - * class CAspActiveCaller - ******************************************************************************/ - - -// ----------------------------------------------------------------------------- -// CAspActiveCaller::NewL -// -// ----------------------------------------------------------------------------- -// -CAspActiveCaller* CAspActiveCaller::NewL(MAspActiveCallerObserver* aObserver) - { - FLOG( _L("CAspActiveCaller::NewL START") ); - - CAspActiveCaller* self = new (ELeave) CAspActiveCaller(aObserver); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(self); - - FLOG( _L("CAspActiveCaller::NewL END") ); - return self; - } - - -// ----------------------------------------------------------------------------- -// Destructor -// -// ----------------------------------------------------------------------------- -// -CAspActiveCaller::~CAspActiveCaller() - { - FLOG( _L("CAspActiveCaller::~CAspActiveCaller START") ); - - Cancel(); - iTimer.Close(); - - FLOG( _L("CAspActiveCaller::~CAspActiveCaller END") ); - } - - -// ----------------------------------------------------------------------------- -// CAspActiveCaller::CAspActiveCaller -// -// ----------------------------------------------------------------------------- -// -CAspActiveCaller::CAspActiveCaller(MAspActiveCallerObserver* aObserver) : CActive(CActive::EPriorityStandard) - { - iObserver = aObserver; - } - - -// ----------------------------------------------------------------------------- -// CAspActiveCaller::ConstructL -// -// ----------------------------------------------------------------------------- -// -void CAspActiveCaller::ConstructL() - { - User::LeaveIfError(iTimer.CreateLocal()); - CActiveScheduler::Add(this); - } - - -// ----------------------------------------------------------------------------- -// CAspActiveCaller::DoCancel -// -// ----------------------------------------------------------------------------- -// -void CAspActiveCaller::DoCancel() - { - FLOG( _L("CAspActiveCaller::DoCancel START") ); - - iTimer.Cancel(); - - FLOG( _L( "CAspActiveCaller::DoCancel END" ) ); - } - - -// ----------------------------------------------------------------------------- -// CAspActiveCaller::RunL -// -// ----------------------------------------------------------------------------- -// -void CAspActiveCaller::RunL() - { - FLOG( _L("CAspActiveCaller::RunL START") ); - - TRAP_IGNORE(iObserver->HandleActiveCallL(iCallId)); - - FLOG( _L("CAspActiveCaller::RunL END") ); - } - - -// ----------------------------------------------------------------------------- -// CAspActiveCaller::Request -// -// This function calls this class RunL. -// ----------------------------------------------------------------------------- -// -void CAspActiveCaller::Request() - { - FLOG( _L("CAspActiveCaller::Request START") ); - - Cancel(); - SetActive(); - TRequestStatus* status = &iStatus; - User::RequestComplete(status, KErrNone); - - FLOG( _L("CAspActiveCaller::Request END") ); - } - - -// ----------------------------------------------------------------------------- -// CAspActiveCaller::Start -// -// ----------------------------------------------------------------------------- -// -void CAspActiveCaller::Start(TInt aCallId, TInt aMilliseconds) - { - FLOG( _L("CAspActiveCaller::Start START") ); - - if (IsActive()) - { - return; - } - - iCallId = aCallId; - - if (aMilliseconds <= 0) - { - Request(); // no delay - complete right away - } - else - { - iTimer.After(iStatus, aMilliseconds*1000); - SetActive(); - } - - FLOG( _L("CAspActiveCaller::Start END") ); - } - - - - -/****************************************************************************** - * class CAspBearerHandler - ******************************************************************************/ - - -// ----------------------------------------------------------------------------- -// CAspBearerHandler::NewLC -// -// Two-phased constructor. -// ----------------------------------------------------------------------------- -// -CAspBearerHandler* CAspBearerHandler::NewL(const TAspParam& aParam) - { - CAspBearerHandler* self = new (ELeave) CAspBearerHandler(aParam); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(self); - - return self; - } - - -// ----------------------------------------------------------------------------- -// Destructor -// -// ----------------------------------------------------------------------------- -// -CAspBearerHandler::~CAspBearerHandler() - { - iList.Close(); - } - - -// ----------------------------------------------------------------------------- -// CAspBearerHandler::CAspBearerHandler -// ----------------------------------------------------------------------------- -// -CAspBearerHandler::CAspBearerHandler(const TAspParam& aParam) - { - __ASSERT_ALWAYS(aParam.iSyncSession, TUtil::Panic(KErrGeneral)); - - iSyncSession = aParam.iSyncSession; - } - - -// ----------------------------------------------------------------------------- -// CAspBearerHandler::ConstructL -// -// Symbian 2nd phase constructor can leave. -// ----------------------------------------------------------------------------- -// -void CAspBearerHandler::ConstructL(void) - { - CreateSupportedBearerListL(); - } - - -// ----------------------------------------------------------------------------- -// CAspBearerHandler::IsSupported -// -// ----------------------------------------------------------------------------- -// -TBool CAspBearerHandler::IsSupported(TInt aBearer) - { - TInt count = iList.Count(); - - for (TInt i=0; i= count) - { - TUtil::Panic(KErrArgument); - } - - TAspBearerItem& item = iList[aIndex]; - return item.iBearerType; - } - - -// ----------------------------------------------------------------------------- -// CAspBearerHandler::ListIndexForBearer -// -// ----------------------------------------------------------------------------- -// -TInt CAspBearerHandler::ListIndexForBearer(TInt aBearer) - { - TInt count = iList.Count(); - for (TInt i=0; i arr(8); - CleanupClosePushL(arr); - - // - // ListTransportsL returns transports that can be used in current phone. - // RSyncMLSession uses FeatureManager to construct this list. - // - iSyncSession->ListTransportsL(arr); - TInt count = arr.Count(); - - for (TInt i=0; iAppendL(item.iBearerName); - } - - return arr; - } - - -// ----------------------------------------------------------------------------- -// CAspBearerHandler::SupportedBearerCount -// -// ----------------------------------------------------------------------------- -// -TInt CAspBearerHandler::SupportedBearerCount() - { - return iList.Count(); - } - - - - - -/****************************************************************************** - * class CAspAccessPointHandler - ******************************************************************************/ - - - -// ----------------------------------------------------------------------------- -// CAspAccessPointHandler::NewLC -// -// Two-phased constructor. -// ----------------------------------------------------------------------------- -// -CAspAccessPointHandler* CAspAccessPointHandler::NewL(const TAspParam& aParam) - { - CAspAccessPointHandler* self = new(ELeave) CAspAccessPointHandler(aParam); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(self); - - return self; - } - - -// ----------------------------------------------------------------------------- -// Destructor -// -// ----------------------------------------------------------------------------- -// -CAspAccessPointHandler::~CAspAccessPointHandler() - { - delete iCommDb; - delete iApUtil; - } - - -// ----------------------------------------------------------------------------- -// CAspAccessPointHandler::CAspAccessPointHandler -// -// ----------------------------------------------------------------------------- -// -CAspAccessPointHandler::CAspAccessPointHandler(const TAspParam& /*aParam*/) - { - } - - -// ----------------------------------------------------------------------------- -// CAspAccessPointHandler::ConstructL -// -// Symbian 2nd phase constructor can leave. -// ----------------------------------------------------------------------------- -// -void CAspAccessPointHandler::ConstructL(void) - { - iCommDb = CCommsDatabase::NewL(EDatabaseTypeIAP); - - iApUtil = CApUtils::NewLC(*iCommDb); - CleanupStack::Pop(iApUtil); - } - - -// ----------------------------------------------------------------------------- -// CAspAccessPointHandler::ShowApSelectDialogL -// -// ----------------------------------------------------------------------------- -// -TInt CAspAccessPointHandler::ShowApSelectDialogL(TAspAccessPointItem& aItem) - { - aItem.iUid = KErrNotFound; - aItem.iName = KNullDesC; - - TUint32 selectedAp = 0; - TUint32 currentAp = 0; - if (aItem.iUid2 != KAskAlways && aItem.iUid2 != KDefaultConnection) - { - //currentAp = aItem.iUid2; - - // convert internet ap to Wap ap (CApSettingsHandler requires this) - TRAP_IGNORE(currentAp = iApUtil->WapIdFromIapIdL(aItem.iUid2)); - } - - - CApSettingsHandler* handler = NULL; - handler = CApSettingsHandler::NewLC( ETrue, - EApSettingsSelListIsPopUp, - EApSettingsSelMenuSelectNormal, - KEApIspTypeAll, - BearerFlags(), - KEApSortNameAscending); - - TInt ret = handler->RunSettingsL(currentAp, selectedAp); - CleanupStack::PopAndDestroy(handler); - - if (ret & KApUiEventSelected) - { - TAspAccessPointItem item; - item.iUid = selectedAp; - - GetApInfo(item); - - // convert Wap ap to internet ap - aItem.iUid = iApUtil->IapIdFromWapIdL(selectedAp); - - //aItem.iUid = selectedAp; - - aItem.iName = item.iName; - - return EAspDialogSelect; - } - else if (ret & KApUiEventExitRequested) - { - return EAspDialogExit; - } - else - { - return EAspDialogCancel; - } - } - - -// ----------------------------------------------------------------------------- -// CAspAccessPointHandler::GetApInfoL -// -// ----------------------------------------------------------------------------- -// -TInt CAspAccessPointHandler::GetApInfoL(TAspAccessPointItem& aItem) - { - if (aItem.iUid == KAskAlways || aItem.iUid == KErrNotFound || aItem.iUid == KDefaultConnection) - { - return KErrNotFound; - } - - CApSelect* selector = CApSelect::NewLC(*iCommDb, - KEApIspTypeAll, - BearerFlags(), - KEApSortUidAscending); - - TInt ret = KErrNone; - TBool found = EFalse; - - // find access point with id aId - if (selector->MoveToFirst()) - { - if (aItem.iUid == (TInt)selector->Uid()) - { - found = ETrue; - } - while (!found && selector->MoveNext()) - { - if (aItem.iUid == (TInt)selector->Uid()) - { - found = ETrue; - } - } - } - - if (found) - { - TUtil::StrCopy(aItem.iName, selector->Name()); - } - else - { - aItem.iName = KNullDesC; - ret = KErrNotFound; - } - - CleanupStack::PopAndDestroy(selector); - return ret; - } - - -// ----------------------------------------------------------------------------- -// CAspAccessPointHandler::GetApInfo -// -// ----------------------------------------------------------------------------- -// -TInt CAspAccessPointHandler::GetApInfo(TAspAccessPointItem& aItem) - { - aItem.iName = KNullDesC; - - TInt ret = KErrNone; - TRAPD(err, ret = GetApInfoL(aItem)); - - if (err != KErrNone) - { - return KErrNotFound; - } - return ret; - } - - -// ----------------------------------------------------------------------------- -// CAspAccessPointHandler::GetInternetApInfo -// -// ----------------------------------------------------------------------------- -// -TInt CAspAccessPointHandler::GetInternetApInfo(TAspAccessPointItem& aItem) - { - if (aItem.iUid == KAskAlways || aItem.iUid == KErrNotFound || aItem.iUid == KDefaultConnection) - { - return KErrNotFound; - } - - TAspAccessPointItem item; - - // convert internet ap to Wap ap - TRAPD(err, item.iUid = iApUtil->WapIdFromIapIdL(aItem.iUid)); - if (err != KErrNone) - { - return KErrNotFound; - } - - TInt ret = GetApInfo(item); - - TUtil::StrCopy(aItem.iName, item.iName); - return ret; - } - - -// ----------------------------------------------------------------------------- -// CAspAccessPointHandler::BearerFlags -// -// ----------------------------------------------------------------------------- -// -TInt CAspAccessPointHandler::BearerFlags() - { - TInt flags; - if (FeatureManager::FeatureSupported(KFeatureIdAppCsdSupport)) - { - //flags = EApBearerTypeGPRS | EApBearerTypeCDMA | EApBearerTypeWLAN | EApBearerTypeHSCSD | EApBearerTypeCSD; - flags = EApBearerTypeAllBearers; - } - else - { - flags = EApBearerTypeGPRS | EApBearerTypeCDMA | EApBearerTypeWLAN; - } - - return flags; - } - - - - -/****************************************************************************** - * class TAspSyncError - ******************************************************************************/ - - - - -// ----------------------------------------------------------------------------- -// TAspSyncError::GetSmlErrorText -// -// ----------------------------------------------------------------------------- -// -HBufC* TAspSyncError::GetSmlErrorText(TInt aErrorCode, TInt aTransport) - { - HBufC* hBuf = NULL; - - TRAPD(err, hBuf = GetSmlErrorTextL(aErrorCode, aTransport)); - - if (err == KErrNone) - { - return hBuf; - } - else - { - return NULL; - } - } - - -// ----------------------------------------------------------------------------- -// TAspSyncError::GetSmlErrorTextL -// -// ----------------------------------------------------------------------------- -// -HBufC* TAspSyncError::GetSmlErrorTextL(TInt aErrorCode, TInt /*aTransport*/) - { - TInt id = R_ASP_LOG_ERR_SYSTEMERROR; // "System Error" - - switch (aErrorCode) - { - case SyncMLError::KErrTransportAuthenticationFailure: - { - id = R_ASP_LOG_ERR_HTTPAUTH; // "Http authentication failed" - break; - } - - case SyncMLError::KErrAuthenticationFailure: - { - id = R_ASP_LOG_ERR_CLIENTAUTH; // "Invalid user name or password" - break; - } - - case KErrServerBusy: - id = R_ASP_LOG_ERR_SERVERBUSY; // "Synchronisation server was busy" - break; - - case SyncMLError::KErrServerDatabaseNotFound: - id = R_ASP_LOG_ERR_REMOTEDATABASE; // "Invalid remote database" - break; - - case SyncMLError::KErrClientDatabaseNotFound: - id = R_ASP_LOG_ERR_LOCALDATABASE; // "Unable to open database" - break; - - case SyncMLError::KErrConnectionError: - id = R_ASP_LOG_ERR_SERVERNOTRESPONDING; // "Server is not responding" - break; - - case SyncMLError::KErrTransportSvrNoUri: - id = R_ASP_LOG_ERR_URIINVALID; // "Invalid host address" - break; - - case SyncMLError::KErrPhoneOnOfflineMode: - id = R_ASP_LOG_ERR_OFFLINE; // "Operation not possible in Off-line mode" - break; - - case SyncMLError::KErrTransportRequest: - case SyncMLError::KErrTransportHeader: - case SyncMLError::KErrTransportSvrError: - case SyncMLError::KErrTransportDisconnected: - case SyncMLError::KErrCannotCommunicateWithServer: - id = R_ASP_LOG_ERR_COMM; // "Error in communication" - break; - - case SyncMLError::KErrVerDTDMissing: - case SyncMLError::KErrProtoMissing: - case SyncMLError::KErrVersionDTDNotSupported: - case SyncMLError::KErrProtoNotSupported: - id = R_ASP_LOG_ERR_VERSIONNOTSUPPORTED; // "Unsupported SyncML software version in server" - break; - - case SyncMLError::KErrSessionIdNotValid: - case SyncMLError::KErrMappingInfoMissing: - case SyncMLError::KErrMappingInfoNotAcked: - case SyncMLError::KErrStatusCommandForCommandNotSent: - case SyncMLError::KErrStatusCommandNotTheSame: - case SyncMLError::KErrMissingStatusCommands: - case SyncMLError::KErrFailedToAddRecord: - case SyncMLError::KErrFailedToReplaceRecord: - case SyncMLError::KErrFailedToDeleteRecord: - case SyncMLError::KErrXmlParsingError: - case SyncMLError::KErrReferenceToolkitError: - case SyncMLError::KErrObjectTooLargeToSendToServer: - case SyncMLError::KErrFailedToGetRecord: - case SyncMLError::KErrUserInteractionFailed: - case SyncMLError::KErrStatusSizeMismatch: - case SyncMLError::KErrFailedToCloseDatabase: - case SyncMLError::KErrDatabaseAdapterIndexError: - id = R_ASP_LOG_ERR_SERVERERROR; // "Error in sync server" - break; - - default: - id = R_ASP_LOG_ERR_SYSTEMERROR; // "System Error" - break; - } - - HBufC* hBuf = CAspResHandler::ReadLC(id); - -#ifdef _DEBUG - TBuf buf2(hBuf->Des()); - TBuf buf1; - CleanupStack::PopAndDestroy(hBuf); - - hBuf = HBufC::NewLC(256); - TPtr ptr = hBuf->Des(); - - GetSyncMLErrorText(buf1, aErrorCode); - ptr.Format(_L("%S (%S)"), &buf2, &buf1); -#endif - - CleanupStack::Pop(hBuf); - return hBuf; - } - - -// ----------------------------------------------------------------------------- -// TAspSyncError::GetSmlErrorValue -// -// ----------------------------------------------------------------------------- -TInt TAspSyncError::GetSmlErrorValue(TInt aErrorCode) - { - TInt id = R_ASP_LOG_ERR_SYSTEMERROR; // "System Error" - - switch (aErrorCode) - { - case SyncMLError::KErrTransportAuthenticationFailure: - { - id = R_ASP_LOG_ERR_HTTPAUTH; // "Http authentication failed" - break; - } - - case SyncMLError::KErrAuthenticationFailure: - { - id = R_ASP_LOG_ERR_CLIENTAUTH; // "Invalid user name or password" - break; - } - - case KErrServerBusy: - id = R_ASP_LOG_ERR_SERVERBUSY; // "Synchronisation server was busy" - break; - - case SyncMLError::KErrServerDatabaseNotFound: - id = R_ASP_LOG_ERR_REMOTEDATABASE; // "Invalid remote database" - break; - - case SyncMLError::KErrClientDatabaseNotFound: - id = R_ASP_LOG_ERR_LOCALDATABASE; // "Unable to open database" - break; - - case SyncMLError::KErrConnectionError: - id = R_ASP_LOG_ERR_SERVERNOTRESPONDING; // "Server is not responding" - break; - - case SyncMLError::KErrTransportSvrNoUri: - id = R_ASP_LOG_ERR_URIINVALID; // "Invalid host address" - break; - - case SyncMLError::KErrPhoneOnOfflineMode: - id = R_ASP_LOG_ERR_OFFLINE; // "Operation not possible in Off-line mode" - break; - - case SyncMLError::KErrTransportRequest: - case SyncMLError::KErrTransportHeader: - case SyncMLError::KErrTransportSvrError: - case SyncMLError::KErrTransportDisconnected: - case SyncMLError::KErrCannotCommunicateWithServer: - id = R_ASP_LOG_ERR_COMM; // "Error in communication" - break; - - case SyncMLError::KErrVerDTDMissing: - case SyncMLError::KErrProtoMissing: - case SyncMLError::KErrVersionDTDNotSupported: - case SyncMLError::KErrProtoNotSupported: - id = R_ASP_LOG_ERR_VERSIONNOTSUPPORTED; // "Unsupported SyncML software version in server" - break; - - case SyncMLError::KErrSessionIdNotValid: - case SyncMLError::KErrMappingInfoMissing: - case SyncMLError::KErrMappingInfoNotAcked: - case SyncMLError::KErrStatusCommandForCommandNotSent: - case SyncMLError::KErrStatusCommandNotTheSame: - case SyncMLError::KErrMissingStatusCommands: - case SyncMLError::KErrFailedToAddRecord: - case SyncMLError::KErrFailedToReplaceRecord: - case SyncMLError::KErrFailedToDeleteRecord: - case SyncMLError::KErrXmlParsingError: - case SyncMLError::KErrReferenceToolkitError: - case SyncMLError::KErrObjectTooLargeToSendToServer: - case SyncMLError::KErrFailedToGetRecord: - case SyncMLError::KErrUserInteractionFailed: - case SyncMLError::KErrStatusSizeMismatch: - case SyncMLError::KErrFailedToCloseDatabase: - case SyncMLError::KErrDatabaseAdapterIndexError: - id = R_ASP_LOG_ERR_SERVERERROR; // "Error in sync server" - break; - - default: - id = R_ASP_LOG_ERR_SYSTEMERROR; // "System Error" - break; - } - - return id ; - } - - -#ifdef _DEBUG - -// ----------------------------------------------------------------------------- -// TAspSyncError::GetSyncMLErrorText -// -// ----------------------------------------------------------------------------- -// -void TAspSyncError::GetSyncMLErrorText(TDes& aText, TInt aError) - { - aText = KNullDesC(); - - - switch (aError) - { - case SyncMLError::KErrTransportRequest: - aText = _L("KErrTransportRequest"); - break; - case SyncMLError::KErrTransportHeader: - aText = _L("KErrTransportHeader"); - break; - case SyncMLError::KErrTransportSvrNoUri: - aText = _L("KErrTransportSvrNoUri"); - break; - case SyncMLError::KErrTransportSvrError: - aText = _L("KErrTransportSvrError"); - break; - case SyncMLError::KErrTransportAuthenticationFailure: - aText = _L("KErrTransportAuthenticationFailure"); - break; - case SyncMLError::KErrTransportDisconnected: - aText = _L("KErrTransportDisconnected"); - break; - case SyncMLError::KErrConnectionError: - aText = _L("KErrConnectionError"); - break; - case SyncMLError::KErrCannotCommunicateWithServer: - aText = _L("KErrCannotCommunicateWithServer"); - break; - case SyncMLError::KErrDatabaseAdapterIndexError: - aText = _L("KErrDatabaseAdapterIndexError"); - break; - case SyncMLError::KErrParseCallbackError: - aText = _L("KErrParseCallbackError"); - break; - case SyncMLError::KErrCommandInvalid: - aText = _L("KErrCommandInvalid"); - break; - case SyncMLError::KErrSessionIdNotValid: - aText = _L("KErrSessionIdNotValid"); - break; - case SyncMLError::KErrVerDTDMissing: - aText = _L("KErrVerDTDMissing"); - break; - case SyncMLError::KErrProtoMissing: - aText = _L("KErrProtoMissing"); - break; - case SyncMLError::KErrSyncHdrMissing: - aText = _L("KErrSyncHdrMissing"); - break; - case SyncMLError::KErrTargetLocMissing: - aText = _L("KErrTargetLocMissing"); - break; - case SyncMLError::KErrSourceLocMissing: - aText = _L("KErrSourceLocMissing"); - break; - case SyncMLError::KErrTargetLocNameMissing: - aText = _L("KErrTargetLocNameMissing"); - break; - case SyncMLError::KErrSourceLocNameMissing: - aText = _L("KErrSourceLocNameMissing"); - break; - case SyncMLError::KErrMappingInfoMissing: - aText = _L("KErrMappingInfoMissing"); - break; - case SyncMLError::KErrMappingInfoNotAcked: - aText = _L("KErrMappingInfoNotAcked"); - break; - case SyncMLError::KErrVersionDTDNotSupported: - aText = _L("KErrVersionDTDNotSupported"); - break; - case SyncMLError::KErrProtoNotSupported: - aText = _L("KErrProtoNotSupported"); - break; - case SyncMLError::KErrStatusCommandForCommandNotSent: - aText = _L("KErrStatusCommandForCommandNotSent"); - break; - case SyncMLError::KErrStatusCommandNotTheSame: - aText = _L("KErrStatusCommandNotTheSame"); - break; - case SyncMLError::KErrMissingStatusCommands: - aText = _L("KErrMissingStatusCommands"); - break; - case SyncMLError::KErrFailedToAddRecord: - aText = _L("KErrFailedToAddRecord"); - break; - case SyncMLError::KErrFailedToReplaceRecord: - aText = _L("KErrFailedToReplaceRecord"); - break; - case SyncMLError::KErrFailedToDeleteRecord: - aText = _L("KErrFailedToDeleteRecord"); - break; - case SyncMLError::KErrXmlParsingError: - aText = _L("KErrXmlParsingError"); - break; - case SyncMLError::KErrReferenceToolkitError: - aText = _L("KErrReferenceToolkitError"); - break; - case SyncMLError::KErrClientDatabaseNotFound: - aText = _L("KErrClientDatabaseNotFound"); - break; - case SyncMLError::KErrServerDatabaseNotFound: - aText = _L("KErrServerDatabaseNotFound"); - break; - case SyncMLError::KErrDevInfFileNotFound: - aText = _L("KErrDevInfFileNotFound"); - break; - case SyncMLError::KErrObjectTooLargeToSendToServer: - aText = _L("KErrObjectTooLargeToSendToServer"); - break; - case SyncMLError::KErrSlowSync: - aText = _L("KErrSlowSync"); - break; - case SyncMLError::KErrFailedToGetRecord: - aText = _L("KErrFailedToGetRecord"); - break; - case SyncMLError::KErrUserInteractionFailed: - aText = _L("KErrUserInteractionFailed"); - break; - case SyncMLError::KErrStatusSizeMismatch: - aText = _L("KErrStatusSizeMismatch"); - break; - case SyncMLError::KErrFailedToCloseDatabase: - aText = _L("KErrFailedToCloseDatabase"); - break; - - case SyncMLError::KErrPhoneOnOfflineMode: - aText = _L("KErrPhoneOnOfflineMode"); - break; - - case SyncMLError::KErrAuthenticationFailure: - aText = _L("KErrAuthenticationFailure"); - break; - - case SyncMLError::KErrGeneral: - aText = _L("KErrGeneral"); - break; - - case SyncMLError::KErrMessageTooShort: - aText = _L("KErrMessageTooShort"); - break; - case SyncMLError::KErrMessageIsCorrupt: - aText = _L("KErrMessageIsCorrupt"); - break; - case SyncMLError::KErrBadTransportId: - aText = _L("KErrBadTransportId"); - break; - case SyncMLError::KErrNoNotificationBody: - aText = _L("KErrNoNotificationBody"); - break; - case SyncMLError::KErrWrongVersion: - aText = _L("KErrWrongVersion"); - break; - case SyncMLError::KErrUnsupportedMimeType: - aText = _L("KErrUnsupportedMimeType"); - break; - case SyncMLError::KErrNoSuchTask: - aText = _L("KErrNoSuchTask"); - break; - case SyncMLError::KErrUnknownSyncType: - aText = _L("KErrUnknownSyncType"); - break; - case SyncMLError::KErrUnknownProfile: - aText = _L("KErrUnknownProfile"); - break; - case SyncMLError::KErrInvalidProfile: - aText = _L("KErrInvalidProfile"); - break; - case SyncMLError::KErrInvalidCredentials: - aText = _L("KErrInvalidCredentials"); - break; - case SyncMLError::KErrNoCredentials: - aText = _L("KErrNoCredentials"); - break; - case SyncMLError::KErrIntegrityFailureHMAC: - aText = _L("KErrIntegrityFailureHMAC"); - break; - case SyncMLError::KErrMustUsageUriNotComplete: - aText = _L("KErrMustUsageUriNotComplete"); - break; - case SyncMLError::KErrDMAccUriIsCorrupt: - aText = _L("KErrDMAccUriIsCorrupt"); - break; - case SyncMLError::KErrDMConUriIsCorrupt: - aText = _L("KErrDMConUriIsCorrupt"); - break; - case SyncMLError::KErrParmNameNotInProvDoc: - aText = _L("KErrParmNameNotInProvDoc"); - break; - case SyncMLError::KErrInvalidAppIdValue: - aText = _L("KErrInvalidAppIdValue"); - break; - case SyncMLError::KErrInvalidToNapIdValue: - aText = _L("KErrInvalidToNapIdValue"); - break; - case SyncMLError::KErrInvalidProviderIdValue: - aText = _L("KErrInvalidProviderIdValue"); - break; - case SyncMLError::KErrEmptyAauthLevelValue: - aText = _L("KErrEmptyAauthLevelValue"); - break; - case SyncMLError::KErrAppSrvAAuthLevelNotFound: - aText = _L("KErrAppSrvAAuthLevelNotFound"); - break; - case SyncMLError::KErrClientAAuthLevelNotFound: - aText = _L("KErrClientAAuthLevelNotFound"); - break; - case SyncMLError::KErrInvalidAppAuth: - aText = _L("KErrInvalidAppAuth"); - break; - case SyncMLError::KErrNoApplicationCharac: - aText = _L("KErrNoApplicationCharac"); - break; - case SyncMLError::KErrNoAppAuthCharac: - aText = _L("KErrNoAppAuthCharac"); - break; - case SyncMLError::KErrMissingRequiredParmInSvr: - aText = _L("KErrMissingRequiredParmInSvr"); - break; - case SyncMLError::KErrMissingRequiredParmInClient: - aText = _L("KErrMissingRequiredParmInClient"); - break; - case SyncMLError::KErrAppAddrCharacNotFound: - aText = _L("KErrAppAddrCharacNotFound"); - break; - case SyncMLError::KErrUnsupportedVersion: - aText = _L("KErrUnsupportedVersion"); - break; - case SyncMLError::KErrWrongProvPublicDocId: - aText = _L("KErrWrongProvPublicDocId"); - break; - case SyncMLError::KErrProfileNotFound: - aText = _L("KErrProfileNotFound"); - break; - case SyncMLError::KErrConnectionNotFound: - aText = _L("KErrConnectionNotFound"); - break; - case SyncMLError::KErrTaskNotFound: - aText = _L("KErrTaskNotFound"); - break; - case SyncMLError::KErrTransportNotFound: - aText = _L("KErrTransportNotFound"); - break; - case SyncMLError::KErrDataProviderNotFound: - aText = _L("KErrDataProviderNotFound"); - break; - case SyncMLError::KErrJobNotFound: - aText = _L("KErrJobNotFound"); - break; - case SyncMLError::KErrObjectPendingDelete: - aText = _L("KErrObjectPendingDelete"); - break; - case SyncMLError::KErrObjectInUse: - aText = _L("KErrObjectInUse"); - break; - case SyncMLError::KErrProfileAccessDenied: - aText = _L("KErrProfileAccessDenied"); - break; - case SyncMLError::KErrSuspended: - aText = _L("KErrSuspended"); - break; - case SyncMLError::KErrDataDepotStreamNotFound: - aText = _L("KErrDataDepotStreamNotFound"); - break; - - case SyncMLError::KErrServerIdNotMatching: - aText = _L("KErrServerIdNotMatching"); - break; - - default: - aText.Format(_L("%d"), aError); - break; - } - } - -#endif - - - - - - - -// End of file