Symbian3/SDK/Source/GUID-D28FA4E1-6A94-4508-95B3-ACE21BCE6EA7.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Wed, 31 Mar 2010 11:11:55 +0100
changeset 7 51a74ef9ed63
child 8 ae94777fff8f
permissions -rw-r--r--
Week 12 contribution of API Specs and fix SDK submission
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     1
<?xml version="1.0" encoding="utf-8"?>
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     2
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
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 
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     4
"Eclipse Public License v1.0" which accompanies this distribution, 
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     5
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     6
<!-- Initial Contributors:
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     7
    Nokia Corporation - initial contribution.
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     8
Contributors: 
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     9
-->
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    10
<!DOCTYPE concept
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    11
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    12
<concept id="GUID-D28FA4E1-6A94-4508-95B3-ACE21BCE6EA7" xml:lang="en"><title>Open
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    13
C String Utilities Example</title><shortdesc>String Utilities Library Example</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    14
<p>String manipulation on Symbian platform is bit tricky. Even though Symbian
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    15
platform has rich set of APIs for formatting/manipulating strings with both
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    16
UNICODE (16 bit variants) and narrow character sets (8-bits), using those
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    17
APIs will be bit complex for those who have familiarized Standard C string
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    18
manipulations.  When one writes hybrid applications on Symbian platform using
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    19
native Symbian APIs as well as Open C APIs, user may need to convert the descriptors
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    20
of Symbian platform to standard C character strings and vice versa. Especially,
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    21
in case of writing hybrid applications on open C, user will be facing this
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    22
conversion problem more frequently. It is really difficult to do these conversions
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    23
without the thorough knowledge of Symbian platform descriptors.   OpenCStringUtilitiesEx
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    24
is a library, which makes Open C’s developers life easy. OpenCStringUtilitiesEx
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    25
is a library, which exports several string- utility APIs for descriptor to
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    26
character string conversions and vice versa. With the help of this library,
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    27
user will be able to write a hybrid application on Open C, with out knowing
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    28
much about the descriptors of Symbian platform. </p>
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    29
<section id="GUID-026FD8D6-6C4A-5958-B289-775D4AE1E756-GENID-1-8-1-11-1-1-5-1-3-1-11-1-15-1-3-2"><title>Download</title> <p>Click
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    30
on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-ef84586b-da53-4132-b481-aef6ba5a0994.zip" scope="external"> OpenCStringUtilitiesEx.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-ef84586b-da53-4132-b481-aef6ba5a0994.html" scope="peer">browse</xref> to view the example code. </p> </section>
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    31
<section id="GUID-7E7C4564-B10E-41F9-8A9D-D8A6C5E9C51C-GENID-1-8-1-11-1-1-5-1-3-1-11-1-15-1-3-3"><title>Design and
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    32
Implementation</title> <p>The following sections provide information about
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    33
the implementation of the example.</p> <p><b>Capabilities</b> </p>The program
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    34
capabilities are defined in: <filepath> stringutils.mmp</filepath>(DLL - library): <codeph>CAPABILITY
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    35
NONE</codeph> <filepath>stringutils_example.mmp</filepath> (EXE - application): <codeph>CAPABILITY
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    36
NONE</codeph>.<p><b>Module Hierarchy</b></p><p>This application has 2 modules
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    37
as below:   String-utils library (OpenCStringUtilitiesLibEx.dll) that exports
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    38
set of APIs for the user (OpenCStringUtilitiesLibEx).   An application (EXE)
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    39
that demonstrates the usage of Open C APIs and also those APIs exported by
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    40
String Utils library. (OpenCStringUtilitiesLibEx)  This example creates a
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    41
DLL which exports set of generic APIs that can be used to convert descriptor
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    42
of Symbian platform to character string and vice versa.   To give an rough
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    43
idea on how to use these APIs, an EXE is provided that calls the APIs of OpenCStringUtilitiesLibEx
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    44
and illustrates their uses.</p><p><b>Implementation details of EXE</b> </p>OpenCStringUtilitiesExeEx
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    45
is a simple console based C application that uses String-utils library. This
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    46
application uses main() as the entry point for the application.It demonstrates
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    47
how to use String-utils library (OpenCStringUtilitiesLibEx.dll) APIs.  It
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    48
has its own icon and can be launched from the UI both in the emulator and
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    49
in the device. <p><b>APIs demonstrated</b></p><p><xref href="GUID-68B65AA3-AE49-390F-A2E2-30D8759F648D.dita"><apiname>tbuf16towchar</apiname></xref></p><p><xref href="GUID-6B38C374-D9EE-30CB-B554-76109A759715.dita"><apiname>tbuf16tochar</apiname></xref>  </p><p><xref href="GUID-CA1AF5CD-E167-3695-880D-D8C011AE1777.dita"><apiname>tbuf8towchar</apiname></xref>  </p><p><xref href="GUID-025329B8-54D2-334B-80B7-B01656B461CA.dita"><apiname>tbufC16towchar</apiname></xref></p><p> <xref href="GUID-E2CFBDCD-2864-3B23-B9E9-B98A16FA4341.dita"><apiname>tbufC8tochar</apiname></xref>  </p><p><xref href="GUID-599A5AA9-703A-3584-8F59-A9DFA1362B4A.dita"><apiname>tbufC16tochar</apiname></xref>  </p><p><xref href="GUID-70F3BC58-C386-3CFE-9A93-EB4F2A637875.dita"><apiname>tbufC8towchar</apiname></xref> </p><p> <xref href="GUID-B5674394-1D74-31BB-AF55-34AAEF9D5749.dita"><apiname>wchartotbuf16</apiname></xref>  </p><p><xref href="GUID-245EA280-238A-371A-AA4E-FF9D056DD288.dita"><apiname>chartotbuf16 </apiname></xref> </p><p><xref href="GUID-B9187887-00EE-3C97-AF98-21E29B27CE14.dita"><apiname>wchartotbuf8</apiname></xref>  </p><p><xref href="GUID-BD53EFB6-CE1E-3CBE-923B-3F3730272B60.dita"><apiname>chartotbuf8</apiname></xref> </p><p> <xref href="GUID-08726C60-7F87-3969-90A1-937ECADA3D88.dita"><apiname>wchartohbufc16</apiname></xref>  </p><p><xref href="GUID-387C67D2-C5D9-36E6-9E49-6917E0287266.dita"><apiname>chartohbufc16</apiname></xref>  </p><p><xref href="GUID-88876C84-4D4E-3FBB-A676-E621D3EC67C8.dita"><apiname>wchartohbufc8</apiname></xref>  </p><p><xref href="GUID-273E4D2E-83D2-3229-B973-16BD96B69C71.dita"><apiname>chartohbufc8</apiname></xref> </p><p> <xref href="GUID-D1E233B3-CB49-3ED2-B8E1-33761D41E501.dita"><apiname>hbufC16towchar</apiname></xref> </p><p> <xref href="GUID-EFBC32AF-3FDB-312E-B8A4-905B0767A743.dita"><apiname>hbufC16tochar</apiname></xref> </p><p> <xref href="GUID-ACAD2625-1E6D-3E13-B3DD-E59E97258F4A.dita"><apiname>hbufC8towchar</apiname></xref>  </p><p><xref href="GUID-8A8B0CC7-9270-346E-A835-5BD70B168204.dita"><apiname>hbufC8tochar</apiname></xref> </p></section>
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    50
<section id="GUID-67A72761-1D92-46D1-B1C9-7455978BDE4E-GENID-1-8-1-11-1-1-5-1-3-1-11-1-15-1-3-4"><title>Building and
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    51
Using</title> To build the example application, go to the OpenCStringUtilitiesEx\group
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    52
directory and build the application.  The definition for the whole application
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    53
can be found in the bld.inf file in the group subdirectory of the applications
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    54
main directory. </section>
51a74ef9ed63 Week 12 contribution of API Specs and fix SDK submission
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    55
</conbody></concept>