Symbian3/SDK/Source/GUID-270C96B0-4BDF-5A18-A8FE-FA4F78BB34EE.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 11 Jun 2010 15:24:34 +0100
changeset 9 59758314f811
parent 8 ae94777fff8f
permissions -rw-r--r--
Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-270C96B0-4BDF-5A18-A8FE-FA4F78BB34EE" xml:lang="en"><title>Full Example Code List</title><shortdesc>This document lists the example code available for each
module and collection in the platform. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>The following tables are grouped by module and collection. In each
table, the left hand column gives a link to the overview for the example.
The overviews describe the example's purpose, the APIs it demonstrates,
how to build and run it, and they provide a link to download the example's
source code. </p>
<p>In most cases, the name in the left hand column is the example's
mmp filename. If the example has more than one mmp file, the name
of its directory is used. The right hand column gives a summary of
the main purpose of the example. </p>
<section id="GUID-232B69FE-BA35-4F73-9D02-8AA4AF56BF21"><title>Symbian
Platform Fundamentals</title> <table id="GUID-E490B3BF-655E-54B4-9BBA-A611CDE71E84">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p><xref href="GUID-3603126B-661E-509B-8CCF-04A99F9ACE07.dita">HelloWorld</xref>  </p> </entry>
<entry><p>Most basic console application. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-C9BEF1C4-F14A-5386-9DA8-29358694D7AA.dita">CClasses</xref>  </p> </entry>
<entry><p>Shows a basic 'C' class and use of the cleanup stack. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-D7DF85A8-1F90-5EC8-9EA1-EB33382849B0.dita">TAndRClasses</xref>  </p> </entry>
<entry><p>Shows a typical 'T' and 'R' class. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-07791D92-4B0F-5D11-9874-4C03FA1A2C02.dita">MClasses1-3</xref> </p> </entry>
<entry><p>Shows the use of 'M' (abstract interface) classes. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-176FD8C9-B4A9-5B50-B683-AB5DA7D5D6F4.dita">StaticDLL</xref>  </p> </entry>
<entry><p>Shows how a statically linked DLL is used. </p> </entry>
</row>
</tbody>
</tgroup>
</table> </section>
<section id="GUID-C63FEA4F-7990-4B27-8FC2-61E135D2B9F7"><title>Application
Framework</title> <table id="GUID-DA03E4DB-2487-5830-8260-6E46A2352CC9">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>




<row>
<entry><p><xref href="GUID-C7C5F7B8-F024-57F0-968B-1839E1E07DAA.dita">BmpAnimGui</xref>  </p> </entry>
<entry><p>Shows how to create an animation using the Bitmap Animation
framework. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-F64B88E0-49DA-5563-896E-29BAB8A244C9.dita">HelloWorld</xref>  </p> </entry>
<entry><p>Shows how to create a simple GUI application with a single
view. </p> </entry>
</row>
</tbody>
</tgroup>
</table> </section>

<section id="GUID-168B118B-60A7-4B3F-8B3C-E5A31C3BB4DD"><title>Communications
Framework</title>   <p><b>Data Server</b> </p> <table id="GUID-D81EC559-A691-5CAE-B68A-186E9D5327B7">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p><xref href="GUID-D24D5F17-462E-5424-99A7-9B16E9FEDC93.dita">Rconnection</xref>  </p> </entry>
<entry><p>Shows how to use the RConnection API for connection monitoring
and management. </p> </entry>
</row>
</tbody>
</tgroup>
</table> </section>

