diff -r e1b950c65cb4 -r 837f303aceeb epoc32/include/mmf/common/mmfcontrollerpluginresolver.h --- a/epoc32/include/mmf/common/mmfcontrollerpluginresolver.h Wed Mar 31 12:27:01 2010 +0100 +++ b/epoc32/include/mmf/common/mmfcontrollerpluginresolver.h Wed Mar 31 12:33:34 2010 +0100 @@ -1,9 +1,9 @@ // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available -// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members +// under the terms of "Eclipse Public License v1.0" // which accompanies this distribution, and is available -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". +// at the URL "http://www.eclipse.org/legal/epl-v10.html". // // Initial Contributors: // Nokia Corporation - initial contribution. @@ -51,44 +51,6 @@ */ typedef RPointerArray RMMFControllerImplInfoArray; -/** -@internalComponent - -Interface to be implemented by customers of the class TaggedDataParser. -*/ -class MTaggedDataParserClient - { -public: - virtual void ProcessTaggedDataL(const TDesC8& aTag, const TDesC8& aData) = 0; - }; - -/** -@internalComponent - -Utility class used to parse data separated by xml-style tags. -*/ -class TaggedDataParser - { -public: - - /** - Splits aData into xml-style tags and values, and gets aClient to process each tag/value pair. - */ - static void ParseTaggedDataL(const TDesC8& aData, MTaggedDataParserClient& aClient); - - /** - Converts a string to a uid. If the string begin with "0x" it will be parsed as Hex, else Decimal. - */ - static void ConvertTextToUidL(const TDesC8& aData, TUid& aUid); - - /** - Converts a string to a TUint. The string must begin with "0x" and be 10 characters long, - otherwise it is considered corrupt. - */ - static void ConvertTextToTUintL(const TDesC8& aData, TUint& aUid); - - }; - class CMatchData; class CDesC8Array; @@ -229,6 +191,21 @@ RArray iMediaIds; }; +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS +#include +#endif + +/** +@publishedAll + +Interface to be implemented by customers of the class TaggedDataParser. +*/ +class MTaggedDataParserClient + { +public: + virtual void ProcessTaggedDataL(const TDesC8& aTag, const TDesC8& aData) = 0; + }; + /** @publishedAll @released @@ -525,7 +502,7 @@ @since 7.0s */ IMPORT_C TUint HeapSpaceRequired() const; - + /** Queries the ECom registry for the play formats supported. @@ -600,6 +577,15 @@ @internalTechnology */ IMPORT_C TBool SupportsSecureDRMProcessMode() const; + + /** + Returns the stack space required by this controller. + + @return The stack space required. + + @internalTechnology + */ + IMPORT_C TUint StackSize() const; protected: @@ -702,6 +688,14 @@ */ void SetNetworkCapabilityL(const TDesC8& aNetworkCapable); + /** + Parses aData to get the size of the stack the controller requires. + + @internalTechnology + */ + void SetStackSizeL(const TDesC8& aData); + + private: /** @@ -728,7 +722,7 @@ The heap space required by this controller */ TUint iHeapSpaceRequired; - + /** The Uri scheme supported by this plugin */ @@ -748,6 +742,10 @@ Secure DRM process model supported by this controller */ TBool iSupportsSecureDRMProcessMode; + /** + The stack space required by this controller + */ + TUint iStackSize; }; @@ -953,7 +951,7 @@ /** @publishedPartner - @prototype + @released The match will be based on Uri details. */ @@ -1020,7 +1018,7 @@ /** @publishedPartner - @prototype + @released Sets this object to match to uri scheme and file extension specified by a URI. @@ -1065,7 +1063,7 @@ /** @publishedPartner - @prototype + @released Returns the uri scheme used to perform the plugin match. @@ -1257,43 +1255,6 @@ CMMFControllerSecureDrmPluginSelectionParameters(); }; -class CMmfRecognizerUtil; // declared here. -/** -@internalAll - -MMF utility class used by MMF recognizer -Maintains an array of CMMFControllerImplementationInformation objects -so that data headers can be speedily matched against. -Updates the array when notified by ECOM of a change to the global -interface implementation registration data. -*/ -NONSHARABLE_CLASS( CMmfRecognizerUtil ): public CBase - { -public: - enum TMatchLevel - { - EMatchNone, //no match - EMatchData, //data match only - EMatchName //suffix and data match - }; -public: - IMPORT_C static void GetMimeTypesL(CDesC8Array* aMimeTypes); - - IMPORT_C static CMmfRecognizerUtil* NewL(); - - ~CMmfRecognizerUtil(); - IMPORT_C TMatchLevel GetMimeTypeL(const TDesC& aFileName, const TDesC8& aImageData, TDes8& aMimeType); - -private: - CMmfRecognizerUtil(); - void ConstructL(); - -private: - class CBody; - CBody* iBody; - }; - - /** @publishedAll @released