diff -r 000000000000 -r 89d6a7a84779 Symbian3/SDK/Source/GUID-0970A970-6E56-556C-B032-B7EAF8ABBBA6.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/SDK/Source/GUID-0970A970-6E56-556C-B032-B7EAF8ABBBA6.dita Thu Jan 21 18:18:20 2010 +0000 @@ -0,0 +1,33 @@ + + + + + +How +to use CleanupReleasePushL()CleanupReleasePushL() pushes a TCleanupItem onto +the cleanup stack ready for CleanupStack::PopAndDestroy() to +release. +

The CleanupReleasePushL() templated function constructs +and pushes a TCleanupItem onto the cleanup stack. When CleanupStack::PopAndDestroy() is +called, the Release() member function of the object encapsulated +by the TCleanupItem is called.

+... +RTestThree three; +CleanupReleasePushL(three); +... +CleanupStack::PopAndDestroy(); +... + +

The TCleanupItem object encapsulates a reference to the RTestThree object; +the cleanup operation is the static function Release() of +the templated class CleanupRelease<class T>. This is implemented +by simply calling the Release() member function of RTestThree. +This means that RTestThree must define or inherit a member +function Release() which performs whatever clean up is required.

+
\ No newline at end of file