<section id="GUID-39EA7ED9-FFAE-49C9-9CA4-D5B9B88F4936"><title>Generic
Application Support</title> <p><b>Common App Services</b> </p> <table id="GUID-2524D0A4-8C06-56C6-A85F-B817B01E7FBD">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p><xref href="GUID-74153585-D483-5761-85B6-2CF2D2615C00.dita">AlarmServerExample</xref>  </p> </entry>
<entry><p>Shows the client API to the alarm server. </p> </entry>
</row>
</tbody>
</tgroup>
</table>   </section>
<section id="GUID-24F27D44-502A-4E44-B1DC-DAD71E919DBB"><title>Generic
OS Services</title> <p><b>Compression Libraries</b> </p> <table id="GUID-811B841F-02DA-5C33-B681-8E9E13E66566">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p><xref href="GUID-95E557D0-9A84-514C-B51E-0556F26B3C98.dita">EzlibExample</xref>  </p> </entry>
<entry><p>Shows how to use the EZLIB API to do file extraction and
compression. </p> </entry>
</row>
</tbody>
</tgroup>
</table> <p><b>Generic Open Libraries</b> </p> <table id="GUID-20DF4858-3D0D-53C8-8BD8-46E48CF7F4DF">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p><xref href="GUID-3314123F-205D-5E05-9041-DB9836B7812B.dita">FileAccessExample</xref>  </p> </entry>
<entry><p>Shows accessing the file system using P.I.P.S. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-BE893F87-E7F6-56E5-BD27-328B532F8332.dita">HelloWorldExample</xref>  </p> </entry>
<entry><p>Creates a simple P.I.P.S. DLL and EXE to demonstrate function
lookup by name rather than by ordinal. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-6E4CAA18-635E-5476-8CE4-DCA69C05CC07.dita">hybridapp</xref>  </p> </entry>
<entry><p>Shows a P.I.P.S. 'hybrid' application that uses both C and
native Symbian C++ APIs. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-4AEBF49C-E62A-5D0D-8181-600BF29DFFC7.dita">IPC</xref>  </p> </entry>
<entry><p>Shows inter-process communication in P.I.P.S. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-092C18D4-A525-5562-9BF6-41435E400290.dita">LibpThreadExample</xref>  </p> </entry>
<entry><p>Shows simple multi-threading and synchronisation in P.I.P.S.
using <filepath>libpthread.dll</filepath>. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-9A38894D-98B8-5AFA-A36A-AC8B494EC2CC.dita">libmexample</xref>  </p> </entry>
<entry><p>Shows the P.I.P.S. Standard C maths library, <filepath>libm.dll</filepath>. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-C5E99BB6-0CBE-51AE-882D-37D004106A2F.dita">ConsoleApp</xref>  </p> </entry>
<entry><p>Shows a simple console-based STDLIB (C Standard library)
program that converts quantities from one unit of measurement into
another. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-30DBE93F-1255-533F-9B02-4E19E248D065.dita">GUIApp</xref>  </p> </entry>
<entry><p>Shows a Techview GUI application whose engine is written
using STDLIB. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-F1BDE1DB-2749-52F4-AC9B-74A5D9A32A67.dita">Hello</xref>  </p> </entry>
<entry><p>The simplest possible STDLIB example. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-301037F1-1983-565A-88F9-633BBF0EBB91.dita">posixsignals</xref></p></entry>
<entry><p>Shows various signal use cases as supported in P.I.P.S. </p></entry>
</row>
</tbody>
</tgroup>
</table> <p><b>Open C</b> </p> <table id="GUID-268FCC9C-5D4E-4154-BCD7-473FF53B015F">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p><xref href="GUID-4CC4D912-810B-4542-AFCD-58CEE8E0128C.dita">openclibz</xref>  </p> </entry>
<entry><p>Shows file compression/decompression.  Huffman , filtered
data compression, run length encoding, compress a string given by
user </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-1FE5D4D5-B2BF-4090-9F69-D538B2220DA3.dita">handleglobalvar</xref> </p> </entry>
<entry><p>How to handle global variables within the library code. </p><p>How to solve WSD (Writable Static Data) problem </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-D69DD425-5F93-4238-A7E9-915F24A9C9CA.dita">opencmessagequeuelibraryex</xref> </p> </entry>
<entry><p>Send/receive messages using message queue, demonstrated
using open C message queue library </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-9BFF0271-F5C3-45B6-AD4D-9179107F300A.dita">opencproducerconsumerex</xref> </p> </entry>
<entry><p>Demonstrates solution for Producer/ Consumer Problem using
Open C. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-D28FA4E1-6A94-4508-95B3-ACE21BCE6EA7.dita">OpenCStringUtilitiesEx</xref> </p> </entry>
<entry><p>Demonstrates string utility using open C libraries </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-063020E5-51C0-45C3-8B8B-015385FA0928.dita">redirectprintf</xref> </p> </entry>
<entry><p>how to redirect stdio to a file. libc library provides freopen
API to redirect all standard IOs (namely, stderr, stdin, or stdout).
 </p> </entry>
