|
1 <?xml version="1.0" encoding="utf-8"?> |
|
2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --> |
|
3 <!-- This component and the accompanying materials are made available under the terms of the License |
|
4 "Eclipse Public License v1.0" which accompanies this distribution, |
|
5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --> |
|
6 <!-- Initial Contributors: |
|
7 Nokia Corporation - initial contribution. |
|
8 Contributors: |
|
9 --> |
|
10 <!DOCTYPE concept |
|
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
|
12 <concept id="GUID-6E4CAA18-635E-5476-8CE4-DCA69C05CC07" xml:lang="en"><title>HybridApp: |
|
13 Demonstrating P.I.P.S. Hybrid Applications</title><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
14 <p>This example shows how to develop P.I.P.S. hybrid applications. The example |
|
15 uses both pure C and native Symbian C++ APIs. </p> |
|
16 <section><title>Download</title> <p>Click on the following link to download |
|
17 the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-5a0c76f0-30fe-4695-af85-4dbb6b05e42e.zip" scope="external">HybridApp.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-5a0c76f0-30fe-4695-af85-4dbb6b05e42e.html" scope="peer">browse</xref> to view the example code. </p> </section> |
|
18 <section><title>Description</title> <p>This example displays the memory information |
|
19 of all available drives of the system. As P.I.P.S. APIs cannot be used to |
|
20 access these drives, native Symbian C++ APIs are used. The <codeph>RFs::Drive()</codeph> and <codeph>RFs::Volume()</codeph> APIs |
|
21 are used to access the drives and get their memory information. </p> <p>It |
|
22 displays the drive information by using the standard Input/Output functions |
|
23 defined in P.I.P.S. libraries. The <codeph>DescToChar()</codeph> function |
|
24 defined in the example converts the native Symbian descriptor strings to C |
|
25 strings. As the drive name is stored in a descriptor, the example uses this |
|
26 function to convert it to a C string. </p> </section> |
|
27 <section><title>Build</title> <p>The following statements are present in all |
|
28 the <filepath>.mmp</filepath> files of the example: </p> <codeblock id="GUID-4B6DD4ED-6044-5294-A2A1-91CFCD3FFE31" xml:space="preserve">SYSTEMINCLUDE epoc32\include\stdapis |
|
29 LIBRARY libc.lib |
|
30 STATICLIBRARY libcrt0.lib</codeblock> <p> <b>Note:</b> You require these statements |
|
31 because of the following reasons: </p> <ul> |
|
32 <li id="GUID-90620295-032C-5057-9D1D-04064322C0A6"><p>The <filepath>epoc32\include\stdapis</filepath> directory |
|
33 contains header files such as, <filepath>stdio.h</filepath>, <filepath>unistd.h</filepath> and |
|
34 so on that are required to build an Open Environment application. </p> </li> |
|
35 <li id="GUID-3CC12EEF-4472-5782-A1F0-81B576B99249"><p>The <filepath>libc.lib</filepath> file |
|
36 contains the definitions of all functions that are defined in the header files |
|
37 associated with this example. </p> </li> |
|
38 <li id="GUID-CADEFC9F-45F6-5E13-8336-6EC6457A102E"><p>The <filepath>libcrt0.lib</filepath> file |
|
39 provides the <codeph>E32Main()</codeph> function, which is the entry point |
|
40 for the <codeph>main()</codeph> function of the example. </p> </li> |
|
41 </ul> <p> <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">The Symbian |
|
42 OS build process</xref> describes how to build this example. </p> <p>For the |
|
43 emulator, the example builds an executable file called <filepath>hybridapp.exe</filepath> in |
|
44 the <filepath>epoc32\release\winscw\<udeb or urel>\</filepath> directory. </p> </section> |
|
45 </conbody><related-links> |
|
46 <link href="GUID-38BE7105-309E-5372-98EE-BCA0ADD0ACBA.dita"><linktext>Hybrid Applications</linktext> |
|
47 </link> |
|
48 <link href="GUID-79100974-CAE1-5451-9ED7-E06C9B27131B.dita"><linktext>Build Process</linktext> |
|
49 </link> |
|
50 </related-links></concept> |