williamr@2: // Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@2: // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members williamr@2: // which accompanies this distribution, and is available williamr@2: // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // williamr@2: williamr@2: #if !defined(__IMAPCONNECTIONOBSERVER_H__) williamr@2: #define __IMAPCONNECTIONOBSERVER_H__ williamr@2: williamr@2: /** IMAP4 connection observer events. williamr@2: williamr@2: @see MMsvImapConnectionObserver williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: enum TImapConnectionEvent williamr@2: { williamr@2: /** Connecting to server. */ williamr@2: EConnectingToServer, williamr@2: /** Synchronising folder list. */ williamr@2: ESynchronisingFolderList, williamr@2: /** Synchronising inbox. */ williamr@2: ESynchronisingInbox, williamr@2: /** Synchronising folders. */ williamr@2: ESynchronisingFolders, williamr@2: /** Synchronisation complete. */ williamr@2: ESynchronisationComplete, williamr@2: /** Disconnecting. */ williamr@2: EDisconnecting, williamr@2: /** Connection completed. */ williamr@2: EConnectionCompleted williamr@2: }; williamr@2: williamr@2: // Mix-in class to allow observation of the stages of an IMAP operation williamr@2: // williamr@2: class MMsvImapConnectionObserver williamr@2: /** Abstract base class used for IMAP4 connection observation. williamr@2: williamr@2: A derived class to handle IMAP4 connection events should override the HandleImapConnectionEvent() williamr@2: member function. williamr@2: williamr@2: Objects that implement this interface are passed as a packaged parameter williamr@2: to CImap4ClientMtm::InvokeAsyncFunctionL() when a connection command is issued. williamr@2: williamr@2: @publishedAll williamr@2: @released williamr@2: williamr@2: @see TImap4Cmds williamr@2: */ williamr@2: { williamr@2: public: williamr@2: /** Called when a connection event occurs. williamr@2: williamr@2: @param aConnectionState Connection event */ williamr@2: virtual void HandleImapConnectionEvent(TImapConnectionEvent aConnectionState)=0; williamr@2: }; williamr@2: williamr@2: #endif