</row>
</tbody>
</tgroup>
</table> <p><b>Generic Services</b> </p> <table id="GUID-7971259C-075D-5D0D-BD52-7ADF5B724CB7">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p><xref href="GUID-AB9D7D52-BCF0-5E89-8A99-A6590FAD7AF6.dita">exampleRecognizer</xref>  </p> </entry>
<entry><p>Shows how to write a simple data recognizer. </p> </entry>
</row>
<row>
<entry/>
<entry> </entry>
</row>
<row>
<entry><p><xref href="GUID-8B938FEF-4D70-4589-921C-C99667193E20.dita">TaskSchedulerExample</xref>  </p> </entry>
<entry><p>Shows how to schedule and run tasks using the Task Scheduler
API. </p> </entry>
</row>
</tbody>
</tgroup>
</table> <p><b>Low level Libraries and Frameworks</b> </p> <table id="GUID-8E40A60D-C8BE-5C7D-9415-8D8E25F2DD98">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p><xref href="GUID-C156607A-5929-5971-8077-E8974FA43B3C.dita">Basics</xref>  </p> </entry>
<entry><p>Shows how to store and restore objects using the clipboard
API. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-7B4A78D8-64BB-550E-ABC0-255312351215.dita">InterfaceClient</xref>  </p> </entry>
<entry><p>One of a set of three related ECom examples that provide
an interface definition, a DLL that contains two implementations of
that interface, and a client program that uses the interface. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-E4E656BF-E5F7-5125-AE88-60C3E9FCF0D2.dita">InterfaceDefinition</xref>  </p> </entry>
<entry><p>See InterfaceClient, above. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-711C387D-E10C-5469-872A-5B2BDACC9B91.dita">InterfaceImplementation</xref>  </p> </entry>
<entry><p>See InterfaceClient, above. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-1DF62CB5-FB81-5802-9071-E492B0C81065.dita">ReadText</xref>  </p> </entry>
<entry><p>Most basic resource file example, shows how to read a string
resource and print it to the console. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-E736B50D-F671-5CCB-A245-BA9791ADA395.dita">ReadArray</xref>  </p> </entry>
<entry><p>Shows how to load data from a resource file into an array. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-0552E177-B824-5E2D-A5A6-0F0694EC13EE.dita">MultiRead1</xref>  </p> </entry>
<entry><p>Shows how to open a single resource file and read a resource
from it into a descriptor. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-D5B6519B-E902-56C3-80CF-DCEE3F8501BB.dita">MultiRead2</xref>  </p> </entry>
<entry><p>Shows how to open and read from multiple resource files. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-4820CA37-982D-57BC-8829-498192801B1E.dita">ReadData</xref>  </p> </entry>
<entry><p>Shows how to use a resource reader to read data of various
types from a resource file into the data members of a class. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-E26E46AE-914E-5F21-AB44-10F926BAA8AC.dita">EUser
High Level Library</xref>  </p> </entry>
<entry><p>Shows how to use EUser High Level library classes and APIs </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-9A1317EE-A101-5ACA-A1D4-9D07168157D0.dita">SigCheck</xref>  </p> </entry>
<entry><p>Shows how the signature of a resource file is checked before
use. </p> </entry>
</row>
</tbody>
</tgroup>
</table> <p><b>XML</b> </p> <table id="GUID-C96C15A1-43A5-54FD-A915-59E294BEBCD4">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p><xref href="GUID-5012D63B-4353-5616-BBFB-DB04DAF71679.dita">XmlExample</xref>  </p> </entry>
<entry><p>Shows how to use the <xref href="GUID-54A442BD-FCF1-31D3-BEF7-598C1820F473.dita"><apiname>Xml</apiname></xref> framework to
parse XML and WBXML files. </p> </entry>
</row>
</tbody>
</tgroup>
</table> </section>
<section id="GUID-FE7F12C1-BC54-497F-8C56-47603FFF7E2B"><title>Graphics</title> <p><b>Font and Bitmap Server</b> </p> <table id="GUID-771EBF67-9F0D-51F0-ACBD-25065010D510">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p><xref href="GUID-4BAA1BE9-E590-564E-8D5C-C7191AB4D8A6.dita">BitmapsShell</xref>  </p> </entry>
<entry><p>Shows how to draw and manipulate bitmaps. </p> </entry>
</row>
<row>
<entry><p>  <xref href="GUID-53707903-9A88-409B-80F8-FDF7EF47ACBF.dita">CoverflowApp</xref></p> </entry>
<entry><p>Illustrates how the graphics architecture called ScreenPlay
creates OpenVG content on a semi-transparent or transparent UI. </p> </entry>
</row>
</tbody>
</tgroup>
</table>      <p><b>General</b> </p> <table id="GUID-71B3C013-28C3-528A-93D7-2AB2D299FF4D">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p><xref href="GUID-30382EFD-90D5-570C-A6CD-19D34360F329.dita">GraphicsShell</xref>  </p> </entry>
<entry><p>A TechView application that demonstrates drawing points,
lines and shapes, and zooming a bitmap and text. </p> </entry>
</row>
</tbody>
</tgroup>
</table> </section>
<section id="GUID-17DB3D43-7E0D-4D82-92ED-74708A633349"><title>High
Level Internet Protocols</title> <p><b>Application Layer Protocols</b> </p> <table id="GUID-5B118134-BB1C-505C-929C-EAF014205AEF">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p><xref href="GUID-6B8BA8A8-AD56-55BA-9659-15091E988FB7.dita">httpexampleclient</xref>  </p> </entry>
<entry><p>A console application that provides a menu-driven interface
to demonstrate the HTTP API. </p> </entry>
</row>
</tbody>
</tgroup>
</table> <p><b>IMS and Streaming</b> </p> <table id="GUID-AF7CEA78-D5CD-5290-859E-44FADE28E529">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p><xref href="GUID-59230503-7E2E-505D-9BC9-C2D2DB96B3E9.dita">RTPExample</xref>  </p> </entry>
<entry><p>Shows RTP packet streaming. </p> </entry>
</row>
</tbody>
</tgroup>
</table> </section>
<section id="GUID-0EC84F5C-D843-4819-8962-EE17367E63F4"><title>Kernel
and Hardware Services</title> <p> </p>  <p><b>User Library</b> </p> <table id="GUID-7C3C9842-5B1F-58C7-8FE3-61210C6BFBE5">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p><xref href="GUID-5B9DE39D-61D0-51FF-948E-15691CD673B5.dita">AdvancedClientServerExample</xref>  </p> </entry>
<entry><p>Shows the use of asynchronous and synchronous client/server
APIs using a logical device driver (LDD) and a physical device driver
(PDD). </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-E63545EC-172E-53F3-B0B3-EA5150FD92D8.dita#GUID-E63545EC-172E-53F3-B0B3-EA5150FD92D8/GUID-9D95DEED-4E6A-5139-9188-DD7FA0A4B906">SingleRequest</xref>  </p> </entry>
<entry><p>Shows the basic principles of asynchronous programming by
issuing and waiting for completion of a single request. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-E63545EC-172E-53F3-B0B3-EA5150FD92D8.dita#GUID-E63545EC-172E-53F3-B0B3-EA5150FD92D8/GUID-D9B89770-81F8-52ED-848E-F79A92858C37">WaitLoop</xref>  </p> </entry>
<entry><p>Shows how a wait loop can be used to identify and handle
a completed request. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-E63545EC-172E-53F3-B0B3-EA5150FD92D8.dita#GUID-E63545EC-172E-53F3-B0B3-EA5150FD92D8/GUID-F6C2B633-E744-5B40-819D-6615406A9664">RealLifeWaitLoop</xref>  </p> </entry>
<entry><p>Shows how the wait loop can deal with multiple asynchronous
service providers. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-E63545EC-172E-53F3-B0B3-EA5150FD92D8.dita#GUID-E63545EC-172E-53F3-B0B3-EA5150FD92D8/GUID-D3EA20C0-AF5C-5AFE-8014-48CB92851463">RunComplete</xref>  </p> </entry>
<entry><p>Shows how active objects and an active scheduler can be
used to handle asynchronous events, using a timer. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-E63545EC-172E-53F3-B0B3-EA5150FD92D8.dita#GUID-E63545EC-172E-53F3-B0B3-EA5150FD92D8/GUID-802DB10F-150B-5A76-BFC8-A7E8EB4A68D6">AcceptInput1-2</xref>  </p> </entry>
<entry><p>Shows how active objects and an active scheduler can be
used to handle asynchronous events, using keyboard input. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-E63545EC-172E-53F3-B0B3-EA5150FD92D8.dita#GUID-E63545EC-172E-53F3-B0B3-EA5150FD92D8/GUID-1BEA3D45-21A2-54AB-ABBD-EF23716FE6B5">AcceptPrintInput</xref>  </p> </entry>
<entry><p>Shows how active objects and an active scheduler can be
used to handle accept and print keyboard inputs to a console. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-E63545EC-172E-53F3-B0B3-EA5150FD92D8.dita#GUID-E63545EC-172E-53F3-B0B3-EA5150FD92D8/GUID-AD4D25CA-B0BF-54BD-8029-DD495AB56C5E">Fibonacci1-3</xref>  </p> </entry>
<entry><p>Shows how active objects and an active scheduler can be
used to handle asynchronous events and long-running services to maintain
system responsiveness. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-0DEDC917-05C9-5D43-B839-73C043624BE9.dita">circularbuffer</xref>  </p> </entry>
<entry><p>Shows how to construct and use circular buffers holding
different types of objects. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-D4DD2109-3A5B-557D-BCF2-89691CDA5C75.dita#GUID-D4DD2109-3A5B-557D-BCF2-89691CDA5C75/GUID-BFDD4BF0-E60A-5996-B83D-4DE3EACA93FD">Simple</xref>  </p> </entry>
<entry><p>Shows a simple client that has a single session with a server. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-D4DD2109-3A5B-557D-BCF2-89691CDA5C75.dita#GUID-D4DD2109-3A5B-557D-BCF2-89691CDA5C75/GUID-544EE3A6-86A2-57FF-A13B-94658F1DCA16">Complex</xref>  </p> </entry>
<entry><p>More complex client/server example, where the server supports
multiple subsessions within a session. </p> </entry>
</row>

