graphicscomposition/openwfsupport/inc/streammap.h
branchRCL_3
changeset 164 25ffed67c7ef
parent 163 bbf46f59e123
--- a/graphicscomposition/openwfsupport/inc/streammap.h	Tue Aug 31 16:31:06 2010 +0300
+++ b/graphicscomposition/openwfsupport/inc/streammap.h	Wed Sep 01 12:39:21 2010 +0100
@@ -21,12 +21,14 @@
 #include <e32base.h>
 #include <e32std.h>			//for RFastLock
 #include <e32hashtab.h>		//for RHashMap
+#include <graphics/surfacemanager.h>
+
+#include <graphics/updateserverprovider.h>
 
 class CSurfaceStream;
 class TSurfaceId;
 class MSurfaceUpdateServerProvider;
 class CExtensionContainer;
-class RSurfaceManager;
 
 NONSHARABLE_CLASS(COpenWfcStreamMap): public CBase
 	{
@@ -38,6 +40,16 @@
 		 */
 		IMPORT_C static COpenWfcStreamMap& InstanceL();
 		/**
+		 * Expands the array to accommodate a specified number of key-value pairs.
+		 * If the hash map already has enough space for the specified number of elements, no
+		 * action is taken. Any elements already in the map are retained.
+		 * 
+		 * @param	aExpand	The number of key-value pairs for which space should be allocated.
+		 * @return	KErrNone if the operation completed aInternalVersion.
+		 * @return	KErrNoMemory if sufficient memory could not be allocated.
+		 */
+		IMPORT_C TInt Reserve(TInt aExpand);
+		/**
 		 * Look up a specified TSurfaceId key in the associative array and return a pointer to the
 		 * corresponding to a native stream. The reference counter of the native stream is incremented by one.
 		 * 
@@ -96,7 +108,7 @@
 		 * 
 		 * @return	A reference to the local SurfaceManager
 		 */
-        IMPORT_C RSurfaceManager& SurfaceManager();
+		RSurfaceManager& SurfaceManager();
 		
         /**
          * Returns a pointer to the main heap
@@ -146,6 +158,14 @@
 			};
 	private:
 		/**
+		 * Copy constructor
+		 */
+		COpenWfcStreamMap(const COpenWfcStreamMap&);
+		/**
+		 * Assignment operator
+		 */
+		COpenWfcStreamMap& operator= (const COpenWfcStreamMap&);
+		/**
 		 * Symbian constructor used with two stage construction pattern
 		 */
 		void ConstructL();
@@ -178,7 +198,7 @@
 		/**
 		 * Surface manager
 		 */
-		RSurfaceManager* iSurfaceManager;
+		RSurfaceManager iSurfaceManager;
 
 		RHeap *iMainHeap; //< --This points to main thread's heap--