HybridApp: Demonstrating P.I.P.S. Hybrid Applications

This example shows how to develop P.I.P.S. hybrid applications. The example uses both pure C and native Symbian C++ APIs.


Click on the following link to download the example: HybridApp.zip

Click: browse to view the example code.


This example displays the memory information of all available drives of the system. As P.I.P.S. APIs cannot be used to access these drives, native Symbian C++ APIs are used. The RFs::Drive() and RFs::Volume() APIs are used to access the drives and get their memory information.

It displays the drive information by using the standard Input/Output functions defined in P.I.P.S. libraries. The DescToChar() function defined in the example converts the native Symbian descriptor strings to C strings. As the drive name is stored in a descriptor, the example uses this function to convert it to a C string.


The following statements are present in all the .mmp files of the example:

SYSTEMINCLUDE epoc32\include\stdapis
LIBRARY libc.lib

Note: You require these statements because of the following reasons:

  • The epoc32\include\stdapis directory contains header files such as, stdio.h, unistd.h and so on that are required to build an Open Environment application.

  • The libc.lib file contains the definitions of all functions that are defined in the header files associated with this example.

  • The libcrt0.lib file provides the E32Main() function, which is the entry point for the main() function of the example.

For the emulator, the example builds an executable file called hybridapp.exe in the epoc32\release\winscw\<udeb or urel>\ directory.

Related concepts