<row>
<entry><p><xref href="GUID-5C1E776D-5AEF-5326-BEA6-F2108F42CB71.dita#GUID-5C1E776D-5AEF-5326-BEA6-F2108F42CB71/GUID-8209AA7E-0DFB-512D-9BEB-9063BA617BC5">condvarglobal</xref>  </p> </entry>
<entry><p>Shows the use of the global condition variable IPC mechanism. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-5C1E776D-5AEF-5326-BEA6-F2108F42CB71.dita#GUID-5C1E776D-5AEF-5326-BEA6-F2108F42CB71/GUID-8CF8C4E2-4D74-54C8-9601-97CC44B9C943">condvarlocal</xref>  </p> </entry>
<entry><p>Shows the use of the local condition variable IPC mechanism. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-6B6532D0-6346-51E4-BC7A-6E8487EF8BA1.dita">Basics</xref>  </p> </entry>
<entry><p>Shows date and time handling. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-14FAE656-7CDE-56ED-ACB2-7853276C24E9.dita#GUID-14FAE656-7CDE-56ED-ACB2-7853276C24E9/GUID-90645A43-313B-55FC-91D0-547C237B680B">BinaryData</xref>  </p> </entry>
<entry><p>Shows how descriptors can handle general binary data by
explicitly using the 8 bit descriptor class variants. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-14FAE656-7CDE-56ED-ACB2-7853276C24E9.dita#GUID-14FAE656-7CDE-56ED-ACB2-7853276C24E9/GUID-FC2B9B70-F849-5F19-9F3C-25D5FDCC576D">Buffer</xref>  </p> </entry>
<entry><p>Shows the basic idea of buffer descriptors and how they
are used. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-14FAE656-7CDE-56ED-ACB2-7853276C24E9.dita#GUID-14FAE656-7CDE-56ED-ACB2-7853276C24E9/GUID-5040249B-55ED-5ACD-837B-6B0FD4AF24FE">InFunct</xref>  </p> </entry>
<entry><p>Shows how to use descriptors as function arguments. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-14FAE656-7CDE-56ED-ACB2-7853276C24E9.dita#GUID-14FAE656-7CDE-56ED-ACB2-7853276C24E9/GUID-CE601E1E-AF03-56E8-B7FB-0CDFF4EA4386">HeapBuffer</xref>  </p> </entry>
<entry><p>Shows how to create and use the heap buffer descriptor <xref href="GUID-A103FB19-60B3-3E45-97A5-1F295934ACA1.dita"><apiname>HBufC</apiname></xref>. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-14FAE656-7CDE-56ED-ACB2-7853276C24E9.dita#GUID-14FAE656-7CDE-56ED-ACB2-7853276C24E9/GUID-C79042EB-4ACF-5972-9F57-E7C0F37DECF6">Modifier</xref>  </p> </entry>
<entry><p>Shows how to use the modifiable descriptor class <xref href="GUID-49D4E917-57EA-39AE-8941-144AA8AC2584.dita"><apiname>TDes</apiname></xref>. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-14FAE656-7CDE-56ED-ACB2-7853276C24E9.dita#GUID-14FAE656-7CDE-56ED-ACB2-7853276C24E9/GUID-927CFF04-C0D1-5BDE-B221-4245113924F7">NonModifier</xref> </p> </entry>
<entry><p>Shows how to use the non-modifiable descriptor class <xref href="GUID-52D07F46-2162-380C-A775-C3BB335C42F5.dita"><apiname>TDesC</apiname></xref>. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-14FAE656-7CDE-56ED-ACB2-7853276C24E9.dita#GUID-14FAE656-7CDE-56ED-ACB2-7853276C24E9/GUID-5AEFA6EB-A100-5B96-935D-2537EEFB56F5">Pointer</xref>  </p> </entry>
<entry><p>Shows how to use pointer descriptors. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-14FAE656-7CDE-56ED-ACB2-7853276C24E9.dita#GUID-14FAE656-7CDE-56ED-ACB2-7853276C24E9/GUID-1636C0BB-9B23-5C47-8F26-CF080DBE64EB">WriteToFile</xref>  </p> </entry>
<entry><p>Basic example that shows how to write text to a file. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-B7482AEB-9E7E-5F9C-A69D-60E1FE82CCE1.dita">DynamicArrays</xref>  </p> </entry>
<entry><p>Shows how to construct and use dynamic arrays. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-56FB0E4F-23BF-5B4E-B1F6-C485F0E0CC9D.dita">DynamicBuffers</xref>  </p> </entry>
<entry><p>Shows how to use the flat and segmented buffer classes. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-960B2F4E-9012-53EE-973A-C3426A7DD48F.dita">DLLs</xref> </p> </entry>
<entry><p>Implements two polymorphic DLLs and shows how to load and
use them. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-CEB1E9D7-3FAB-58D4-BD07-E924D0B87555.dita">RangeChecking</xref>  </p> </entry>
<entry><p>Shows how to use the range checking wrapper class for C++
arrays (<xref href="GUID-1EC847DC-6858-3BEE-A5B2-F7737F1D50AD.dita"><apiname>TFixedArray</apiname></xref>). </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-7068AB77-5C96-59A3-B975-7923FD843832.dita">hashtableexample</xref>  </p> </entry>
<entry><p>Shows how to use the hash table APIs. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-3321A4E7-8652-511F-8A17-E816F5731E94.dita">Lexer</xref>  </p> </entry>
<entry><p>Shows how to use the lexical analyser, <xref href="GUID-C94AB4F0-AE42-3957-A037-77CB145DDBF8.dita"><apiname>TLex</apiname></xref>. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-F15B9BDF-EDF8-5684-A0FC-C0A08F9C1F22.dita">linkedlist</xref>  </p> </entry>
<entry><p>Shows how to use singly and doubly linked lists and the
delta queue class. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-09FC1F03-B5EB-5228-832B-C64D95AEA05B.dita">Currency</xref>  </p> </entry>
<entry><p>Shows locale-specific representation of currency values
and symbols. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-24EFD1EC-333C-537C-89FF-A77627D962C3.dita">localeupdate</xref>  </p> </entry>
<entry><p>Shows how to load a locale DLL and read settings from it. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-9CAE0C86-537A-500F-B361-D555DD39954B">ErrorOnFail</xref> </p> </entry>
<entry><p>Shows use of the <codeph>TRAPD</codeph> macro, the cleanup
stack and the process of leaving. Returns an error code on failure. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-E80C29CC-0282-5350-8077-BB298B7590C0">LeaveOnFail</xref> </p> </entry>
<entry><p>As the <codeph>ErrorOnFail</codeph> example except it leaves
on failure. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-279FBD9A-0E61-50ED-9618-BAB24AC3163C">ELeaveOnFail</xref>  </p></entry>
<entry><p>As the <codeph>LeaveOnFail</codeph> example except it calls <codeph>new (ELeave)</codeph> rather than <codeph>new</codeph>. </p></entry>
</row>
<row>
<entry><p><xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-C7E94BD9-9B77-548C-A3C2-D5A396F20EF0">TrapD</xref>  </p> </entry>
<entry><p>Shows the use of the <codeph>TRAPD</codeph> macro. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-12F30817-5CE0-5B6E-A850-7179BE915539">PushLAndPop</xref> </p> </entry>
<entry><p>Shows the use of the cleanup stack and its functions <codeph>PushL()</codeph> and <codeph>Pop()</codeph>. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-548F79C2-3394-5D86-8E70-B219E49288C7">PushLPopDest</xref>  </p> </entry>
<entry><p>Shows the use of the cleanup stack and its functions <codeph>PushL()</codeph> and <codeph>PopAndDestroy()</codeph>. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-5975C52F-726D-5DB1-8CE4-7F52DC202B43">NewL</xref>  </p> </entry>
<entry><p>Shows use of the <codeph>NewL()</codeph> static function. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-53F042FC-401F-5AD7-8F60-ECD15EB1069F">NewLC</xref>  </p> </entry>
<entry><p>Shows use of the <codeph>NewLC()</codeph> static function. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-4559C2AC-0DA8-5788-A33C-2E20EFEF6D58">SimpleOOM</xref>  </p> </entry>
<entry><p>Shows cleanup handling for compound classes. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-2E3E6224-BE1C-5DA1-BEA0-D28CD7DA40E8">MemLeakOOM</xref>  </p> </entry>
<entry><p>Shows cleanup handling for compound classes, and avoiding
memory leaks. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-068C17E6-0E3C-571B-92D1-421EEF42E6A0">TwoPhaseOOM</xref>  </p> </entry>
<entry><p>Shows the two phase construction technique. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-D0A1DF34-2499-5F7E-80D1-0BFF74882EA6">TAnyRObjects1</xref>  </p> </entry>
<entry><p>Shows how cleanup can be implemented for <codeph>TAny*</codeph> type objects and 'R' type (resource type) objects. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-C42BF40F-94C4-5845-B449-164AD4578691">TAnyRObjects2</xref>  </p> </entry>
<entry><p>As <codeph>TAnyRObjects1</codeph> except it calls <codeph>OpenLC()</codeph> to open the file and push it onto the cleanup stack
in one function call. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1.dita#GUID-16DD2138-617F-57EA-9A35-70155AA7F7D1/GUID-C4F81443-E41D-52C6-9305-A1B7E45A1DC5">Utilities</xref>  </p> </entry>
<entry><p>Shows how to use the cleanup functions <codeph>CleanupDeletePushL()</codeph>, <codeph>CleanupClosePushL()</codeph> and <codeph>CleanupReleasePushL()</codeph>, and <codeph>CleanupArrayDeletePushL()</codeph>. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-C21BB0E4-7AF7-58E5-AAD6-8CE67399460C.dita">MessageQueueExample</xref>  </p> </entry>
<entry><p>Shows the use of the message queue in interprocess communication. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-3472798D-CEC5-5BA9-A3A7-D4245661DEDB.dita">pubsub</xref>  </p> </entry>
<entry><p>Shows the Publish and Subscribe IPC mechanism. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-C85EECD6-2CFD-5BA9-A60B-F7AF3A74E832.dita">rbufexample</xref>  </p> </entry>
<entry><p>Shows how to use the resizable buffer descriptor class <xref href="GUID-BFBC574B-EFF6-37A4-9189-B71DA1505BC8.dita"><apiname>RBuf</apiname></xref>. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-1F6DA049-AC03-5122-8B91-32C007A41526.dita">SecureServer</xref>  </p> </entry>
<entry><p>Shows how to use the policy server framework. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-7FCFB114-B186-5615-9134-08612BB675EE.dita">tcharexample</xref>  </p> </entry>
<entry><p>Shows how to use the single character class, <xref href="GUID-CDCFA2A5-EA8A-3B39-B90F-77AC41571E2D.dita"><apiname>TChar</apiname></xref>, and its derived classes. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-47F14C10-3ACD-583C-9E7D-84641229A771.dita">TLS1</xref> </p> </entry>
<entry><p>Shows the use of thread local storage (TLS) in a DLL, that
is set and accessed from a separate executable. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-EDDEA6A0-D45D-5241-B594-94ADDD803646.dita">ThreadRendezvous</xref>  </p> </entry>
<entry><p>Shows the principle of synchronisation using the thread
rendezvous technique. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-086939FA-D381-5705-BEE6-6DF2D3624849.dita#GUID-086939FA-D381-5705-BEE6-6DF2D3624849/GUID-3205DDD3-D057-56BF-8F64-CF1AFF52619B">BasicTimer</xref>  </p> </entry>
<entry><p>Shows the asynchronous timer class <xref href="GUID-8A423EA2-4264-30C9-9579-0466994E6E88.dita"><apiname>RTimer</apiname></xref>  </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-086939FA-D381-5705-BEE6-6DF2D3624849.dita#GUID-086939FA-D381-5705-BEE6-6DF2D3624849/GUID-0554FACD-5075-5C8D-8634-F60D31D1EDB7">Periodic</xref>  </p> </entry>
<entry><p>Shows the differences between a periodic and a heartbeat
timer. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-34614E31-45F1-5BD8-963D-9526AAD31734.dita">resourcemanager</xref>  </p> </entry>
<entry><p>Shows how to use the Power Resource Manager framework. </p> </entry>
</row>

