diff -r 000000000000 -r 72b543305e3a msg_plat/messaging_editor_api/inc/MsgAttachmentUtils.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/msg_plat/messaging_editor_api/inc/MsgAttachmentUtils.h Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,219 @@ +/* +* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: MsgAttachmentUtils declaration +* +*/ + + + +#ifndef MSGATTACHMENTUTILS_H +#define MSGATTACHMENTUTILS_H + +// ========== INCLUDE FILES ================================ + +#include +#include +#include // for CDesCArray +#include // for MediaGallery +#include +#include +#include +#include + +// ========== CONSTANTS ==================================== + +// ========== MACROS ======================================= + +// ========== DATA TYPES =================================== + +// ========== FUNCTION PROTOTYPES ========================== + +// ========== FORWARD DECLARATIONS ========================= + +class CFbsBitmap; +class CAiwGenericParamList; +class CCoeEnv; + +// ========== CLASS DECLARATION ============================ + +/** + * Attachment utilities. + * + */ +class MsgAttachmentUtils + { + public: + enum TMsgAttachmentFetchType + { + EUnknown = 0, + EImage, + EAudio, + EVideo, + ENote, + ENewImage, + ENewAudio, + ENewVideo, + ESVG + }; + + /** + * Fetches an attachment of given type from external application. + * @param aType Fetch type. + * @param aFileName OUT: filename of the fetched file. + * @param aCheckDiskSpace Deprecated! No disk space check done ever. + * @return EFalse if fetch canceled. + */ + IMPORT_C static TBool FetchFileL( + TMsgAttachmentFetchType aType, + TFileName& aFileName, + TBool aCheckDiskSpace = EFalse ); + + /** + * Fetches an attachment of given type from external application. + * @param aType Fetch type. + * @param aFileName OUT: filename of the fetched file. + * @param aAppUid app uid used for filtering sound files in audio fetch. + * @param aCheckDiskSpace Deprecated! No disk space check done ever. + * @return EFalse if fetch canceled. + */ + IMPORT_C static TBool FetchFileL( + TMsgAttachmentFetchType aType, + TFileName& aFileName, + const TUid& aAppUid, + TBool aCheckDiskSpace = EFalse ); + + /** + * Fetches an attachment of given type from external application. + * @param aType Fetch type. + * @param aFileName OUT: filename of the fetched file. + * @param aSelectedFiles OUT: array of selected files. + * @param aCheckDiskSpace Deprecated! No disk space check done ever. + * @param aMultiSelect if ETrue Media Gallery allows multiselect in file list. + * @param aVerifier To verify selection. + * @return EFalse if fetch canceled. + */ + + IMPORT_C static TBool FetchFileL( + TMsgAttachmentFetchType aType, + TFileName& aFileName, + CDesCArray& aSelectedFiles, + TBool aCheckDiskSpace = EFalse, + TBool aMultiSelect = EFalse, + MMGFetchVerifier* aVerifier = NULL ); + + /** + * Fetches an attachment of given type from external application. + * @param aType Fetch type. + * @param aSelectedFiles OUT: array of selected files. + * @param aParams Generic AIW parameters + * @param aCheckDiskSpace Deprecated! No disk space check done ever. + * @param aMultiSelect if ETrue Media Gallery allows multiselect in file list. + * @param aVerifier To verify selection. + * @return EFalse if fetch canceled. + */ + + IMPORT_C static TBool FetchFileL( + TMsgAttachmentFetchType aType, + CDesCArray& aSelectedFiles, + CAiwGenericParamList* aParams, + TBool aCheckDiskSpace = EFalse, + TBool aMultiSelect = EFalse, + MMGFetchVerifier* aVerifier = NULL ); + + /** + * Fetches an any attachment file from external application. + * @param aFileName OUT: filename of the fetched file. + * @param aCoeEnv Control environment + * @param aFilter To filter shown files. + * @param aVerifier To verify selection. + * @return EFalse if fetch canceled. + */ + IMPORT_C static TBool FetchAnyFileL( TFileName& aFileName, + CCoeEnv& aCoeEnv, + MAknFileSelectionObserver* aVerifier = NULL, + MAknFileFilter* aFilter = NULL ); + + /** + * Creates a new bitmap by drawing first and second on top of each other. + * + * The given bitmaps must be valid, i.e. in case they are SVG-bitmaps + * SetSize must be called before the icons can be combined. + * + * @param aFirstBmp first bitmap to be drawn. + * @param aSecondBmp second bitmap to be drawn on top of first. + * @param aSecondBmpMask second bitmap mask. + * @return new bitmap. + */ + IMPORT_C static CFbsBitmap* CombineIconsL( + const CFbsBitmap* aFirstBmp, + const CFbsBitmap* aSecondBmp, + const CFbsBitmap* aSecondBmpMask = NULL ); + + /** + * Creates a properly formatted string from size. + * @param aTarget OUT: size string. + * @param aFileSize file size + * @param aKilobytesMinimum if ETrue sizes smaller than 1024 bytes are + * returned as 1 kB. + */ + IMPORT_C static void FileSizeToStringL( + TDes& aTarget, + TInt aFileSize, + TBool aKilobytesMinimum = EFalse ); + + /** + * Generates a legal filename from given text buffer. + * @param aFileName OUT: generated filename. + * @param aBuffer text buffer. + * @param aMaxLength maximum length for filename. + * @param aExt optional file extension. + */ + IMPORT_C static void GetFileNameFromBuffer( + TFileName& aFileName, + const TDesC& aBuffer, + TInt aMaxLength, + const TDesC* aExt = NULL ); + + /** + * Returns temp path used by msg editors and optionally + * appends file name to it. + * @param aTempPath OUT: generated temp path and filename. + * @param aFileName optionally appended file name. + */ + IMPORT_C static void GetMsgEditorTempPath( + TFileName& aTempPath, + const TDesC* aFileName = NULL ); + + private: + + static CFbsBitmap* InvertBitmapL( const CFbsBitmap* aFirstBmp ); + + static TBool FetchNoteL( CDesCArray& aSelectedFiles ); + + static TBool FetchNewL( + TNewServiceFileType aType, + CDesCArray& aSelectedFiles, + CAiwGenericParamList* aParams, + TBool aMultiSelect ); + + static TBool FetchExistingL( + TMediaFileType aFileType, + CDesCArray& aSelectedFiles, + TBool aMultiSelect, + MMGFetchVerifier* aVerifier ); + }; + +#endif // MSGATTACHMENTUTILS_H + +// End of File