--- a/ipsservices/ipssosaoplugin/src/IpsSosAOMboxLogic.cpp Tue Aug 31 15:04:17 2010 +0300
+++ b/ipsservices/ipssosaoplugin/src/IpsSosAOMboxLogic.cpp Wed Sep 01 12:28:57 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* 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"
@@ -16,11 +16,23 @@
*
*/
-#include "ipssosaopluginheaders.h"
+
+//<cmail> internal dependency removed
+/*#ifdef _DEBUG
+#include "../../internal/IpsSosAOPluginTester/inc/IpsSosAOPluginTester.hrh"
+#endif // _DEBUG*/
+//</cmail>
+
+#include <cmmanager.h>
-//<QMail>
+#include "emailtrace.h"
+#include "IpsSosAOMboxLogic.h"
+#include "ipssetdataapi.h"
+#include "IpsSosAOSchedulerUtils.h"
+#include "IpsSosAOPlugin.hrh"
+#include "IpsSosAOImapPopLogic.h"
+
const TInt KAOSecondsInMinute = 60;
-//</QMail>
const TInt KIpsSosAOMboxLogicMinGra = 1;
// ----------------------------------------------------------------------------
@@ -31,10 +43,8 @@
TMsvId aMailboxId ) :
iSession( aSession ), iMailboxId( aMailboxId ), iState( EStateError ),
iErrorCounter( 0 ), iError( KErrNone ), iTimer( NULL ),
- //<QMail>
- iFetchMsgArray( KIpsSosAOMboxLogicMinGra ), iAgent( NULL ),
- iIsRoaming( EFalse )
- //</QMail>
+ iFetchMsgArray( KIpsSosAOMboxLogicMinGra ), iDataApi( NULL ), iAgent( NULL ),
+ iExtendedSettings( NULL ), iIsRoaming( EFalse )
{
FUNC_LOG;
}
@@ -46,8 +56,8 @@
{
FUNC_LOG;
delete iTimer;
- //<QMail>
- //</QMail>
+ delete iDataApi;
+ delete iExtendedSettings;
delete iAgent;
iFetchMsgArray.Close();
}
@@ -75,12 +85,9 @@
{
FUNC_LOG;
iTimer = CIpsSosAOPluginTimer::NewL( CActive::EPriorityStandard, *this );
- //<QMail>
-
-
+ iDataApi = CIpsSetDataApi::NewL( iSession );
iAgent = CIpsSosAOBaseAgent::CreateAgentL( iSession, *this, iMailboxId );
-
- //</QMail>
+ LoadSettingsL();
}
// ----------------------------------------------------------------------------
@@ -170,9 +177,7 @@
void CIpsSosAOMBoxLogic::FetchMessagesL( const RArray<TMsvId> aArray )
{
FUNC_LOG;
- //<Qmail>
-
- //</Qmail>
+ LoadSettingsL();
for ( TInt i = 0; i < aArray.Count(); i++ )
{
iFetchMsgArray.AppendL( aArray[i] );
@@ -205,86 +210,55 @@
{
FUNC_LOG;
TBool ret = ETrue;
- //<QMail>
- CIpsSosAOSettingsHandler* settings = NULL;
- TRAP_IGNORE( settings =
- CIpsSosAOSettingsHandler::NewL(iSession, iMailboxId));
-
- if( settings )
+ TIpsSetDataEmnStates state = EMailEmnOff;
+ if ( iExtendedSettings )
{
- IpsServices::TIpsSetDataEmnStates state = IpsServices::EMailEmnOff;
- state = settings->EmailNotificationState();
-
- if ( state == IpsServices::EMailEmnOff )
- {
- ret = EFalse;
- }
-
- delete settings;
+ state = iExtendedSettings->EmailNotificationState();
}
-
- //</QMail>
+ if ( state == EMailEmnOff )
+ {
+ ret = EFalse;
+ }
return ret;
}
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
//
-//<QMail>
void CIpsSosAOMBoxLogic::GetEmailAddress(
TBuf<KIpsSosAOTextBufferSize>& aEmailAddress ) const
{
FUNC_LOG;
- CIpsSosAOSettingsHandler* settings = NULL;
-
- TRAPD( err, settings = CIpsSosAOSettingsHandler::NewL(
- iSession, iMailboxId) );
+ const TDesC& addr = iExtendedSettings->EmailAddress();
+ __ASSERT_DEBUG( (
+ addr.Length() <= KIpsSosAOTextBufferSize ),
+ User::Panic( KIpsSosAOPanicLit, KErrGeneral) );
- if( settings )
+ if ( addr.Length() <= KIpsSosAOTextBufferSize )
{
- HBufC* addr = NULL;
- TRAP(err, addr = settings->EmailAddressL());
-
- if( addr )
- {
- __ASSERT_DEBUG( (
- addr->Length() <= KIpsSosAOTextBufferSize ),
- User::Panic( KIpsSosAOPanicLit, KErrGeneral) );
-
- if ( addr->Length() <= KIpsSosAOTextBufferSize )
- {
- aEmailAddress.Copy( *addr );
- }
- delete addr;
- }
-
- delete settings;
+ aEmailAddress.Copy( addr );
}
-
- //<QMail>
}
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
-//<QMail>
+//
+//<cmail>
void CIpsSosAOMBoxLogic::SetEmnReceivedFlagL( TBool aNewValue )
+//</cmail>
{
-
- CIpsSosAOSettingsHandler* settings =
- CIpsSosAOSettingsHandler::NewL(
- iSession, iMailboxId );
- CleanupStack::PushL(settings);
-
- settings->SetEmnReceivedButNotSyncedFlag( aNewValue );
-
- CleanupStack::PopAndDestroy(settings);
- //</QMail>
+ LoadSettingsL();
+ iExtendedSettings->SetEmnReceivedButNotSyncedFlag( aNewValue );
+ iDataApi->SaveExtendedSettingsL(
+ *iExtendedSettings );
}
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
//
+//<cmail>
TBool CIpsSosAOMBoxLogic::IsMailboxRoamingStoppedL()
+//</cmail>
{
TBool ret = EFalse;
if ( iIsRoaming && !CanConnectIfRoamingL() )
@@ -305,79 +279,64 @@
TInt cycles = 0;
if ( event == EEventStart && iState == EStateError &&
- ( (iIsRoaming && CanConnectIfRoamingL())||
- !iIsRoaming ) )
+ CanConnectIfRoamingL() )
{
- NM_COMMENT("CIpsSosAOMBoxLogic: event: EEventStart");
event = EEventNop;
iAgent->LoadSettingsL();
iTimer->Cancel();
- INFO_1("CIpsSosAOMBoxLogic: timer scheduled: %d", KIpsSosAOStartDelaySeconds);
iTimer->After( KIpsSosAOStartDelaySeconds );
iState = EStateWaitSyncStart;
- NM_COMMENT("CIpsSosAOMBoxLogic: switching state: EStateWaitSyncStart");
}
while ( event != EEventNop && iState != EStateError )
{
+//<cmail> removing flags
+/*#ifdef IPSSOSIMAPPOLOGGING_ON
+ WriteDebugData( event );
+#endif*/
+//</cmail>
switch ( event )
{
case EEventTimerFired:
- NM_COMMENT("CIpsSosAOMBoxLogic: event: EEventTimerFired");
event = HandleTimerFiredL();
break;
case EEventStartSync:
- NM_COMMENT("CIpsSosAOMBoxLogic: event: EEventStartSync");
if ( iState == EStateWaitSyncStart )
{
iError = KErrNone;
iAgent->StartSyncL();
iState = EStateSyncOngoing;
- NM_COMMENT("CIpsSosAOMBoxLogic: switching state: EStateSyncOngoing");
}
else if ( iState == EStateIdleAndWaitCommands )
{
// start sync command in idle state is currently
// received when emn arrives, checking scheduling
// if user have selected week days / hours in setting
- //<QMail>
- CIpsSosAOSettingsHandler* settings =
- CIpsSosAOSettingsHandler::NewL(iSession, iMailboxId);
- CleanupStack::PushL(settings);
-
CIpsSosAOSchedulerUtils* scheduler =
- CIpsSosAOSchedulerUtils::NewLC( *settings );
-
+ CIpsSosAOSchedulerUtils::NewLC( *iExtendedSettings );
TTimeIntervalSeconds seconds;
TIpsSosAOConnectionType type =
- scheduler->SecondsToNextMark( seconds );
-
- //</QMail>
+ scheduler->SecondsToNextMark( seconds );
if ( type == EAOCConnectAfter )
{
- NM_COMMENT("CIpsSosAOMBoxLogic: switching state: EStateWaitSyncStart");
iState = EStateWaitSyncStart;
- INFO_1("CIpsSosAOMBoxLogic: timer scheduled: %d", seconds);
iTimer->After( seconds );
-
+ //<cmail>
SetEmnReceivedFlagL( ETrue );
+ //</cmail>
}
else
{
iError = KErrNone;
iAgent->StartSyncL();
iState = EStateSyncOngoing;
- NM_COMMENT("CIpsSosAOMBoxLogic: switching state: EStateSyncOngoing");
}
- //<QMail>
- CleanupStack::PopAndDestroy( 2, settings );
- //</QMail>
+ CleanupStack::PopAndDestroy( scheduler );
}
// ignore in other states
event = EEventNop;
break;
case EEventFetchMessages:
- NM_COMMENT("CIpsSosAOMBoxLogic: event: EEventFetchMessages");
if ( ( iState == EStateWaitSyncStart ||
iState == EStateIdleAndWaitCommands ) &&
iFetchMsgArray.Count() > 0 )
@@ -385,7 +344,6 @@
iError = KErrNone;
iAgent->StartFetchMessagesL( iFetchMsgArray );
iFetchMsgArray.Reset();
- NM_COMMENT("CIpsSosAOMBoxLogic: switching state: EStateFetchOngoing");
iState = EStateFetchOngoing;
}
else
@@ -396,31 +354,28 @@
event = EEventNop;
break;
case EEventOperationCompleted:
- NM_COMMENT("CIpsSosAOMBoxLogic: event: EEventOperationCompleted");
event = HandleOperationCompletionL();
break;
case EEventSuspendOperations:
- NM_COMMENT("CIpsSosAOMBoxLogic: event: EEventSuspendOperations");
SuspendOperations();
iState = EStateSuspended;
event = EEventNop;
break;
case EEventContinueOperations:
- NM_COMMENT("CIpsSosAOMBoxLogic: event: EEventContinueOperations");
if ( iState == EStateSuspended )
{
- INFO_1("CIpsSosAOMBoxLogic: timer scheduled: %d", KIpsSosAOContinueWaitTime);
iTimer->After( KIpsSosAOContinueWaitTime );
}
- event = EEventNop;
+ else
+ {
+ event = EEventNop;
+ }
// ignore if in other states
break;
case EEventStopAndRemoveOps:
- NM_COMMENT("CIpsSosAOMBoxLogic: event: EEventStopAndRemoveOps");
// notify deletion
iAgent->CancelAllAndDisconnectL();
iTimer->Cancel();
- NM_COMMENT("CIpsSosAOMBoxLogic: switching state: EStateError");
iState = EStateError;
event = EEventNop;
break;
@@ -477,17 +432,13 @@
( agentState == CIpsSosAOBaseAgent::EStateConnectAndSyncOnHold ||
agentState == CIpsSosAOBaseAgent::EStatePopulateOnHold ) )
{
- iTimer->Cancel();
iAgent->ContinueHoldOperations();
- NM_COMMENT("CIpsSosAOMBoxLogic: switching state: EStateSyncOngoing");
iState = EStateSyncOngoing;
}
else if ( iState == EStateSuspended &&
agentState == CIpsSosAOBaseAgent::EStateFetchOnHold )
{
- iTimer->Cancel();
iAgent->ContinueHoldOperations();
- NM_COMMENT("CIpsSosAOMBoxLogic: switching state: EStateFetchOngoing");
iState = EStateFetchOngoing;
}
else
@@ -506,43 +457,30 @@
{
FUNC_LOG;
TInt event = EEventNop;
- //<Qmail>
- CIpsSosAOSettingsHandler* settings =
- CIpsSosAOSettingsHandler::NewL(iSession, iMailboxId);
- CleanupStack::PushL(settings);
- //</Qmail>
if ( iState == EStateSyncOngoing )
{
- INFO_1("CIpsSosAOMBoxLogic: operation completed error: %d", iError);
- bool doSaveSyncTime = EFalse;
if ( !( iError == KErrNone || iError == KErrCancel ) )
{
++iErrorCounter;
}
else
{
- if (iError == KErrNone)
- {
- doSaveSyncTime = ETrue;
- }
iError = KErrNone;
iErrorCounter = 0;
}
-
+ //<cmail>
if ( iError != KErrNone &&
IsErrorFatalL( iError ) )
+ //</cmail>
{
iAgent->CancelAllAndDisconnectL();
// switch ao off
- //<QMail>
-
- settings->SetAlwaysOnlineState( IpsServices::EMailAoOff );
+ iExtendedSettings->SetAlwaysOnlineState( EMailAoOff );
// emn not swithced of if its going to be "always on" in
// future
-
- settings->SetEmnReceivedButNotSyncedFlag( EFalse );
- //</QMail>
- NM_COMMENT("CIpsSosAOMBoxLogic: switching state: EStateError");
+ iExtendedSettings->SetEmnReceivedButNotSyncedFlag( EFalse );
+ iDataApi->SaveExtendedSettingsL(
+ *iExtendedSettings );
iState = EStateError;
iErrorCounter = 0;
}
@@ -550,33 +488,26 @@
iErrorCounter < KIpsSosAOMaxReTryTimes )
{
// not fatal error
- //<QMail>
- IpsServices::TIpsSetDataAoStates state =
- settings->AlwaysOnlineState();
-
- if ( state == IpsServices::EMailAoOff )
+ TIpsSetDataAoStates state = iExtendedSettings->AlwaysOnlineState();
+ if ( state == EMailAoOff )
{
- NM_COMMENT("CIpsSosAOMBoxLogic: switching state: EStateIdleAndWaitCommands");
iState = EStateIdleAndWaitCommands;
}
else
{
if( !iTimer->IsActive() )
{
- INFO_1("CIpsSosAOMBoxLogic: timer scheduled: %d", KIpsSosAOReTryInterval);
- iTimer->After( KIpsSosAOReTryInterval );
+ iTimer->After( KIpsSosAOReTryInterval );
}
- NM_COMMENT("CIpsSosAOMBoxLogic: switching state: EStateWaitSyncStart");
iState = EStateWaitSyncStart;
}
-
- //</QMail>
}
else if ( iError != KErrNone &&
iErrorCounter >= KIpsSosAOMaxReTryTimes )
{
-
+ //<cmail>
SetEmnReceivedFlagL( EFalse );
+ //</cmail>
// not fatal, but all re trys are gone
CalculateToNextIntervalL();
}
@@ -584,10 +515,7 @@
{
// no errors
// update successfull sync time to settings
- if (doSaveSyncTime)
- {
- SaveSuccessfulSyncTimeL();
- }
+ SaveSuccessfulSyncTimeL();
// and adjust timer to sync interval
CalculateToNextIntervalL();
}
@@ -597,7 +525,6 @@
iError = KErrNone;
if ( iTimer->IsActive() )
{
- NM_COMMENT("CIpsSosAOMBoxLogic: switching state: EStateWaitSyncStart");
iState = EStateWaitSyncStart;
}
else
@@ -605,9 +532,6 @@
event = CheckSchedulingAndSwitchStateL();
}
}
- //<Qmail>
- CleanupStack::PopAndDestroy(settings);
- //</Qmail>
return event;
}
@@ -621,46 +545,35 @@
{
iAgent->HoldOperations();
}
+ iState = EStateSuspended;
// set suspend watchdog, if clien not continue this
// ensure ao logic to continue
- if ( !iTimer->IsActive() || iState == EStateSyncOngoing || iState == EStateFetchOngoing)
+ if ( !iTimer->IsActive() )
{
- INFO_1("CIpsSosAOMBoxLogic: timer scheduled: %d", KIpsSosAOSuspendWatchdogTime);
iTimer->After( KIpsSosAOSuspendWatchdogTime );
}
- NM_COMMENT("CIpsSosAOMBoxLogic: switching state: EStateSuspended");
- iState = EStateSuspended;
}
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
-//<QMail>
-
+//
+//<cmail>
TBool CIpsSosAOMBoxLogic::IsErrorFatalL( TInt aError )
+//</cmail>
{
FUNC_LOG;
// error can be fatal only if we haven't got successful connect
// in mailbox ever and error is something else than KErrNone or
// KErrCancel, and retry interval is reached
TBool ret = EFalse;
- //<Qmail>
-
- //</Qmail>
-
- CIpsSosAOSettingsHandler* settings =
- CIpsSosAOSettingsHandler::NewL(iSession, iMailboxId);
- CleanupStack::PushL(settings);
-
- IpsServices::TAOInfo info = settings->LastUpdateInfo();
+ LoadSettingsL();
+ TAOInfo info = iExtendedSettings->LastUpdateInfo();
if ( aError != KErrNone && aError != KErrCancel
&& !info.iUpdateSuccessfulWithCurSettings
&& iErrorCounter >= KIpsSosAOMaxReTryTimes )
{
ret = ETrue;
}
-
- CleanupStack::PopAndDestroy(settings);
- //</QMail>
return ret;
}
@@ -670,22 +583,15 @@
CIpsSosAOMBoxLogic::TMBoxLogicEvent
CIpsSosAOMBoxLogic::CheckSchedulingAndSwitchStateL()
{
- //<Qmail>
- FUNC_LOG;
+ //<cmail> logs removed </cmail>
iTimer->Cancel();
TMBoxLogicEvent event = EEventNop;
TTimeIntervalSeconds secondsToConnect = CalculateScheduledSyncTimeL();
-
- CIpsSosAOSettingsHandler* settings =
- CIpsSosAOSettingsHandler::NewL(iSession, iMailboxId);
- CleanupStack::PushL(settings);
-
+ //<cmail> logs removed </cmail>
if ( secondsToConnect.Int() == 0 )
{
//check last successfull sync time and check is interval reached
-
-
- IpsServices::TAOInfo info = settings->LastUpdateInfo();
+ TAOInfo info = iExtendedSettings->LastUpdateInfo();
if ( !info.iUpdateSuccessfulWithCurSettings )
{
event = EEventStartSync;
@@ -695,17 +601,14 @@
TTime now;
now.HomeTime();
TInt interval =
- settings->InboxRefreshTime() * KAOSecondsInMinute;
+ iExtendedSettings->InboxRefreshTime() * KAOSecondsInMinute;
TTimeIntervalSeconds secsFromLastSync;
now.SecondsFrom( info.iLastSuccessfulUpdate, secsFromLastSync );
if ( (secsFromLastSync.Int() > 0) && (
secsFromLastSync.Int() < interval ) )
{
// adjust timer to correct sync time
- TInt syncAfter = interval - secsFromLastSync.Int();
- INFO_1("CIpsSosAOMBoxLogic: timer scheduled: %d", syncAfter);
- iTimer->After(syncAfter);
- NM_COMMENT("CIpsSosAOMBoxLogic: switching state: EStateWaitSyncStart");
+ iTimer->After(interval - secsFromLastSync.Int());
iState = EStateWaitSyncStart;
}
else
@@ -713,15 +616,12 @@
event = EEventStartSync;
}
}
-
}
else if ( secondsToConnect.Int() == KErrNotFound )
{
// means that ao is not on (but emn is)
- NM_COMMENT("CIpsSosAOMBoxLogic: switching state: EStateIdleAndWaitCommands");
iState = EStateIdleAndWaitCommands;
-
- if ( settings->EmnReceivedButNotSyncedFlag() )
+ if ( iExtendedSettings->EmnReceivedButNotSyncedFlag() )
{
// got emn when logic was stopped
event = EEventStartSync;
@@ -729,15 +629,10 @@
}
else
{
- INFO_1("CIpsSosAOMBoxLogic: timer scheduled: %d", secondsToConnect);
iTimer->After( secondsToConnect );
- NM_COMMENT("CIpsSosAOMBoxLogic: switching state: EStateWaitSyncStart");
iState = EStateWaitSyncStart;
-
-
}
- CleanupStack::PopAndDestroy(settings);
- //</Qmail>
+
return event;
}
@@ -747,52 +642,28 @@
void CIpsSosAOMBoxLogic::CalculateToNextIntervalL()
{
FUNC_LOG;
-
+ //<cmail> logs removed </cmail>
iTimer->Cancel();
TTimeIntervalSeconds interval;
// first check and calculate scheduling function also loads settings
interval = CalculateScheduledSyncTimeL();
-
+ //<cmail> logs removed </cmail>
if ( interval.Int() == 0 )
{
// add next interval, if interval is grater than 0 it means
// that off-line time is going, user have selected days / times from
// settings
-
- //<QMail>
- CIpsSosAOSettingsHandler* settings =
- CIpsSosAOSettingsHandler::NewL(iSession, iMailboxId);
- CleanupStack::PushL(settings);
- TInt inboxRefreshTime = settings->InboxRefreshTime();
- TInt secs = inboxRefreshTime * KAOSecondsInMinute;
- INFO_1("CIpsSosAOMBoxLogic: inboxRefreshTime: %d", inboxRefreshTime);
- INFO_1("CIpsSosAOMBoxLogic: timer scheduled: %d", secs);
- if (secs > 0)
- {
- iTimer->After(TTimeIntervalSeconds(secs));
- }
- else
- {
- // panic at this point when we get zero time from settings
- __ASSERT_DEBUG( EFalse, User::Panic( KIpsSosAOPanicLit, KErrGeneral) );
- iTimer->After(TTimeIntervalSeconds(KAODefaultInboxSyncTimeSecs));
- }
-
- CleanupStack::PopAndDestroy(settings);
- //</QMail>
- NM_COMMENT("CIpsSosAOMBoxLogic: switching state: EStateWaitSyncStart");
+ iTimer->After(
+ iExtendedSettings->InboxRefreshTime() * KAOSecondsInMinute );
iState = EStateWaitSyncStart;
}
else if ( interval.Int() > 0 )
{
- INFO_1("CIpsSosAOMBoxLogic: timer scheduled: %d", interval);
iTimer->After( interval );
- NM_COMMENT("CIpsSosAOMBoxLogic: switching state: EStateWaitSyncStart");
iState = EStateWaitSyncStart;
}
else
{
- NM_COMMENT("CIpsSosAOMBoxLogic: switching state: EStateIdleAndWaitCommands");
iState = EStateIdleAndWaitCommands;
}
@@ -803,36 +674,29 @@
//
TTimeIntervalSeconds CIpsSosAOMBoxLogic::CalculateScheduledSyncTimeL()
{
- FUNC_LOG;
- //<Qmail>
-
- TTimeIntervalSeconds seconds=KErrNotFound;
-
+ FUNC_LOG;
+ //<cmail> logs removed </cmail>
+ LoadSettingsL();
+ TTimeIntervalSeconds seconds;
- CIpsSosAOSettingsHandler* settings =
- CIpsSosAOSettingsHandler::NewL(iSession, iMailboxId);
- CleanupStack::PushL(settings);
-
// first check is ao or emn on at all
- if ( (settings->AlwaysOnlineState() == IpsServices::EMailAoOff &&
- settings->EmailNotificationState() == IpsServices::EMailEmnOff )||
- settings->SelectedWeekDays() == 0 ) // no week days chosen
+ if ( (iExtendedSettings->AlwaysOnlineState() == EMailAoOff &&
+ iExtendedSettings->EmailNotificationState() == EMailEmnOff )||
+ iExtendedSettings->SelectedWeekDays() == 0 ) // no week days chosen
{
// no timed sync on
- CleanupStack::PopAndDestroy(settings);
return KErrNotFound;
}
- if ( settings->EmailNotificationState() != IpsServices::EMailEmnOff &&
- !settings->EmnReceivedButNotSyncedFlag() )
+ if ( iExtendedSettings->EmailNotificationState() != EMailEmnOff &&
+ !iExtendedSettings->EmnReceivedButNotSyncedFlag() )
{
- CleanupStack::PopAndDestroy(settings);
return KErrNotFound;
}
CIpsSosAOSchedulerUtils* scheduler = CIpsSosAOSchedulerUtils::NewLC(
- *settings );
+ *iExtendedSettings );
TIpsSosAOConnectionType type = scheduler->SecondsToNextMark( seconds );
if ( type == EAOCDisconnectAfter )
@@ -848,9 +712,7 @@
// this means that user have choosed time/day schedule at
// timed sync and now we have to wait sync time
}
- CleanupStack::PopAndDestroy( 2, settings );
-
- //</QMail>
+ CleanupStack::PopAndDestroy( scheduler );
return seconds;
}
@@ -860,9 +722,12 @@
void CIpsSosAOMBoxLogic::LoadSettingsL()
{
FUNC_LOG;
- //<QMail>
- //removed loading
- //</QMail>
+ //<cmail> logs removed </cmail>
+ delete iExtendedSettings;
+ iExtendedSettings = NULL;
+ iExtendedSettings = CIpsSetDataExtension::NewL();
+ iDataApi->LoadExtendedSettingsL( iMailboxId, *iExtendedSettings );
+ //<cmail> logs removed </cmail>
}
// ----------------------------------------------------------------------------
@@ -873,22 +738,16 @@
FUNC_LOG;
TTime now;
now.HomeTime();
- //<QMail>
-
-
- CIpsSosAOSettingsHandler* settings =
- CIpsSosAOSettingsHandler::NewL(iSession, iMailboxId);
- CleanupStack::PushL(settings);
-
- IpsServices::TAOInfo info;
+ LoadSettingsL();
+ TAOInfo info;
info.iLastSuccessfulUpdate = now;
info.iUpdateSuccessfulWithCurSettings = ETrue;
- settings->SetLastUpdateInfo( info );
+ info.iLastUpdateFailed=EFalse;
+ iExtendedSettings->SetLastUpdateInfo( info );
// clear flag
- settings->SetEmnReceivedButNotSyncedFlag( EFalse );
-
- CleanupStack::PopAndDestroy(settings);
- //</QMail>
+ iExtendedSettings->SetEmnReceivedButNotSyncedFlag( EFalse );
+ iDataApi->SaveExtendedSettingsL(
+ *iExtendedSettings );
}
// ----------------------------------------------------------------------------
@@ -896,28 +755,21 @@
TBool CIpsSosAOMBoxLogic::CanConnectIfRoamingL()
{
FUNC_LOG;
- TBool ret = EFalse;
- //<Qmail>
- RCmManager mgr;
- CleanupClosePushL(mgr);
- TRAPD(err, mgr.OpenL());
+ TBool ret = ETrue;
+
+ RCmManager cmManager;
+ cmManager.OpenLC();
+ TCmGenConnSettings OccSettings;
- TCmGenConnSettings set;
- if(err==KErrNone){
- TRAP(err, mgr.ReadGenConnSettingsL(set));
+ //ask roaming settings from occ
+ cmManager.ReadGenConnSettingsL(OccSettings);
+ if(OccSettings.iCellularDataUsageVisitor == ECmCellularDataUsageDisabled && iIsRoaming)
+ {
+ ret = EFalse;
}
- CleanupStack::PopAndDestroy(&mgr);
+ CleanupStack::PopAndDestroy(&cmManager); // cmManager
- if( err==KErrNone &&
- set.iCellularDataUsageVisitor == ECmCellularDataUsageAutomatic){
- ret = ETrue;
- }
- else{
- ret = EFalse;
- }
-
- //</QMail>
return ret;
}
@@ -925,48 +777,80 @@
// ----------------------------------------------------------------------------
TBool CIpsSosAOMBoxLogic::FirstEMNReceived()
{
- //<QMail>
- CIpsSosAOSettingsHandler* settings = NULL;
- TBool ret = EFalse;
- TRAP_IGNORE(CIpsSosAOSettingsHandler::NewL(iSession, iMailboxId));
- if(settings){
- ret = settings->FirstEmnReceived();
- delete settings;
- }
-
- return ret;
-
- //</QMail>
+ return iExtendedSettings->FirstEmnReceived();
}
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
void CIpsSosAOMBoxLogic::SetFirstEMNReceived()
{
- //<QMail>
+ TRAP_IGNORE( LoadSettingsL() );
+ iExtendedSettings->SetFirstEmnReceived( ETrue );
+
+ //if alwaysonline was allowed to roam, so will EMN be.
+ iExtendedSettings->SetEmailNotificationState( EMailEmnAutomatic );
+
- CIpsSosAOSettingsHandler* settings = NULL;
- TRAP_IGNORE( settings =
- CIpsSosAOSettingsHandler::NewL(iSession, iMailboxId));
+ // set always online state off when emn is on
+ iExtendedSettings->SetAlwaysOnlineState( EMailAoOff );
+ iExtendedSettings->SetInboxRefreshTime( KErrNotFound );
- if(settings){
- settings->SetFirstEmnReceived( ETrue );
-
+ TRAP_IGNORE( iDataApi->SaveExtendedSettingsL(
+ *iExtendedSettings ) );
- //if alwaysonline was allowed to roam, so will EMN be.
- settings->SetEmailNotificationState(
- settings->AlwaysOnlineState() ==
- IpsServices::EMailAoAlways ?
- IpsServices::EMailEmnAutomatic : IpsServices::EMailEmnHomeOnly );
-
-
- // set always online state off when emn is on
- settings->SetAlwaysOnlineState( IpsServices::EMailAoOff );
- delete settings;
+ }
+//<cmail> removing flags
+/*
+#ifdef IPSSOSIMAPPOLOGGING_ON
+// ----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
+//
+void CIpsSosAOMBoxLogic::WriteDebugData( TInt aEvent )
+ {
+ switch ( aEvent )
+ {
+ case EEventTimerFired:
+ break;
+ case EEventStartSync:
+ break;
+ case EEventFetchMessages:
+ break;
+ case EEventOperationCompleted:
+ break;
+ case EEventSuspendOperations:
+ break;
+ case EEventContinueOperations:
+ break;
+ case EEventStart:
+ break;
+ case EEventStopAndRemoveOps:
+ break;
+ case EEventNop:
+ break;
+ default:
+ break;
}
-
- //</QMail>
+
+ switch ( iState )
+ {
+ case EStateWaitSyncStart:
+ break;
+ case EStateSyncOngoing:
+ break;
+ case EStateFetchOngoing:
+ break;
+ case EStateSuspended:
+ break;
+ case EStateIdleAndWaitCommands:
+ break;
+ case EStateError:
+ break;
+ default:
+ break;
+ };
}
+#endif // IPSSMTPLOGGING_ON*/
+//</cmail>
// End of file