<row>
<entry><p><xref href="GUID-056B9A65-EC59-4B2E-9F10-E487343B5F5F.dita">SemaphoreExample</xref></p></entry>
<entry><p>Shows how to use semaphores for a multithreading application.</p></entry>
</row>
</tbody>
</tgroup>
</table> </section>
<section id="GUID-34060D5F-86E7-48CA-B26B-550B45678232"><title>Messaging
Middleware</title> <table id="GUID-1DA226AB-62D4-5957-AB83-131545DC9316">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p><xref href="GUID-5B9F2EEE-A5F6-5833-BFC4-3B063EA7EDF2.dita">TextMTM</xref>  </p> </entry>
<entry><p>Several example projects that show how to use the Messaging
APIs. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-B26A4743-F331-5AC3-A40A-28B14B785857.dita">SearchSortExample</xref>  </p> </entry>
<entry><p>Shows how to use the enhanced search and sort API for message
stores. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-0CBD2728-DB7E-55FF-929A-E5BF279A1B66.dita">BIOMessageMgr</xref>  </p> </entry>
<entry><p>Shows BIO messaging and parsing the BIO message. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-382B8A9D-9D10-54CD-91A6-B9E7A2477662.dita">SendAs2Example</xref>  </p> </entry>
<entry><p>Shows how to use the SendAs v2 protocol for sending messages. </p> </entry>
</row>
</tbody>
</tgroup>
</table> </section>
<section id="GUID-BDABE08F-ACC4-4949-A07A-3D99B2DC29EB"><title>Messaging
Applications</title> <table id="GUID-B29214E5-2861-5638-BF15-FB301E67E487">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p><xref href="GUID-2D9B17E7-2B7A-5E16-AB06-D9507457A85D.dita">smsexample</xref>  </p> </entry>
<entry><p>Shows how to send and receive SMS messages using the Messaging
Framework APIs. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-BB35DBCC-FE56-547F-BADA-9EF854691ADC.dita">Imap4Pop3Example</xref>  </p> </entry>
<entry><p>Shows how to create SMTP (Simple Mail Transfer Protocol)
and POP (Post Office Protocol) accounts to send and receive emails. </p><p>Shows how to create SMTP and IMAP (Internet Message Access Protocol)
accounts to send and receive emails. </p> </entry>
</row>
</tbody>
</tgroup>
</table> </section>
<section id="GUID-22A35A82-E063-46A7-A0A7-6394759E4D8E"><title>Multimedia</title> <p><b>Multimedia APIs and Frameworks</b> </p> <table id="GUID-1C3366A7-3443-55AC-BF5C-CDBC6E8024FC">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p><xref href="GUID-76D01385-17CD-5F9A-B3B5-88D77773AA8E.dita">ICLCodec</xref>  </p> </entry>
<entry><p>Shows how to implement encoder and decoder plug-ins for
the Image Converter Library. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-7594A012-166F-5F10-A3ED-256465B4623E.dita">ImageConverter</xref> </p> </entry>
<entry><p>Shows how to convert between standard graphics formats to
and from <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref> s, and how to rotate, flip,
and zoom images. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-55BF8452-F9FF-5CF3-9D74-3BC7F5447551.dita">CameraExample</xref>  </p> </entry>
<entry><p>Shows how to use the Camera API to capture and control images. </p> </entry>
</row>
</tbody>
</tgroup>
</table> </section>
<section id="GUID-0F7A7186-770F-40FC-A982-01D951F1CD61"><title>Multimedia
Middleware</title> <p><b>Multimedia Middleware Frameworks</b> </p> <table id="GUID-19C93D72-DEA0-502B-8DA7-296B8E232DA4">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p><xref href="GUID-21D0D9D5-B57F-5F16-A2AF-17BC00DC1B15.dita">AudioClientEx</xref>  </p> </entry>
<entry><p>Shows how to use the Multimedia Framework's client audio
interfaces to play and record audio. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-8D8202BB-1070-5EE2-85C0-E37AABA67340.dita">MmfExCodec</xref>  </p> </entry>
<entry><p>Shows how to implement a codec plug-in for the Multimedia
Framework to convert media data. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-A0620D7E-F54C-5DE1-BED9-B34C5B851716.dita">MmfRAWFormat</xref>  </p> </entry>
<entry><p>Shows how to implement format encoder and decoder plug-ins
for the Multimedia Framework. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-22446D23-3CF7-5E1B-B479-4DCA6B6A3DA9.dita">MmfExSinkSource</xref>  </p> </entry>
<entry><p>Shows how to implement sink and source plug-ins for the
Multimedia Framework. </p> </entry>
</row>
</tbody>
</tgroup>
</table> </section>
<section id="GUID-30964647-9D8B-46BD-A9EE-62573804664E"><title>Networking
Services</title> <p><b>Network Protocols</b> </p> <table id="GUID-734073D2-E396-580B-9607-110A8291A1DE">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p><xref href="GUID-5546C1F6-2110-5031-99BC-66E6958D513B.dita">EchoClientEngine</xref>  </p> </entry>
<entry><p>The engine for the TCP/IP echo client example. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-2274DE87-8D6B-5376-A9AE-03ABE4DEE495.dita">EchoClientUI</xref>  </p> </entry>
<entry><p>The user interface for the TCP/IP echo client example. </p> </entry>
</row>
</tbody>
</tgroup>
</table> <p><b>Network Security</b> </p> <table id="GUID-04E16EE8-64E0-596C-B489-7A5B8B4B1EE3">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p><xref href="GUID-F3913401-83F6-5A12-BCA8-ABA232C2BF3D.dita">SecureSockets</xref>  </p> </entry>
<entry><p>Shows how to create and use a secure sockets (SSL/TLS) connection. </p> </entry>
</row>
</tbody>
</tgroup>
</table> </section>
<section id="GUID-66B052D5-ACB3-4F1B-95AF-7DF26B5AB321"><title>PC
Tools </title> <p><b>Secure Software Install Tools</b> </p> <table id="GUID-26626F66-7CE7-555D-9AC0-5E44A7F1C857">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p><xref href="GUID-AED57265-6106-4217-ADE6-1327CA3FDE7E.dita">HelloWorld</xref>  </p> </entry>
<entry><p>Shows how to create a simple installation file for an application. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-5D508751-C824-48E4-A6E3-0C5EA05DEC99.dita">HelloWorld</xref>  </p> </entry>
<entry><p>Shows how to create an installation file for a multilingual
application. </p> </entry>
</row>
</tbody>
</tgroup>
</table> </section>
<section id="GUID-4BB6F68C-C3E4-4A70-9A89-833DBD2D1818"><title>Persistent
Data Services</title> <p><b>Persistent Storage</b> </p> <table id="GUID-DC0B3E6C-22D1-5013-918A-BCA98E4A567D">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p><xref href="GUID-8D130FC5-3AB8-5C70-A9D2-C753957E729F.dita">Basics</xref>  </p> </entry>
<entry><p>Shows how to create and use a database using DBMS. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-271E14D1-7B9B-5048-B1F0-1E25B4EA4E16.dita">SqlExample</xref>  </p> </entry>
<entry><p>Shows how to use the SQL API to create and query an SQL
database. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-AA5DEEB2-0B13-5FA8-8494-EC2F5C654FEF.dita">CentRepExample</xref>  </p> </entry>
<entry><p>Shows how to use the central repository to store settings
and request notification of changes. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-15967AB3-B03C-5DAA-A784-D25ABFFC995E.dita#GUID-15967AB3-B03C-5DAA-A784-D25ABFFC995E/GUID-8C6125A5-AB9A-5D5D-BED6-7EE040400CA4">WriteDirectFS</xref>  </p> </entry>
<entry><p>Shows how to persist objects using a direct file store and
a root stream. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-15967AB3-B03C-5DAA-A784-D25ABFFC995E.dita#GUID-15967AB3-B03C-5DAA-A784-D25ABFFC995E/GUID-BB30B109-E407-5253-841F-5BBBA4079A06">WritePermFS1</xref>  </p> </entry>
<entry><p>Shows how to write a network of objects to a permanent file
store then read them back in again. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-15967AB3-B03C-5DAA-A784-D25ABFFC995E.dita#GUID-15967AB3-B03C-5DAA-A784-D25ABFFC995E/GUID-394D948C-13AB-505F-97E8-5AB3DCAEED45">WritePermFS2</xref>  </p> </entry>
<entry><p>Shows how to create and use a permanent file store. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-7FF63B82-B719-5E42-B007-94E2FB9548CB.dita">StreamInStore</xref>  </p> </entry>
<entry><p>Shows how to externalize objects to a single stream in a
non-persistent store. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-9372CB71-2C75-5B3D-81EA-B4257C3162C7.dita#GUID-9372CB71-2C75-5B3D-81EA-B4257C3162C7/GUID-CFC06048-6EAF-563E-A7BC-7CB4C99AA4C7">WriteToMany</xref> </p> </entry>
<entry><p>Shows how to write a network of objects to more than one
stream in a direct file store, and to defer the loading of an object
from the store into memory. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-9372CB71-2C75-5B3D-81EA-B4257C3162C7.dita#GUID-9372CB71-2C75-5B3D-81EA-B4257C3162C7/GUID-8E522D0B-C74C-5B14-9483-827DC79DEF46">WriteToEmbedded</xref>  </p> </entry>
<entry><p>Shows how an object is externalized to a store embedded
within a permanent file store. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-9372CB71-2C75-5B3D-81EA-B4257C3162C7.dita#GUID-9372CB71-2C75-5B3D-81EA-B4257C3162C7/GUID-4C25485D-7FE0-5699-86E7-F92BEE6BFADA">StoreMap</xref>  </p> </entry>
<entry><p>Shows how to stream a compound object to multiple streams
using a store map. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-BB67D4AA-EE75-559D-8180-D1BE923F22D8.dita#GUID-BB67D4AA-EE75-559D-8180-D1BE923F22D8/GUID-CAA3834A-2781-5259-A0BC-4D40F39595E4">SimpleClass</xref>  </p> </entry>
<entry><p>Shows streaming a simple class to and from a single stream. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-BB67D4AA-EE75-559D-8180-D1BE923F22D8.dita#GUID-BB67D4AA-EE75-559D-8180-D1BE923F22D8/GUID-F831D318-2C97-571A-B2DB-26172B22288E">CompoundClass</xref>  </p> </entry>
<entry><p>Shows streaming a compound class to and from a single stream </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-DCA2880E-7DF9-5E60-8F87-241711935389.dita">FeatMngrExample</xref>  </p> </entry>
<entry><p>Shows the use of Feature Manager APIs for dynamic management
of features. </p> </entry>
</row>
</tbody>
</tgroup>
</table> </section>
<section id="GUID-2D3105B6-352E-4EC9-822F-C2F8FE6F3D49"><title>PIM</title> <p><b>PIM Application Services</b> </p> <table id="GUID-C396467A-89BF-5B3D-9328-8F62AA83B2B8">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p><xref href="GUID-F8E4D4AC-878A-52C5-A04D-9E116A0087D5.dita">CalExample</xref>  </p> </entry>
<entry><p>Shows how to create and use a calendar file. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-A0C0BEBA-1976-5D68-B4EF-C3727DF163A9.dita">ContactViews</xref>  </p> </entry>
<entry><p>Shows how to use various contact view classes to create
a view of a contact database. </p> </entry>
</row>
</tbody>
</tgroup>
</table> <p><b>PIM Application Support</b> </p> <table id="GUID-2974517A-E214-5A3A-8AFF-6B387447816F">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p><xref href="GUID-06730728-30C5-51FD-BD37-FB62F2958D28.dita">CalconExample</xref> </p> </entry>
<entry><p>Shows how to convert between Gregorian and Chinese dates. </p> </entry>
</row>
<row>
<entry><p><xref href="GUID-BC67F13E-4B5A-5078-AE9B-826304BC14FD.dita">VersitExample</xref>  </p> </entry>
<entry><p>Shows how to import and export vCards. </p> </entry>
</row>
</tbody>
</tgroup>
</table> </section>

<section id="GUID-2B79AC46-4196-420D-89F5-60765B71E479"><title>System
GUI Framework</title> <p><b>Look-and-Feel Agnostic UI Foundation</b> </p> <table id="GUID-5DFE048E-1B3F-51F8-9687-8EB439A0B477">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>

<row>
<entry><p><xref href="GUID-79B02562-B6E6-5DF9-BF98-F015C73A448C.dita">ClockExample</xref>  </p> </entry>
<entry><p>Shows how to create and display digital and analogue clocks. </p> </entry>
</row>


</tbody>
</tgroup>
</table> </section>

</conbody></concept>