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 & aSurfaceIdThe TSurfaceId key to look up

ConstructL()

voidConstructL()[private]

Symbian constructor used with two stage construction pattern

Count()

IMPORT_C TIntCount()

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 & aSurfaceIdThe 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 & aHashKeyThe 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 * aStreamThe stream to be destroyed

RegisterScreenNotifications(TInt, TInt, TInt)

TInt RegisterScreenNotifications(TIntaScreenNum,
TIntaPriority,
TIntaInternalVersion
)

Register a screen number for surface update notifications.

Parameters

TInt aScreenNumThe screen for which we enable the notification mechanism
TInt aPriorityThe internal version
TInt aInternalVersion

RegisteredScreenNotifications(TInt)

CExtensionContainer *RegisteredScreenNotifications(TIntaScreenNum)

Retieves the screen updater associate with the specified screen

Parameters

TInt aScreenNumThe screen number

Reserve(TInt)

IMPORT_C TIntReserve(TIntaExpand)

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 aExpandThe number of key-value pairs for which space should be allocated.

SetMainHeap()

voidSetMainHeap()

Sets the main heap

SurfaceManager()

RSurfaceManager &SurfaceManager()

Returns a reference to the surface manager.

UnregisterScreenNotifications(TInt)

TInt UnregisterScreenNotifications(TIntaScreenNum)

Unregister the screen updater

Parameters

TInt aScreenNumThe screen number

operator=(const COpenWfcStreamMap &)

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

Assignment operator

Parameters

const COpenWfcStreamMap &

Member Data Documentation

const TInt iInitialSize

const TIntiInitialSize[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