epoc32/include/mmf/common/mmfcontrollerpluginresolver.h
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
     1.1 --- a/epoc32/include/mmf/common/mmfcontrollerpluginresolver.h	Wed Mar 31 12:27:01 2010 +0100
     1.2 +++ b/epoc32/include/mmf/common/mmfcontrollerpluginresolver.h	Wed Mar 31 12:33:34 2010 +0100
     1.3 @@ -1,9 +1,9 @@
     1.4  // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
     1.5  // All rights reserved.
     1.6  // This component and the accompanying materials are made available
     1.7 -// 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
     1.8 +// under the terms of "Eclipse Public License v1.0"
     1.9  // which accompanies this distribution, and is available
    1.10 -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
    1.11 +// at the URL "http://www.eclipse.org/legal/epl-v10.html".
    1.12  //
    1.13  // Initial Contributors:
    1.14  // Nokia Corporation - initial contribution.
    1.15 @@ -51,44 +51,6 @@
    1.16  */
    1.17  typedef RPointerArray<CMMFControllerImplementationInformation> RMMFControllerImplInfoArray;
    1.18  
    1.19 -/**
    1.20 -@internalComponent
    1.21 -
    1.22 -Interface to be implemented by customers of the class TaggedDataParser.
    1.23 -*/
    1.24 -class MTaggedDataParserClient
    1.25 -	{
    1.26 -public:
    1.27 -	virtual void ProcessTaggedDataL(const TDesC8& aTag, const TDesC8& aData) = 0;
    1.28 -	};
    1.29 -
    1.30 -/**
    1.31 -@internalComponent
    1.32 -
    1.33 -Utility class used to parse data separated by xml-style tags.
    1.34 -*/
    1.35 -class TaggedDataParser
    1.36 -	{
    1.37 -public:
    1.38 -
    1.39 -	/**
    1.40 -	Splits aData into xml-style tags and values, and gets aClient to process each tag/value pair.
    1.41 -	*/
    1.42 -	static void ParseTaggedDataL(const TDesC8& aData, MTaggedDataParserClient& aClient);
    1.43 -
    1.44 -	/**
    1.45 -	Converts a string to a uid. If the string begin with "0x" it will be parsed as Hex, else Decimal.
    1.46 -	*/
    1.47 -	static void ConvertTextToUidL(const TDesC8& aData, TUid& aUid);
    1.48 -
    1.49 -	/**
    1.50 -	Converts a string to a TUint. The string must begin with "0x" and be 10 characters long,
    1.51 -	otherwise it is considered corrupt.
    1.52 -	*/
    1.53 -	static void ConvertTextToTUintL(const TDesC8& aData, TUint& aUid);
    1.54 -
    1.55 -	};
    1.56 -
    1.57  class CMatchData;
    1.58  
    1.59  class CDesC8Array;
    1.60 @@ -229,6 +191,21 @@
    1.61  	RArray<TUid> iMediaIds;
    1.62  	};
    1.63  
    1.64 +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
    1.65 +#include <mmf/common/taggeddataparser.h>
    1.66 +#endif
    1.67 +
    1.68 +/**
    1.69 +@publishedAll
    1.70 +
    1.71 +Interface to be implemented by customers of the class TaggedDataParser.
    1.72 +*/
    1.73 +class MTaggedDataParserClient
    1.74 +	{
    1.75 +public:
    1.76 +	virtual void ProcessTaggedDataL(const TDesC8& aTag, const TDesC8& aData) = 0;
    1.77 +	};
    1.78 +
    1.79  /**
    1.80  @publishedAll
    1.81  @released
    1.82 @@ -525,7 +502,7 @@
    1.83  	@since  7.0s
    1.84  	*/
    1.85  	IMPORT_C TUint HeapSpaceRequired() const;
    1.86 -	
    1.87 +
    1.88  	/**
    1.89  	Queries the ECom registry for the play formats supported. 
    1.90  	
    1.91 @@ -600,6 +577,15 @@
    1.92  	@internalTechnology
    1.93  	*/
    1.94  	IMPORT_C TBool SupportsSecureDRMProcessMode() const;
    1.95 +
    1.96 +	/**
    1.97 +	Returns the stack space required by this controller.
    1.98 +
    1.99 +	@return The stack space required.
   1.100 +	
   1.101 +	@internalTechnology
   1.102 +	*/
   1.103 +	IMPORT_C TUint StackSize() const;
   1.104  	
   1.105  protected:
   1.106  
   1.107 @@ -702,6 +688,14 @@
   1.108  	*/
   1.109  	void SetNetworkCapabilityL(const TDesC8& aNetworkCapable);
   1.110  
   1.111 +	/**
   1.112 +	Parses aData to get the size of the stack the controller requires.
   1.113 +		
   1.114 +	@internalTechnology
   1.115 +	*/
   1.116 +	void SetStackSizeL(const TDesC8& aData);
   1.117 +
   1.118 +
   1.119  private:
   1.120  
   1.121  	/**
   1.122 @@ -728,7 +722,7 @@
   1.123  	The heap space required by this controller
   1.124  	*/
   1.125  	TUint iHeapSpaceRequired;
   1.126 -	
   1.127 +		
   1.128  	/**
   1.129  	The Uri scheme supported by this plugin
   1.130  	*/
   1.131 @@ -748,6 +742,10 @@
   1.132  	Secure DRM process model supported by this controller
   1.133  	*/
   1.134  	TBool  iSupportsSecureDRMProcessMode;
   1.135 +	/**
   1.136 +	The stack space required by this controller
   1.137 +	*/
   1.138 +	TUint iStackSize;		
   1.139  	};
   1.140  
   1.141  
   1.142 @@ -953,7 +951,7 @@
   1.143  	
   1.144  	/** 
   1.145  	@publishedPartner
   1.146 -	@prototype
   1.147 +	@released
   1.148  	
   1.149  	The match will be based on Uri details.
   1.150  	*/
   1.151 @@ -1020,7 +1018,7 @@
   1.152  	
   1.153  	/**
   1.154  	@publishedPartner
   1.155 -	@prototype
   1.156 +	@released
   1.157  	
   1.158  	Sets this object to match to uri scheme and file extension specified by a URI.
   1.159  	
   1.160 @@ -1065,7 +1063,7 @@
   1.161  	
   1.162  	/**
   1.163  	@publishedPartner
   1.164 -	@prototype
   1.165 +	@released
   1.166  	
   1.167  	Returns the uri scheme used to perform the plugin match.
   1.168  	
   1.169 @@ -1257,43 +1255,6 @@
   1.170  	CMMFControllerSecureDrmPluginSelectionParameters();
   1.171  	};
   1.172  
   1.173 -class CMmfRecognizerUtil; // declared here.
   1.174 -/**
   1.175 -@internalAll
   1.176 -
   1.177 -MMF utility class used by MMF recognizer
   1.178 -Maintains an array of CMMFControllerImplementationInformation objects
   1.179 -so that data headers can be speedily matched against.
   1.180 -Updates the array when notified by ECOM of a change to the global
   1.181 -interface implementation registration data.
   1.182 -*/
   1.183 -NONSHARABLE_CLASS( CMmfRecognizerUtil ): public CBase
   1.184 -	{
   1.185 -public:
   1.186 -	enum TMatchLevel
   1.187 -		{
   1.188 -		EMatchNone, //no match
   1.189 -		EMatchData, //data match only
   1.190 -		EMatchName  //suffix and data match
   1.191 -		};
   1.192 -public:
   1.193 -	IMPORT_C static void GetMimeTypesL(CDesC8Array* aMimeTypes);
   1.194 -
   1.195 -	IMPORT_C static CMmfRecognizerUtil* NewL();
   1.196 -
   1.197 -	~CMmfRecognizerUtil();
   1.198 -	IMPORT_C TMatchLevel GetMimeTypeL(const TDesC& aFileName, const TDesC8& aImageData, TDes8& aMimeType);
   1.199 -
   1.200 -private:
   1.201 -	CMmfRecognizerUtil();
   1.202 -	void ConstructL();
   1.203 -
   1.204 -private:
   1.205 -	class CBody;
   1.206 -	CBody* iBody;
   1.207 -	};
   1.208 -
   1.209 -
   1.210  /**
   1.211  @publishedAll
   1.212  @released