diff -r 000000000000 -r 72b543305e3a email/imap4mtm/imapservermtm/inc/cimapupsresponsewaiter.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/email/imap4mtm/imapservermtm/inc/cimapupsresponsewaiter.h Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,69 @@ +// cimapupsresponsewaiter.h + +// Copyright (c) 2007-2009 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: +// + +#ifndef __CIMAPUPSRESPONSEWAITER_H__ +#define __CIMAPUPSRESPONSEWAITER_H__ + +#include +#include +#include + +using namespace UserPromptService; + +class CMsvServerEntry; +class CImapProtocolController; +class CMsgActive; +class CMsvEntrySelection; + +/** +An class that is used for connect to the UPS server and check if the client is authorised +to connect to the remote server. +@internalComponent +@released +*/ + +NONSHARABLE_CLASS (CImapUpsResponseWaiter) : public CMsgActive + { +public: + static CImapUpsResponseWaiter* NewL(CMsvServerEntry& aServerEntry, CImapProtocolController& aImapProtocolController); + ~CImapUpsResponseWaiter(); + void AuthoriseAndConnectL(CMsvEntrySelection& aEntrySelection, TInt aCommand, TThreadId aClientThreadId, TBool aHasCapability, TRequestStatus& aStatus); + +protected: + CImapUpsResponseWaiter(CMsvServerEntry& aServerEntry, CImapProtocolController& aImapProtocolController); + + // from CMsgActive; + void DoRunL(); + void DoCancel(); +private: + CMsvServerEntry& iServerEntry; + CImapProtocolController& iImapProtocolController; + CMsvEntrySelection* iEntrySelection; + /** For interaction with UPS server */ + RUpsSession iUpsSession; + RUpsSubsession iUpsSubsession; + TUpsDecision iDecision; + enum TImapConnectState + { + EIMAP4MTMDisConnected, + EIMAP4MTMConnect, + EIMAP4MTMConnectAndSynchronise, + EIMAP4MTMConnected + }iState; + }; + +#endif// __CIMAPUPSRESPONSEWAITER_H__