epoc32/include/mw/biocmtm.h
branchSymbian3
changeset 4 837f303aceeb
equal deleted inserted replaced
3:e1b950c65cb4 4:837f303aceeb
       
     1 // Copyright (c) 1998-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 #if !defined(__CIOCMTM_H__)
       
    17 #define __BIOCMTM_H__
       
    18 #if !defined(__E32BASE_H__)
       
    19 #include <e32base.h>
       
    20 #endif
       
    21 #if !defined(__MTCLBASE_H__)
       
    22 #include <mtclbase.h>
       
    23 #endif
       
    24 
       
    25 #ifndef SYMBIAN_ENABLE_SPLIT_HEADERS  
       
    26 #include <bsp.h>
       
    27 #endif
       
    28 
       
    29 
       
    30 
       
    31 // forward declarations
       
    32 class CBIODatabase;
       
    33 
       
    34 
       
    35 class CBIOClientMtm : public CBaseMtm
       
    36 /** BIO client MTM interface.
       
    37 
       
    38 The BIO client MTM is simply responsible for requesting BIO message parser 
       
    39 operations to the BIO Server MTM through InvokeAsyncFunctionL(). Many of the 
       
    40 other base class functions are implemented to do nothing. 
       
    41 @publishedPartner
       
    42 @released
       
    43 */
       
    44 	{
       
    45 public:
       
    46 	IMPORT_C static CBIOClientMtm* NewL(CRegisteredMtmDll& aRegisteredMtmDll, CMsvSession& aSession);
       
    47 	~CBIOClientMtm();
       
    48 	// from MMsvEntryObserver
       
    49 	void HandleEntryEvent(TMsvEntryEvent aEvent, TAny* aArg1, TAny* aArg2, TAny* aArg3);
       
    50 	//
       
    51 	// from CBaseMtm
       
    52 	void SaveMessageL(); 
       
    53 	void LoadMessageL();
       
    54 	CMsvOperation* ReplyL  (TMsvId aDestination, TMsvPartList aPartlist, TRequestStatus& aCompletionStatus);
       
    55 	CMsvOperation* ForwardL(TMsvId aDestination, TMsvPartList aPartList, TRequestStatus& aCompletionStatus);
       
    56 	TMsvPartList ValidateMessage(TMsvPartList aPartList);
       
    57 	TMsvPartList Find(const TDesC& aTextToFind, TMsvPartList aPartList);
       
    58 	void AddAddresseeL(const TDesC& aRealAddress);
       
    59 	void AddAddresseeL(const TDesC& aRealAddress, const TDesC& aAlias);
       
    60 	void RemoveAddressee(TInt aIndex);
       
    61 	// --- RTTI functions ---
       
    62 	TInt QueryCapability(TUid aCapability, TInt& aResponse);
       
    63 	void InvokeSyncFunctionL(TInt aFunctionId,const CMsvEntrySelection& aSelection, TDes8& aParameter);
       
    64 	CMsvOperation*  InvokeAsyncFunctionL(TInt aFunctionId,const CMsvEntrySelection& aSelection, TDes8& aParameter, TRequestStatus& aCompletionStatus);
       
    65 protected:
       
    66 	//
       
    67 	// from CBaseMtm
       
    68 	void ContextEntrySwitched();
       
    69 	//
       
    70 private:
       
    71 	CBIOClientMtm(CRegisteredMtmDll& aRegisteredMtmDll, CMsvSession& aSession);
       
    72 	void ConstructL();
       
    73 	//
       
    74 	void FindInDescriptionL(const TDesC& aTextToFind, TMsvPartList aPartList,TMsvPartList& aFoundList);
       
    75 	void FindInOriginatorL(const TDesC& aTextToFind, TMsvPartList aPartList,TMsvPartList& aFoundList);
       
    76 	void FindInBodyL(const TDesC& aTextToFind, TMsvPartList aPartList,TMsvPartList& aFoundList);
       
    77 private:
       
    78 	RFs					iFs;
       
    79 	CBIODatabase*		iBioDatabase;
       
    80 	};
       
    81 
       
    82 
       
    83 #endif