Symbian3/PDK/Source/GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Fri, 22 Jan 2010 18:26:19 +0000
changeset 1 25a17d01db0c
child 3 46218c8b8afa
permissions -rw-r--r--
Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     1
<?xml version="1.0" encoding="utf-8"?>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     2
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     3
<!-- This component and the accompanying materials are made available under the terms of the License 
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     4
"Eclipse Public License v1.0" which accompanies this distribution, 
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     5
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     6
<!-- Initial Contributors:
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     7
    Nokia Corporation - initial contribution.
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     8
Contributors: 
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     9
-->
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    10
<!DOCTYPE concept
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    11
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    12
<concept id="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1" xml:lang="en"><title>Cleanup
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    13
Support Example Code</title><shortdesc>Example codes that explain how to use various cleanup functions.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    14
<ul>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    15
<li id="GUID-30B853A0-380E-5355-9D3C-F854BC77924D"><p> <xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-9CAE0C86-537A-500F-B361-D555DD39954B">ErrorOnFail: cleanup, TRAPD and leaving</xref> </p> </li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    16
<li id="GUID-21C594C4-57D2-56E1-88B9-2A9F37F2EFA6"><p> <xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-E80C29CC-0282-5350-8077-BB298B7590C0">LeaveOnFail: cleanup, TRAPD and leaving</xref> </p> </li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    17
<li id="GUID-D6653D68-E236-5C53-A07B-E72EAAC85F23"><p> <xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-279FBD9A-0E61-50ED-9618-BAB24AC3163C">ELeaveOnFail: cleanup, TRAPD and leaving</xref> </p> </li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    18
<li id="GUID-79C5A5BB-2A14-5148-9C17-7FE508BC7D17"><p> <xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-C7E94BD9-9B77-548C-A3C2-D5A396F20EF0">TrapD: cleanup, TRAPD and leaving</xref> </p> </li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    19
<li id="GUID-024B1B3E-19A5-5494-B382-482576A27E3E"><p> <xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-12F30817-5CE0-5B6E-A850-7179BE915539">PushLAndPop: cleanup, TRAPD and leaving</xref> </p> </li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    20
<li id="GUID-58BD5628-8D27-52D2-BFB3-9FBF5B6A97B9"><p> <xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-548F79C2-3394-5D86-8E70-B219E49288C7">PushLPopDest: cleanup, TRAPD and leaving</xref> </p> </li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    21
<li id="GUID-2F40CF99-E993-58D3-8C9E-517DB54BB237"><p> <xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-5975C52F-726D-5DB1-8CE4-7F52DC202B43">NewL: cleanup, TRAPD and leaving</xref> </p> </li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    22
<li id="GUID-9B4A5102-5C64-5E22-9D55-C6A53E48137A"><p> <xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-53F042FC-401F-5AD7-8F60-ECD15EB1069F">NewLC: cleanup, TRAPD and leaving</xref> </p> </li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    23
<li id="GUID-1DE76860-6FA4-5AA2-9C9B-8C7DCE01F97A"><p> <xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-4559C2AC-0DA8-5788-A33C-2E20EFEF6D58">SimpleOOM—cleaning up compound classes</xref> </p> </li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    24
<li id="GUID-94377071-3329-53C8-9EA2-ACFE90FB0413"><p> <xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-2E3E6224-BE1C-5DA1-BEA0-D28CD7DA40E8">MemLeakOOM: cleaning up compound classes</xref> </p> </li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    25
<li id="GUID-D099EA48-EC8D-5081-8A2F-E12FDB1B73F4"><p> <xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-068C17E6-0E3C-571B-92D1-421EEF42E6A0">TwoPhaseOOM: cleaning up compound classes</xref> </p> </li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    26
<li id="GUID-2D4E0AA0-3768-5E0D-B4FA-0E376BDB71DE"><p> <xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-D0A1DF34-2499-5F7E-80D1-0BFF74882EA6">TAnyRObjects1: cleaning up TAny* and "R" type objects</xref> </p> </li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    27
<li id="GUID-1EBC2006-351E-58EE-9611-98C260FD1A2C"><p> <xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-C42BF40F-94C4-5845-B449-164AD4578691">TAnyRObjects2: cleaning up TAny* and "R" type objects</xref> </p> </li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    28
<li id="GUID-EFAF518A-F1A7-5633-8CCA-2B3152F96919"><p> <xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-C4F81443-E41D-52C6-9305-A1B7E45A1DC5">Utilities: cleanup utilities</xref>. </p> </li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    29
</ul>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    30
<section id="GUID-9CAE0C86-537A-500F-B361-D555DD39954B"><title>ErrorOnFail:
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    31
cleanup, TRAPD and leaving</title> <p><b>Download</b> </p> <p>Click on the
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    32
following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-2d7621ab-71a7-4a6f-bcd2-5c2e05888d00.zip" scope="external">ErrorOnFail.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-2d7621ab-71a7-4a6f-bcd2-5c2e05888d00.html" scope="peer">browse </xref>to view the example code.</p> <p><b>Description</b> </p> <p>The
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    33
example attempts to construct an object, and on failure it returns an appropriate
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    34
error code. </p> <p>This example shows use of the <codeph>TRAPD</codeph> macro,
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    35
the cleanup stack and its functions <codeph>PushL()</codeph>, <codeph>PopAndDestroy()</codeph> and
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    36
the process of leaving. It also uses the heap debugging macro <codeph>__UHEAP_SETFAIL</codeph>. </p><p><b>Class
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    37
summary</b></p><ul>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    38
<li><p><xref href="GUID-0DD554D7-B9B1-3FD3-898F-4D855144FCEA.dita"><apiname>CleanupStack</apiname></xref></p></li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    39
</ul> <p><b>Security issues</b> </p> <p>The example requires no specific capabilities
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    40
in order to run - and does not demonstrate any security issues. </p> </section>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    41
<section id="GUID-E80C29CC-0282-5350-8077-BB298B7590C0"><title>LeaveOnFail:
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    42
cleanup, TRAPD and leaving</title> <p><b>Download</b> </p> <p>Click on the
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    43
following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-1e56dfe1-13ea-4e14-82b6-e7da3a8453f5.zip" scope="external">LeaveOnFail.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-1e56dfe1-13ea-4e14-82b6-e7da3a8453f5.html" scope="peer">browse </xref>to view the example code.</p> <p><b>Description</b> </p> <p>As
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    44
with the <xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-9CAE0C86-537A-500F-B361-D555DD39954B">ErrorOnFail</xref> example,
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    45
this example also attempts to construct an object, however on failure it simply
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    46
leaves. </p> <p>This example shows use of the <codeph>TRAPD</codeph> macro,
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    47
the cleanup stack and its functions <codeph>PushL()</codeph>, <codeph>PopAndDestroy()</codeph> and
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    48
the process of leaving. It also uses the heap debugging macro <codeph>__UHEAP_SETFAIL</codeph>. </p><p><b>Class
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    49
summary</b></p><ul>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    50
<li><p><xref href="GUID-0DD554D7-B9B1-3FD3-898F-4D855144FCEA.dita"><apiname>CleanupStack</apiname></xref></p></li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    51
</ul> <p><b>Security issues</b> </p> <p>The example requires no specific capabilities
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    52
in order to run - and does not demonstrate any security issues. </p> </section>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    53
<section id="GUID-279FBD9A-0E61-50ED-9618-BAB24AC3163C"><title>ELeaveOnFail:
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    54
cleanup, TRAPD and leaving</title> <p><b>Download</b> </p> <p>Click on the
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    55
following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-16210a7c-3129-4176-a062-2a08b9947caf.zip" scope="external">ELeaveOnFail.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-16210a7c-3129-4176-a062-2a08b9947caf.html" scope="peer">browse </xref>to view the example code.</p> <p><b>Description</b> </p> <p>This
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    56
example attempts to construct an object using the overloaded <codeph>new</codeph> operator <codeph>new
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    57
(ELeave)</codeph>. Specifying <codeph>(ELeave)</codeph> will cause a leave
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    58
to occur if it was unable to allocate memory for the new object. </p> <p>This
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    59
example shows use of the <codeph>TRAPD</codeph> macro, the cleanup stack and
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    60
its functions <codeph>PushL()</codeph>, <codeph>PopAndDestroy()</codeph> and
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    61
the process of leaving. It also uses the heap debugging macro <codeph>__UHEAP_SETFAIL</codeph>. </p><p><b>Class
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    62
summary</b></p><ul>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    63
<li><p><xref href="GUID-0DD554D7-B9B1-3FD3-898F-4D855144FCEA.dita"><apiname>CleanupStack</apiname></xref></p></li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    64
</ul> <p><b>Security issues</b> </p> <p>The example requires no specific capabilities
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    65
in order to run - and does not demonstrate any security issues. </p> </section>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    66
<section id="GUID-C7E94BD9-9B77-548C-A3C2-D5A396F20EF0"><title>TrapD: cleanup,
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    67
TRAPD and leaving</title> <p><b>Download</b> </p> <p>Click on the following
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    68
link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-de1a3a49-8773-46c3-8469-be9777f09870.zip" scope="external">TrapD.zip</xref></p><p>click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-de1a3a49-8773-46c3-8469-be9777f09870.html" scope="peer">browse </xref>to view the example code.</p> <p><b>Description</b> </p> <p>The
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    69
example shows the use of the <codeph>TRAPD</codeph> macro. It shows how a
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    70
newly created object can be protected by the <codeph>TRAPD</codeph> macro. </p><p><b>Class
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    71
summary</b></p><ul>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    72
<li><p><xref href="GUID-0DD554D7-B9B1-3FD3-898F-4D855144FCEA.dita"><apiname>CleanupStack</apiname></xref></p></li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    73
</ul> <p><b>Security issues</b> </p> <p>The example requires no specific capabilities
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    74
in order to run - and does not demonstrate any security issues. </p> </section>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    75
<section id="GUID-12F30817-5CE0-5B6E-A850-7179BE915539"><title>PushLAndPop:
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    76
cleanup, TRAPD and leaving</title> <p><b>Download</b> </p> <p>Click on the
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    77
following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-50fd89b6-237a-4f9d-bed1-21678cc5ab5b.zip" scope="external">PushLAndPop.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-50fd89b6-237a-4f9d-bed1-21678cc5ab5b.html" scope="peer">browse </xref>to view the example code.</p> <p><b>Description</b> </p> <p>The
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    78
example shows the use of the cleanup stack and its functions <codeph>PushL()</codeph> and <codeph>Pop()</codeph>. </p> <p>The
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    79
example also uses the heap debugging macro <codeph>__UHEAP_SETFAIL.</codeph>  </p><p><b>Class
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    80
summary</b></p><ul>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    81
<li><p><xref href="GUID-0DD554D7-B9B1-3FD3-898F-4D855144FCEA.dita"><apiname>CleanupStack</apiname></xref></p></li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    82
</ul> <p><b>Security issues</b> </p> <p>The example requires no specific capabilities
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    83
in order to run - and does not demonstrate any security issues. </p> </section>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    84
<section id="GUID-548F79C2-3394-5D86-8E70-B219E49288C7"><title>PushLPopDest:
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    85
cleanup, TRAPD and leaving</title> <p><b>Download</b> </p> <p>Click on the
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    86
following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-03d19c0a-a64a-4e18-ba8c-7d563e6df331.zip" scope="external">PushLPopDest.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-03d19c0a-a64a-4e18-ba8c-7d563e6df331.html" scope="peer">browse </xref>to view the example code.</p> <p><b>Description</b> </p> <p>The
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    87
example shows the use of the cleanup stack and its functions <codeph>PushL()</codeph> and <codeph>PopAndDestroy()</codeph>. </p> <p>The
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    88
example also uses the heap debugging macro <codeph>__UHEAP_SETFAIL</codeph>. </p><p><b>Class
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    89
summary</b></p><ul>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    90
<li><p><xref href="GUID-0DD554D7-B9B1-3FD3-898F-4D855144FCEA.dita"><apiname>CleanupStack</apiname></xref></p></li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    91
</ul> <p><b>Security issues</b> </p> <p>The example requires no specific capabilities
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    92
in order to run - and does not demonstrate any security issues. </p> </section>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    93
<section id="GUID-5975C52F-726D-5DB1-8CE4-7F52DC202B43"><title>NewL: cleanup,
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    94
TRAPD and leaving</title> <p><b>Download</b> </p> <p>Click on the following
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    95
link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-ed6e0d71-cada-4370-b55e-e7239e75b707.zip" scope="external">NewL.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-ed6e0d71-cada-4370-b55e-e7239e75b707.html" scope="peer">browse </xref>to view the example code.</p> <p><b>Description</b> </p> <p>The
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    96
example shows use of the <codeph>NewL()</codeph> static function. </p> <p>The
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    97
example also uses the heap debugging macro <codeph>__UHEAP_SETFAIL</codeph>. </p><p><b>Class
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    98
summary</b></p><ul>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    99
<li><p><xref href="GUID-0DD554D7-B9B1-3FD3-898F-4D855144FCEA.dita"><apiname>CleanupStack</apiname></xref></p></li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   100
</ul> <p><b>Security issues</b> </p> <p>The example requires no specific capabilities
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   101
in order to run - and does not demonstrate any security issues. </p> </section>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   102
<section id="GUID-53F042FC-401F-5AD7-8F60-ECD15EB1069F"><title>NewLC: cleanup,
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   103
TRAPD and leaving</title> <p><b>Download</b> </p> <p>Click on the following
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   104
link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-a3ff31ac-53a8-4719-aa9c-f45874214852.zip" scope="external">NewLC.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-a3ff31ac-53a8-4719-aa9c-f45874214852.html" scope="peer">browse </xref>to view the example code.</p> <p><b>Description</b> </p> <p>The
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   105
example shows use of the <codeph>NewLC()</codeph> static function. </p> <p>The
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   106
example also uses the heap debugging macro <codeph>__UHEAP_SETFAIL</codeph>. </p><p><b>Class
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   107
summary</b></p><ul>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   108
<li><p><xref href="GUID-0DD554D7-B9B1-3FD3-898F-4D855144FCEA.dita"><apiname>CleanupStack</apiname></xref></p></li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   109
</ul> <p><b>Security issues</b> </p> <p>The example requires no specific capabilities
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   110
in order to run - and does not demonstrate any security issues. </p> </section>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   111
<section id="GUID-4559C2AC-0DA8-5788-A33C-2E20EFEF6D58"><title>SimpleOOM—cleaning
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   112
up compound classes</title> <p><b>Download</b> </p> <p>Click on the following
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   113
link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-71eeb97f-c662-46cb-b5b8-aefd8aa4439e.zip" scope="external">SimpleOOM.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-71eeb97f-c662-46cb-b5b8-aefd8aa4439e.html" scope="peer">browse </xref>to view the example code.</p> <p><b>Description</b> </p> <p>This
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   114
example shows cleanup handling for compound classes. The robustness of a simple
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   115
class on Out Of Memory (OOM) is tested. </p><p><b>Class summary</b></p><ul>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   116
<li><p><xref href="GUID-0DD554D7-B9B1-3FD3-898F-4D855144FCEA.dita"><apiname>CleanupStack</apiname></xref></p></li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   117
</ul> <p><b>Security issues</b> </p> <p>The example requires no specific capabilities
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   118
in order to run - and does not demonstrate any security issues. </p> </section>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   119
<section id="GUID-2E3E6224-BE1C-5DA1-BEA0-D28CD7DA40E8"><title>MemLeakOOM:
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   120
cleaning up compound classes</title> <p><b>Download</b> </p> <p>Click on the
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   121
following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-873c620d-c7f2-48f5-9472-2ad61a5c7594.zip" scope="external">MemLeakOOM.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-873c620d-c7f2-48f5-9472-2ad61a5c7594.html" scope="peer">browse </xref>to view the example code.</p> <p><b>Description</b> </p> <p>This
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   122
example shows cleanup handling for compound classes. The robustness of a compound
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   123
class on Out Of Memory (OOM) is tested. It also shows how memory leaks can
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   124
occur. </p><p><b>Class summary</b></p><ul>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   125
<li><p><xref href="GUID-0DD554D7-B9B1-3FD3-898F-4D855144FCEA.dita"><apiname>CleanupStack</apiname></xref></p></li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   126
</ul> <p><b>Security issues</b> </p> <p>The example requires no specific capabilities
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   127
in order to run - and does not demonstrate any security issues. </p> </section>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   128
<section id="GUID-068C17E6-0E3C-571B-92D1-421EEF42E6A0"><title>TwoPhaseOOM:
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   129
cleaning up compound classes</title> <p><b>Download</b> </p> <p>Click on the
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   130
following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-77965fa6-4624-42dc-8104-dd973dff7132.zip" scope="external">TwoPhaseOOM.zip</xref></p><p>click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-77965fa6-4624-42dc-8104-dd973dff7132.html" scope="peer">browse </xref>to view the example code.</p> <p><b>Description</b> </p> <p>These
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   131
examples show cleanup handling for compound classes. The robustness of a compound
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   132
class on Out Of Memory (OOM) is tested. It also shows the use of the two phase
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   133
construction technique. </p><p><b>Class summary</b></p><ul>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   134
<li><p><xref href="GUID-0DD554D7-B9B1-3FD3-898F-4D855144FCEA.dita"><apiname>CleanupStack</apiname></xref></p></li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   135
</ul> <p><b>Security issues</b> </p> <p>The example requires no specific capabilities
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   136
in order to run - and does not demonstrate any security issues. </p> </section>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   137
<section id="GUID-D0A1DF34-2499-5F7E-80D1-0BFF74882EA6"><title>TAnyRObjects1:
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   138
cleaning up TAny* and ‘R’ type objects</title> <p><b>Download</b> </p> <p>Download
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   139
the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-4aeb7aba-6ce4-4ec4-bc80-04722c55fd73.zip" scope="external">TAnyRObjects1.zip</xref> </p><p>Download some additional
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   140
files required by the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-4184e6d4-8dbe-4267-b1a3-8737c8bf64ce.zip" scope="external">CommonFramework.zip</xref> , <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-306f220f-1980-4b1c-914e-d643a49f9d97.zip" scope="external">HeaderFile.zip</xref></p><p>View the source code: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-4aeb7aba-6ce4-4ec4-bc80-04722c55fd73.html" scope="peer">browse</xref> . View the additional files:<xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-4184e6d4-8dbe-4267-b1a3-8737c8bf64ce.html" scope="peer">CommonFramework</xref> , <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-306f220f-1980-4b1c-914e-d643a49f9d97.html" scope="peer">HeaderFile</xref></p> <p><b>Description</b> </p> <p>The example
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   141
shows how cleanup can be implemented for <codeph>TAny*</codeph> type objects
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   142
and 'R' type (resource type) objects. </p> <p>This example shows the use of <codeph>TAny*</codeph> cleanup
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   143
type, for pushing a buffer to the cleanup stack. The buffer data is read from
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   144
a file. </p> <p>Class <filepath>RFileWithCleanup</filepath> is derived from
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   145
class <filepath>RFile</filepath>, to show how to add cleanup support to a
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   146
general <filepath>R</filepath> class. </p> <p>This example adds cleanup support
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   147
to the <filepath>RFile</filepath>. </p><p><b>Class summary</b></p><ul>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   148
<li><p><xref href="GUID-0DD554D7-B9B1-3FD3-898F-4D855144FCEA.dita"><apiname>CleanupStack</apiname></xref></p></li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   149
<li><p><xref href="GUID-BE0804F6-4375-3C8A-8C83-968F510466E0.dita"><apiname>RFile</apiname></xref></p></li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   150
</ul> <p><b>Security issues</b> </p> <p>The example writes files to the executable's
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   151
process private directory on the writable drive: <filepath>\private\0FFFFF01\</filepath>. </p> <p>The
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   152
second UID in the <filepath>.mmp</filepath> file is defined as <codeph>0x0FFFFF01</codeph> and
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   153
this is used as the secure ID on which the name of the private directory is
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   154
based. </p> </section>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   155
<section id="GUID-C42BF40F-94C4-5845-B449-164AD4578691"><title>TAnyRObjects2:
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   156
cleaning up TAny* and ‘R’ type objects</title> <p><b>Download</b> </p> <p>Download
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   157
the example:<xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-2a8a3745-6fc5-4b7e-bceb-c975b9126318.zip" scope="external">TAnyRObjects2.zip</xref> </p><p>Download some additional
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   158
files required by the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-4184e6d4-8dbe-4267-b1a3-8737c8bf64ce.zip" scope="external">CommonFramework.zip</xref> , <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-306f220f-1980-4b1c-914e-d643a49f9d97.zip" scope="external">HeaderFile.zip</xref></p><p>View the source code: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-2a8a3745-6fc5-4b7e-bceb-c975b9126318.html" scope="peer">browse</xref> . View the additional files: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-4184e6d4-8dbe-4267-b1a3-8737c8bf64ce.html" scope="peer">CommonFramework</xref> , <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-306f220f-1980-4b1c-914e-d643a49f9d97.html" scope="peer">HeaderFile</xref>.</p> <p><b>Description</b> </p> <p>The example
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   159
shows how cleanup can be implemented for <codeph>TAny</codeph> * type objects
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   160
and 'R' type (resource type) objects. </p> <p>This example is similar to the <xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-D0A1DF34-2499-5F7E-80D1-0BFF74882EA6">TAnyRObjects1</xref> example.
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   161
However, it enhances the interface to include an <codeph>OpenLC()</codeph> which
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   162
opens the file, and pushes it on to the cleanup stack in one function call. </p><p><b>Class
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   163
summary</b></p><ul>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   164
<li><p><xref href="GUID-0DD554D7-B9B1-3FD3-898F-4D855144FCEA.dita"><apiname>CleanupStack</apiname></xref></p></li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   165
<li><p><xref href="GUID-BE0804F6-4375-3C8A-8C83-968F510466E0.dita"><apiname>RFile</apiname></xref></p></li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   166
</ul> <p><b>Security issues</b> </p> <p>The example writes files to the executable's
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   167
process private directory: <filepath>C:\private\0FFFFF02\</filepath>. </p> <p>The
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   168
second UID in the <filepath>.mmp</filepath> file is defined as <codeph>0x0FFFFF02</codeph> and
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   169
this is used as the secure ID on which the name of the private directory is
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   170
based. </p> </section>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   171
<section id="GUID-C4F81443-E41D-52C6-9305-A1B7E45A1DC5"><title>Utilities:
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   172
cleanup utilities</title> <p><b>Download</b> </p> <p>Download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-cd5a50ad-f191-4f0f-a266-a76d1d633092.zip" scope="external">Utilities.zip</xref></p><p><xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-4184e6d4-8dbe-4267-b1a3-8737c8bf64ce.zip" scope="external">CommonFramework.zip</xref>.</p><p>View the source code: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-cd5a50ad-f191-4f0f-a266-a76d1d633092.html" scope="peer">browse</xref>.  View the additional file: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-4184e6d4-8dbe-4267-b1a3-8737c8bf64ce.html" scope="peer">browse</xref></p> <p><b>Description</b> </p> <p>This example
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   173
shows how the cleanup utilities (the templated functions <codeph>CleanupDeletePushL()</codeph>, <codeph>CleanupClosePushL()</codeph> and <codeph>CleanupReleasePushL()</codeph>, and <codeph>CleanupArrayDeletePushL()</codeph>) can be used. </p><p><b>Class
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   174
summary</b></p><p> In addition to the templated functions:</p><ul>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   175
<li><p><xref href="GUID-2ECB3F11-6299-351C-B9D0-488C06559A6D.dita"><apiname>CleanupDeletePushL()</apiname></xref></p></li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   176
<li><p> <xref href="GUID-16B0008A-0F85-3C1E-89E1-E7431E2C93B9.dita"><apiname>CleanupClosePushL() </apiname></xref></p></li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   177
<li><p><xref href="GUID-B432961B-2613-3DAE-9260-67F53CC6B751.dita"><apiname>CleanupReleasePushL() </apiname></xref></p></li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   178
<li><p> <xref href="GUID-145951D8-0A0F-31D2-B272-F46C037449E0.dita"><apiname>CleanupArrayDeletePushL()</apiname></xref></p></li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   179
</ul><p>the examples implicitly use the templated classes:</p><p>Examples
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   180
of APIs</p><ul>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   181
<li><p>CleanupDelete&lt;class T&gt;</p></li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   182
<li><p>CleanupClose&lt;class T&gt;</p></li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   183
<li><p>CleanupRelease&lt;class T&gt;</p></li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   184
<li><p>CleanupArrayDelete&lt;class T&gt;</p></li>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   185
</ul> <p><b>Security issues</b> </p> <p>The example requires no specific capabilities
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   186
in order to run - and does not demonstrate any security issues. </p> </section>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
   187
</conbody></concept>