diff -r ae942d28ec0e -r 2455ef1f5bbc javauis/mmapi_akn/baseline/inc.emc/cmmaemcresolver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/javauis/mmapi_akn/baseline/inc.emc/cmmaemcresolver.h Wed Sep 01 12:33:18 2010 +0100 @@ -0,0 +1,122 @@ +/* +* Copyright (c) 2008 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: +* +*/ + +#ifndef CMMAEMCRESOLVER_H +#define CMMAEMCRESOLVER_H + +#include +#include "cmmaplayer.h" + +//Supported file extensions + +_LIT(K3g2FileExtension, ".3g2"); +_LIT(K3gpFileExtension, ".3gp"); +_LIT(KAacFileExtension, ".aac"); +_LIT(KAmrFileExtension, ".amr"); +_LIT(KAwbFileExtension, ".awb"); +_LIT(KM4aFileExtension, ".m4a"); +_LIT(KMp3FileExtension, ".mp3"); +_LIT(KMp4FileExtension, ".mp4"); +_LIT(KWmaFileExtension, ".wma"); +_LIT(KRmFileExtension, ".rm"); +_LIT(KRaFileExtension, ".ra"); + +const TInt KContentTypeMaxLength = 30; + + +// CLASS DECLARATION + +NONSHARABLE_CLASS(CMMAEMCResolver): public CBase + +{ +public: // Construction + /** + * Constructs a new mmf resolver object. + * @return The new object created. Note that the new object will be + * left on the cleanup stack. + */ + static CMMAEMCResolver* NewLC(); + +public: // New methods. + + HBufC* ContentTypeOwnership(); + + HBufC8* MimeTypeOwnership(); + + /** + * Returns content type + */ + HBufC* ContentType(); + + /** + * Sets filename + * @param aFileName File name to be set or NULL + */ + + void SetFileNameL(const TDesC* aFileName); + + /** + * Returns possible filename or NULL if not set + * Ownership is transfered. + * @return Content type or NULL if type is not available. + */ + HBufC* FileNameOwnership(); + + /** + * Get all supported content types. + * @param aMimeTypeArray Will contain supported mime types. + */ + void GetSupportedContentTypesL(CDesC16Array& aMimeTypeArray); + + +private: + + /** Finds content type from given File name. + */ + void ResolveContentTypeL(const TDesC& aFileName, TDes8& aMimeType); + + void ResolveContentTypeL(); + +private: + ~CMMAEMCResolver(); + + void ConstructL(); + +private: + + // Owned. Ownership can be transferred with ContentType method. + HBufC* iContentType; + + // Owned. Ownership can be transferred with MimeType method. + HBufC8* iMimeType; + + // Owned. Ownership can be transferred with FileName method. + HBufC* iFileName; + +public: // new method + void SetSourceInfoL(const HBufC8* aHeaderData); + +private: + TBool IsRealVideoTypeL(const TDesC8& aHeader); + + TBool IsRealMimeTypeSupported(const TDesC& aMimeType); + +private: // Data + const HBufC8* iHeaderData; // not owned +}; + +#endif // CMMAEMCRESOLVER_H