// ---------------------------------------------------------------------------- // CIpsPlgPop3ConnectOp::ConstructL() // ---------------------------------------------------------------------------- // void CIpsPlgPop3ConnectOp::ConstructL() { FUNC_LOG; BaseConstructL( KUidMsgTypePOP3 ); // <qmail> iSelection construction has been removed CMsvEntry* cEntry = iMsvSession.GetEntryL( iService ); User::LeaveIfNull( cEntry ); // NOTE: Not using cleanupStack as it is not needed in this situation: const TMsvEntry tentry = cEntry->Entry(); delete cEntry; cEntry = NULL; if ( tentry.iType.iUid != KUidMsvServiceEntryValue ) { // should we panic with own codes? User::Leave( KErrNotSupported ); } // <qmail> no need to have population limit as member variable // <qmail> it is read from settings when needed if ( tentry.Connected() ) { iState = EConnected; // <qmail> iAlreadyConnected removed } else { iState = EStartConnect; } // <qmail> SetActive(); moved inside CompleteThis(); CompleteThis(); }
// ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // void CIpsSosAOImapPopLogic::HandleMsvSessionEventL( MMsvSessionObserver::TMsvSessionEvent aEvent, TAny* aArg1, TAny* aArg2, TAny* /*aArg3*/ ) { FUNC_LOG; switch( aEvent ) { case MMsvSessionObserver::EMsvEntriesCreated: handleEntriesCreatedL(aArg1); break; case MMsvSessionObserver::EMsvEntriesChanged: { TMsvId parent = (*(TMsvId*) (aArg2)); //we check that parent is the root. if not, it cannot be an //event from service, thus can't be from connection change.. if ( parent == KMsvRootIndexEntryId ) { const CMsvEntrySelection* selection = static_cast<CMsvEntrySelection*>( aArg1 ); TMsvEntry tEntry; TMsvId service; if ( selection->Count() ) { iSession.GetEntry( selection->At(0), service, tEntry ); } if ( !tEntry.Connected() ) { SendCommandToSpecificMailboxL( tEntry.Id(), CIpsSosAOMBoxLogic::ECommandClearDoNotDisconnect ); } } } break; case MMsvSessionObserver::EMsvEntriesDeleted: { TMsvId parent = (*(TMsvId*) (aArg2)); //we check that parent is the root. if not, it cannot be an //event indicating deleted mailbox entry if ( parent == KMsvRootIndexEntryId ) { RemoveOrphanLogicsL(); } } break; case MMsvSessionObserver::EMsvEntriesMoved: default: break; }; }
// ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- TBool CIpsSosAOImapAgent::IsConnected() const { FUNC_LOG; TBool ret = EFalse; TMsvEntry tentry; TMsvId service; TInt err = iSession.GetEntry( iServiceId, service, tentry ); if ( err == KErrNone ) { ret = tentry.Connected(); } return ret; }
// ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- void CIpsPlgImap4PopulateOp::DoRunL() { FUNC_LOG; TInt err = iStatus.Int(); delete iSubOperation; iSubOperation = NULL; switch( iState ) { case EStateConnecting: { TMsvEntry tentry; TMsvId service; iMsvSession.GetEntry(iService, service, tentry ); if( !tentry.Connected() ) { CompleteObserver( KErrCouldNotConnect ); return; } DoPopulateL(); break; } case EStateFetching: { if( err != KErrNone && iSubOperation ) { iFetchErrorProgress = iSubOperation->ProgressL().AllocL(); iState = EStateIdle; Complete(); } break; } case EStateInfoEntryChange: { DoPopulateL(); break; } case EStateIdle: default: break; } }