email/imap4mtm/imapsession/inc/cimapcapability.h
changeset 0 72b543305e3a
equal deleted inserted replaced
-1:000000000000 0:72b543305e3a
       
     1 // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 //
       
    15 
       
    16 #ifndef __CIMAPCAPABILITY_H__
       
    17 #define __CIMAPCAPABILITY_H__
       
    18 
       
    19 #include <e32std.h>
       
    20 
       
    21 #include "cimapcommand.h"
       
    22 
       
    23 // Forward Declaration
       
    24 class CImapCapabilityInfo;
       
    25 
       
    26 /**
       
    27 The CImapCapability class encapsulates the sending of the IMAP capability
       
    28 command to the remote server. It will also parse the response data from
       
    29 the remote server. The parser API, having parsed the response data, 
       
    30 will set the iCapabilityInfo variable bit filled depending on the capabilities 
       
    31 returned by the remote server.
       
    32 @internalTechnology
       
    33 @prototype
       
    34 */
       
    35 class CImapCapability : public CImapCommandEx
       
    36 	{
       
    37 public:
       
    38 	// Construction and Destruction
       
    39 	static CImapCapability* NewL(CImapFolderInfo* aSelectedFolderData, TInt aLogId, CImapCapabilityInfo& aCapabilityInfo);
       
    40 	~CImapCapability();
       
    41 
       
    42 protected:
       
    43 	CImapCapability(CImapFolderInfo* aSelectedFolderData, TInt aLogId, CImapCapabilityInfo& aCapabilityInfo);
       
    44 	void ConstructL();
       
    45 	
       
    46 	void ParseCapabilityDataL(const TDesC8& aCapabilityData);
       
    47 	
       
    48 private:
       
    49 	// Implements CImapCommand
       
    50 	void SendMessageL(TInt aTagId, MOutputStream& aStream);
       
    51 	TParseBlockResult ParseUntaggedResponseL();
       
    52 
       
    53 private:
       
    54 	CImapCapabilityInfo& iCapabilityInfo;
       
    55 	};
       
    56 					 
       
    57 #endif // __CIMAPCAPABILITY_H__