COpenWfcStreamMap Class Reference

class COpenWfcStreamMap : public CBase

Inherits from

Nested Classes and Structures

Constructor & Destructor Documentation

COpenWfcStreamMap()

COpenWfcStreamMap ( ) [protected]

Constructor

COpenWfcStreamMap(const COpenWfcStreamMap &)

COpenWfcStreamMap ( const COpenWfcStreamMap & ) [private]

Copy constructor

Parameters

const COpenWfcStreamMap &

~COpenWfcStreamMap()

~COpenWfcStreamMap ( ) [protected]

Destructor.

Member Functions Documentation

AcquireL(const TSurfaceId &)

CSurfaceStream * AcquireL ( const TSurfaceId & aSurfaceId )

Look up a specified TSurfaceId key in the associative array and return a pointer to the corresponding to a native stream. The reference of the native stream is incremented by one. If no native stream is found a new native stream instance is created.

Parameters

const TSurfaceId & aSurfaceId The TSurfaceId key to look up

ConstructL()

void ConstructL ( ) [private]

Symbian constructor used with two stage construction pattern

Count()

IMPORT_C TInt Count ( )

Query the number of elements stored in the stream hash map.

DeleteSingleton(TAny *)

TInt DeleteSingleton ( TAny * aData ) [private, static]

aData A pointer to the heap registered for this callback

Parameters

TAny * aData

Find(const TSurfaceId &)

CSurfaceStream * Find ( const TSurfaceId & aSurfaceId )

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.

Parameters

const TSurfaceId & aSurfaceId The TSurfaceId key to look up

GetMainHeap()

IMPORT_C RHeap * GetMainHeap ( )

Returns a pointer to the main heap

HashFunction(const TSurfaceId &)

TUint32 HashFunction ( const TSurfaceId & aHashKey ) [private, static]

Forms a 32-bit hash value from a TSurfaceId .

Parameters

const TSurfaceId & aHashKey The 64-bit key to be hashed.

InstanceL()

IMPORT_C COpenWfcStreamMap & InstanceL ( ) [static]

Returns a reference to the singleton instance.

LockDestroy(CSurfaceStream *)

TInt LockDestroy ( CSurfaceStream * aStream ) [protected]

Destroys the specified native stream IF the native stream reference counter is zero. The counter reference of the native stream is tested prior its destruction and if positive the destruction will not happen

Parameters

CSurfaceStream * aStream The stream to be destroyed

RegisterScreenNotifications(TInt, TInt, TInt)

TInt RegisterScreenNotifications ( TInt aScreenNum,
TInt aPriority,
TInt aInternalVersion
)

Register a screen number for surface update notifications.

Parameters

TInt aScreenNum The screen for which we enable the notification mechanism
TInt aPriority The internal version
TInt aInternalVersion

RegisteredScreenNotifications(TInt)

CExtensionContainer * RegisteredScreenNotifications ( TInt aScreenNum )

Retieves the screen updater associate with the specified screen

Parameters

TInt aScreenNum The screen number

Reserve(TInt)

IMPORT_C TInt Reserve ( TInt aExpand )

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.

Parameters

TInt aExpand The number of key-value pairs for which space should be allocated.

SetMainHeap()

void SetMainHeap ( )

Sets the main heap

SurfaceManager()

RSurfaceManager & SurfaceManager ( )

Returns a reference to the surface manager.

UnregisterScreenNotifications(TInt)

TInt UnregisterScreenNotifications ( TInt aScreenNum )

Unregister the screen updater

Parameters

TInt aScreenNum The screen number

operator=(const COpenWfcStreamMap &)

COpenWfcStreamMap & operator= ( const COpenWfcStreamMap & ) [private]

Assignment operator

Parameters

const COpenWfcStreamMap &

Member Data Documentation

const TInt iInitialSize

const TInt iInitialSize [private, static]

Initial HashMap size

RHeap * iMainHeap

RHeap * iMainHeap [private]

RHashMap< TSurfaceId, CSurfaceStream * > iMap

RHashMap < TSurfaceId , CSurfaceStream * > iMap [private]

Native stream map

RFastLock iMutex

RFastLock iMutex [private]

Mutex used for controlling the access to the native streams map

RHashMap< TInt32, CExtensionContainer * > iRegisteredUpdaters

RHashMap < TInt32 , CExtensionContainer * > iRegisteredUpdaters [private]

MSurfaceUpdateServerProvider * iSurfUpdateServ

MSurfaceUpdateServerProvider * iSurfUpdateServ [private]

RSurfaceManager iSurfaceManager

RSurfaceManager iSurfaceManager [private]

Surface manager

COpenWfcStreamMap * pInstance

COpenWfcStreamMap * pInstance [private, static]

Singleton instance placeholder