epoc32/include/mmf/common/mmfcontrollerpluginresolver.h
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
--- 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<CMMFControllerImplementationInformation> 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<TUid> iMediaIds;
 	};
 
+#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
+#include <mmf/common/taggeddataparser.h>
+#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