messagingappbase/smsmtm/clientmtm/inc/csmsgetdetdescinterface.h
changeset 25 84d9eb65b26f
parent 23 238255e8b033
child 27 e4592d119491
child 37 518b245aa84c
child 79 2981cb3aa489
equal deleted inserted replaced
23:238255e8b033 25:84d9eb65b26f
     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 __CSMSGETDETDESCINTERFACE_H__
       
    17 #define __CSMSGETDETDESCINTERFACE_H__
       
    18 
       
    19 #include <e32base.h>
       
    20 #include <ecom/ecom.h>
       
    21 #include <badesca.h>
       
    22 #include <smut.h>
       
    23 
       
    24 // Forward class references
       
    25 class CSmsMessage;
       
    26 
       
    27 /**
       
    28 ECOM interface definition for the routines used to create the details and
       
    29 description values for an SMS.
       
    30 
       
    31 Note: Default parameters are included to provide an equivalent interface to that
       
    32 previously provided by TSmsUtilities.
       
    33 Implementers of substitute plugins should be aware that the value of the default 
       
    34 arguments specified in each of the functions, ie aMaxLength = KSmsDetailsLength, 
       
    35 cannot be overridden by specifying a new value in the plugin implementation, as
       
    36 the APIs are always called via a base-class pointer.
       
    37 
       
    38 @publishedPartner
       
    39 @released
       
    40 */
       
    41 class CSmsGetDetDescInterface : public CBase
       
    42 	{
       
    43 public:
       
    44 	static CSmsGetDetDescInterface* NewL();
       
    45 	virtual ~CSmsGetDetDescInterface();
       
    46 
       
    47 	virtual TInt GetDetails(RFs& aFs, const CSmsMessage& aMessage, TDes& aDetails, TInt aMaxLength = KSmsDetailsLength) = 0;
       
    48 	virtual TInt GetDetails(RFs& aFs, const TDesC& aFromAddress, TDes& aDetails, TInt aMaxLength = KSmsDetailsLength) = 0;
       
    49 	virtual TInt GetDescription(const CSmsMessage& aMessage, TDes& aDescription, TInt aMaxLength = KSmsDescriptionLength) = 0;
       
    50 
       
    51 protected:
       
    52 	inline CSmsGetDetDescInterface();
       
    53 
       
    54 private:
       
    55 	TUid iDtor_ID_Key;
       
    56 	};
       
    57 
       
    58 #include <csmsgetdetdescinterface.inl>
       
    59 
       
    60 #endif // __CSMSGETDETDESCINTERFACE_H__