diff -r 578830873419 -r ecc8def7944a emailservices/emailcommon/inc/CFSMailMessagePart.h --- a/emailservices/emailcommon/inc/CFSMailMessagePart.h Fri Apr 16 14:51:52 2010 +0300 +++ b/emailservices/emailcommon/inc/CFSMailMessagePart.h Mon May 03 12:23:15 2010 +0300 @@ -38,7 +38,6 @@ class CFSMailPlugin; class CFSMailMessage; class MFSMailRequestObserver; -class CFSMailRequestHandler; const TInt KArrayGranularity = 16; @@ -51,7 +50,7 @@ NONSHARABLE_CLASS ( CFSMailMessagePart ) : public CFSMailMessageBase { public: - // +// /** * Enumeration to indicate data source */ @@ -60,7 +59,7 @@ EDataSourceMessageStore = 0, // plugin (data from message store) EDataSourceLocal // internal private shared object }; - // +// public: @@ -80,31 +79,35 @@ */ IMPORT_C static CFSMailMessagePart* NewLC( TFSMailMsgId aMessageId, TFSMailMsgId aMessagePartId ); +// /** * Two-phased constructor. * * @param aMessageId message id in plugin containing email */ IMPORT_C static CFSMailMessagePart* NewLC( const NmId &aNmMessageId, const NmMessagePart& aNmMessagePart ); - +// + /** * destructor */ IMPORT_C virtual ~CFSMailMessagePart(); - /** + /** * email part id accessor * * @return email part id */ IMPORT_C TFSMailMsgId GetPartId() const; +// /** * email part content-type accessor (e.g. "text/plain") * * @return email part content type */ IMPORT_C const TDesC& GetContentType() const; +// /** * email part content-type mutator @@ -123,8 +126,8 @@ IMPORT_C CDesCArray& ContentTypeParameters(); /** - * Returns email Content-Description value, includes also parameters, - * if any. + * Returns email Content-Description value, includes also parameters, + * if any. * * @return email Content-Description */ @@ -195,7 +198,8 @@ * saves this message part */ IMPORT_C void SaveL(); - + +// /** * lists all direct child parts of this email part * @@ -204,6 +208,7 @@ */ IMPORT_C void ChildPartsL(RPointerArray& aParts, TFSMailMessagePartDataSource aDataSource = EDataSourceMessageStore); +// /** * Returns child part of this part identified by part id. @@ -219,7 +224,7 @@ * * @return ETrue if this email part is email */ - IMPORT_C virtual TBool IsMessageL() const; + IMPORT_C virtual TBool IsMessageL() const; /** * Creates and adds a new child part to this email part @@ -235,7 +240,7 @@ /** * Copies given email object as new child part of this email part or email. - * + * * @param aInsertBefore defines place of where new child part is created, * if aInsertBefore is NULL id then new part is added as last. * @param aMessage message to be copied as child part @@ -252,6 +257,20 @@ */ IMPORT_C void RemoveChildPartL(TFSMailMsgId aPartId); +// + /** + * Removes child part (and it's children, if any) from this email part + * + * @param aPartId part id of the email part to be removed + * @param aOperationObserver Observer for the operation + * + * @return id of the request, KErrNotSupported if the protocol plugin this + * instance is attached to does not support the async method. + */ + IMPORT_C TInt RemoveChildPartL( TFSMailMsgId aPartId, + MFSMailRequestObserver& aOperationObserver); +// + /** * Retrieves a read-only file handle for the content file of this message part. * The caller must close the file handle. @@ -334,7 +353,7 @@ * @param aStartOffset offset from content begin */ IMPORT_C void GetContentToBufferL(TDes16& aBuffer, TUint aStartOffset); - + /** * copies email part contents from buffer given by user * @@ -342,41 +361,34 @@ */ IMPORT_C void SetContent(TDes16& aBuffer); - /** + /** * meeting request accessor if email part is a meeting request * * @return meeting request object */ IMPORT_C MMRInfoObject& GetMRInfo(); - - /** - * stores given meeting request object as email part - * - * @param aMeetingRequest meeting request object - */ + + /** + * stores given meeting request object as email part + * + * @param aMeetingRequest meeting request object + */ IMPORT_C void SetMRInfo(MMRInfoObject* aMeetingRequest); /** - * method checks if MRInfo exists - * - * @return true / false - */ - IMPORT_C TBool IsMRInfoSet(); + * method checks if MRInfo exists + * + * @return true / false + */ + IMPORT_C TBool IsMRInfoSet(); /** - * plugin request handler accessor - * - * @return request handler - */ - IMPORT_C CFSMailRequestHandler& RequestHandler( ); - - /** * Sets attachment name for email part. Full path can be * given as input even though only filename is saved. * * @param aFilePath attachment name */ - IMPORT_C void SetAttachmentNameL(const TDesC& aFilePath); + IMPORT_C void SetAttachmentNameL(const TDesC& aFilePath); /** * returns email part attachment name @@ -384,7 +396,8 @@ * @return attachment name */ IMPORT_C TDesC& AttachmentNameL(); - + +// /** * finds email body part based on given content type * (plain text or html body part of email message) @@ -396,7 +409,16 @@ */ IMPORT_C CFSMailMessagePart* FindBodyPartL(const TDesC& aContentType, TFSMailMessagePartDataSource aDataSource = EDataSourceMessageStore); +// + /** + * Checks that content type matches given. + * + * @param aContentType body part content type to be checked + * + * @return ETrue if content type of message part matches tto given + */ + IMPORT_C TBool ContentTypeMatches( const TDesC& aContentType ); /** * starts email part fetching from email server @@ -411,9 +433,9 @@ * * @return err code */ - IMPORT_C TInt FetchMessagePartL( const TFSMailMsgId aMessagePartId, - MFSMailRequestObserver& aOperationObserver, - const TUint aPreferredByteCount); + IMPORT_C TInt FetchMessagePartL( const TFSMailMsgId aMessagePartId, + MFSMailRequestObserver& aOperationObserver, + const TUint aPreferredByteCount); /** * starts email parts fetching from email server @@ -428,36 +450,36 @@ * * @return err code */ - IMPORT_C TInt FetchMessagesPartsL( const RArray& aMessagePartIds, - MFSMailRequestObserver& aOperationObserver, - const TUint aPreferredByteCount); - /** - * creates a list containing all email / email part subparts - * - * @param aParts email part list given/owned by user - */ - IMPORT_C void AppendAttachmentsL(RPointerArray& aParts); + IMPORT_C TInt FetchMessagesPartsL( const RArray& aMessagePartIds, + MFSMailRequestObserver& aOperationObserver, + const TUint aPreferredByteCount); + /** + * creates a list containing all email / email part subparts + * + * @param aParts email part list given/owned by user + */ + IMPORT_C void AppendAttachmentsL(RPointerArray& aParts); - /** - * sets email part fetch status - * - * @param aMessagePartStatus (EFSMessagePartsKnown) - */ + /** + * sets email part fetch status + * + * @param aMessagePartStatus (EFSMessagePartsKnown) + */ IMPORT_C void SetMessagePartsStatus(TFSPartFetchState aMessagePartStatus); /** - * Adds new attachment to this email (part). - * - * @param aFilePath full path of new attachment. - * @param aInsertBefore defines position of new attachment, - * if NullId then new attachment is created as last part. - * @param aContentType attachment content type + * Adds new attachment to this email (part). + * + * @param aFilePath full path of new attachment. + * @param aInsertBefore defines position of new attachment, + * if NullId then new attachment is created as last part. + * @param aContentType attachment content type * @return new email part, ownership is transferred to user - */ - IMPORT_C CFSMailMessagePart* AddNewAttachmentL( const TDesC& aFilePath, - const TFSMailMsgId aInsertBefore, - const TDesC& aContentType ); + */ + IMPORT_C CFSMailMessagePart* AddNewAttachmentL( const TDesC& aFilePath, + const TFSMailMsgId aInsertBefore, + const TDesC& aContentType ); /** * read only part size accessor (character or byte count) * @@ -478,16 +500,16 @@ */ IMPORT_C void RemoveDownLoadedAttachmentsL(); - // +// /** * gets the new NmMessagePart object * * @return NmMessagePart object */ IMPORT_C NmMessagePart* GetNmMessagePart(); - // +// - // +// /** * Gets the text content from private shared object. * Returns the ownership of text buffer to caller. @@ -496,7 +518,7 @@ * @return HBufC* */ IMPORT_C HBufC* GetLocalTextContentLC(); - // +// public: // data @@ -512,7 +534,7 @@ * lists subparts */ void ListMessagePartsL( RPointerArray& aParts ); - + /** * clears internal part array */ @@ -521,7 +543,7 @@ /** * finds id of body part */ - TFSMailMsgId FindBodyPartIdL(const TDesC& aContentType); + TFSMailMsgId FindBodyPartIdL(const TDesC& aContentType); /** * Returns a flat list of message parts that can be handled as attachments. @@ -534,37 +556,37 @@ protected: // data - CFSMailRequestHandler* iRequestHandler; - /** * email fetch from email server status */ - TFSPartFetchState iMessagePartsStatus; + TFSPartFetchState iMessagePartsStatus; +// /** * message part MIME type - pointer descriptor to access QString object */ mutable TPtrC iContentTypePtr; +// /** message parts array */ RPointerArray iMessageParts; TBool iReadMessageParts; - // +// /** * Reference to QT side of the message meta data object. */ QExplicitlySharedDataPointer iNmPrivateMessagePart; - // +// protected: - /** + /** * Two-phased constructor */ void ConstructL( TFSMailMsgId aMessageId, TFSMailMsgId aMessagePartId ); - // +// /** * Two-phased constructor */ @@ -572,16 +594,20 @@ void ConstructL(const NmMessagePart& aNmMessagePart, const NmMessageEnvelope& aNmMessageEnvelope); - // +// + +private: // data -private: // data - +// +// Unnecessary members removed: iMessagePartId, iContentSize, iFetchedContentSize +// /** read only part size */ TUint iReadOnlyPartSize; /** fetched from email server indication */ TBool iIsFetched; +// /** * email content decription - pointer descriptor to access QString object */ @@ -591,6 +617,7 @@ * email content disposition - pointer descriptor to access QString object */ mutable TPtrC iContentDispositionPtr; +// /** attachment name */ HBufC *iAttachmentName; @@ -598,10 +625,12 @@ /** email content class */ HBufC *iContentClass; +// /** * email content id - pointer descriptor to access QString object */ - mutable TPtrC iContentIDPtr; + mutable TPtrC iContentIDPtr; +// /** content disposition parameters */ CDesCArray *iContentDispositionParams; @@ -610,7 +639,7 @@ CDesCArray *iContentTypeParams; /** meeting request object */ - MMRInfoObject* iMeetingRequest; + MMRInfoObject* iMeetingRequest; /* temp file handle */ RFile iFile;