Forum Nokia
Nokia Connecting People

Login Register

 

Home: Resources: Technologies: Symbian: Symbian C++ Code and Examples

Symbian/C++ Code and Examples

Areas of interest

Base/System - S60/Symbian C++

31-Mar-2008

S60 Platform: Log Example
This C++ application demonstrates the usage of the Log Engine API provided by Symbian. The API is used to record events of interest to the user, of which they may not be immediately aware, or which are of high importance since costs are incurred, such as telephone calls. These events can be retrieved by a viewer application and displayed to the user. The Log Engine API is supported from S60 2nd Edition onwards. In the updated version, the timestamp offset of the log events has been corrected, backup & restore and scalability support has been added, and the application views have been simplified.

06-Feb-2008

S60 Platform: Chinese Display Example
This C++ application demonstrates how to display Chinese characters from resource files. The application supports internationalization and localization. In the updated version also the context-sensitive help has been added. The application supports following languages: English, Taiwan Chinese, Taiwan English, HongKong Chinese, HongKong English, Mainland Chinese, and Mainland English. Main classes: TFontSpec, CCnvCharacterSetConverter

18-Jan-2007

S60 Platform: Descriptor Example v2.0
This C++ code example demonstrates how to use descriptors (Symbian OS strings) and related APIs. The example is an S60 application that is used to run one or all example methods. The methods write a log to the screen or to a file that demonstrates the results of different statements. Main classes: TBuf, HBufC, RBuf.

12-Jan-2007

S60 Platform: ECom Plug-In Examples v2.0
This package includes two C++ code examples demonstrating how to create and use an ECom plug-in from a client application. ECom_Shape draws different figures and ECom_ Calculator performs calculation for two numbers using the ECom plug-in component. The examples consist of a custom ECom interface, a DLL plug-in component with actual implementations for the interface, a resolver (either a default or custom resolver), and a simple GUI client that uses the interface. Main classes: REComSession, TEComResolverParams, CEikLabel, CEikEdwin, TResourceReader, CResolver, TImplementationProxy.

08-Jan-2007

S60 Platform: Power and Resource Management Example v2.0
This updated C++ code example demonstrates the APIs that are available for figuring out battery, charger, and network status. It also demonstrates some of the techniques and principles described in the document S60 Platform: Effective Power and Resource Management (available at www.forum.nokia.com), including the use of active objects and multiple threads. It is recommended that the document is read before studying the example. Main classes: CTelephony, RSystemAgent, TSysAgentEvent, CIdle, CActive.

22-Dec-2006

S60 Platform: Document Handler Example
This C++ example demonstrates how to use the Document Handler and the Recognizer to open and handle certain file types in a dedicated application. The example consists of three components: a caller application trying to open a specific file, a recognizer (a dll component implemented as an ECom plugin from S60 3rd Edition onwards) detecting the file extension, and a document handler opening the file. Note that for the recognizer, a developer certificate is needed due to its ProtServ capability requirement. Usage of the document handler is described in the S60 Platform: Document Handler API Developer's Guide document, available at www.forum.nokia.com. Main classes: CDocumentHandler, CApaDataRecognizerType.

31-Oct-2006

S60 Platform: FEP Example v2.0
This C++ code example demonstrates how to create and install a custom Front End Processor (FEP). It consists of two components: FepSetup, which can be used to install/switch the active FEP, and FepExample, which contains the actual FEP implementation. FepExample contains a sample multi-tap input engine, which modifies the behavior of the mobile phone's numeric keys. Note that because the active FEP is actually loaded by all applications, platform security (introduced in S60 3rd Edition) requires ALL-TCB capabilities, and thus the FepExample component has to be signed using the Manufacturer Approved Developer Certificate. Note also that FEP might not be compatible with all S60 applications. The known issues are described in the release notes in the example package. The example includes an AknEditStateIndicator.h header that is needed to define MAknEditingStateIndicator. The header was not available in the S60 SDKs until S60 3rd Edition, Feature Pack 1. Main classes: CCoeFep, CCoeFepPlugIn, CFepGenericGlobalSettings, MAknEditingStateIndicator.

09-Oct-2006

S60 Platform: Time Zone Localizer Example
This C++ code example demonstrates how to convert UTC time to local time using the time zone server (RTz) and how to add/remove or find a city from the database using TZLocalizer API. These APIs were introduced in Symbian OS v.9.1 (S60 3rd Edition). In earlier releases the WorldServer API can be used for similar functions. Main classes: RTz, CTzLocalizer

20-Sep-2006

S60 Platform: System Information Example v2.0
This C++ code example demonstrates how to retrieve system information such as software and language versions, running applications, active profile, and battery and network status information. For some of these tasks, the APIs are different for S60 2nd and 3rd Edition. Main classes: HAL, CRepository, CTelephony, CSettingInfo, RSystemAgent.

25-Nov-2005

S60 Platform: Multiple Threads Example v1.1
This package includes a C++ Thread example program that demonstrates thread usage and synchronization. A document explaining the use of threads in Symbian OS is included in the package.

25-Nov-2005

S60 Platform: Thread And Active Objects Example v1.1
This updated package includes a C++ example that demonstrates how to create an active scheduler and how to use active objects inside a new thread. Documentation is included in the package.

 

Back to top

UI - S60/Symbian C++

31-Mar-2008

S60 Platform: Rich Text Editor Example
This C++ code example demonstrates the usage of Rich Text Editor. Most of the features are handled automatically when the dialog framework creates the editor. However, some steps, such as inserting an image, setting the text input type, or showing the scroller require the use of methods or classes. Main classes: CEikRichTextEditor, CFbsBitmap, TPictureHeader, CPicture.

06-Feb-2008

S60 Platform: Chinese Display Example
This C++ application demonstrates how to display Chinese characters from resource files. The application supports internationalization and localization. In the updated version also the context-sensitive help has been added. The application supports following languages: English, Taiwan Chinese, Taiwan English, HongKong Chinese, HongKong English, Mainland Chinese, and Mainland English. Main classes: TFontSpec, CCnvCharacterSetConverter

19-Dec-2007

S60 Platform: Scalable Screen-Drawing Example
This C++ application demonstrates scalable screen drawing with Direct Screen Access and custom drawing routines using SVG-T icons and bitmaps. The application scales to multiple display resolutions in portrait and landscape orientations supported by the S60 platform. This example is targeted especially at games and multimedia developers who prefer developing a custom UI instead of using an automatically scaling UI, such as S60 Avkon components. Labeling for the middle softkey is added in the updated version. Important classes: CIconFileProvider, MDirectScreenAccess, MAknIconFileProvider, CCoeControl (HandleResourceChange() method and KEikDynamicLayoutVariantSwitch) CEikAppUi (ApplicationRect(), Orientation(), and SetOrientationL() methods).

07-Nov-2007

S60 Platform: Scalable UI Example
This package includes a C++ example application (Noughts and Crosses) that supports scalable UI using either bitmaps or SVG-T icons. The example is useful to C++ developers who wish to port code written for S60 2nd Edition to S60 2nd Edition, Feature Pack 3 and S60 3rd Edition. Documentation is included in the package. Main classes: AknLayoutUtils, especially AknLayoutUtils::LayoutMetricsRect() (=UI Metrics API).

06-Jul-2007

Open C: SMS Crypto Example (with Python UI) v1.1
This Open C code example demonstrates usage of Python for S60 to provide a GUI for functionality implemented in standard C code. The use case of the example is encrypting/decrypting and sending/receiving of SMS messages. The example contains a simple C library for encryption that is ported to Symbian using Open C and called from the GUI. The package also contains a version with Symbian C++ GUI. The comparison and architectures of the Python and Symbian C++ implementations are provided in the Implementation Notes document available in the example package. Version 1.1 of the package includes updates to the document only.

11-Jun-2007

S60 Platform: Custom UI and Screen Rotation Example
Use this C++ example application to learn the key functionalities of the screen rotation, custom component handling, status pane handling, and picture scaling on the S60 UI layer. Main classes CAknViewAppUi, CAknView, CCoeControl.

20-Dec-2006

S60 Platform: Settings Screen Example v2.0
This C++ code example explains the basic construction of settings screens, including setting item lists, setting items, and setting pages. The application consists of a single view - a Setting List that has a variety of different types of settings that can be manipulated. The usage of settings screens is discussed in the document S60 Platform: Implementing Settings Screens published at www.forum.nokia.com. Main classes: CAknView, CAknSettingItem, CAknSettingItemList, CAknEnumeratedTextSettingItem, CSelectionItemList.

16-Mar-2006

S60 Platform: Dynamic Setting List Example
This example demonstrates how to load CAknSettingItemList dynamically at run time instead of defining the list structure into a resource file. In the example, the lists are loaded during application startup. The example can be used as the basis for many different applications where a list has to be loaded dynamically (for instance, based on external feed from a server)

09-Sep-2005

Series 60 Platform 2nd Edition: Screen Saver Example
This example demonstrates the usage of the ScreensaverPlugin API to implement a customized utility screen saver on top of the default Series 60 screen saver.

 

Back to top

Graphics - S60/Symbian C++

19-Dec-2007

S60 Platform: Scalable Screen-Drawing Example
This C++ application demonstrates scalable screen drawing with Direct Screen Access and custom drawing routines using SVG-T icons and bitmaps. The application scales to multiple display resolutions in portrait and landscape orientations supported by the S60 platform. This example is targeted especially at games and multimedia developers who prefer developing a custom UI instead of using an automatically scaling UI, such as S60 Avkon components. Labeling for the middle softkey is added in the updated version. Important classes: CIconFileProvider, MDirectScreenAccess, MAknIconFileProvider, CCoeControl (HandleResourceChange() method and KEikDynamicLayoutVariantSwitch) CEikAppUi (ApplicationRect(), Orientation(), and SetOrientationL() methods).

07-Nov-2007

S60 Platform: Scalable UI Example
This package includes a C++ example application (Noughts and Crosses) that supports scalable UI using either bitmaps or SVG-T icons. The example is useful to C++ developers who wish to port code written for S60 2nd Edition to S60 2nd Edition, Feature Pack 3 and S60 3rd Edition. Documentation is included in the package. Main classes: AknLayoutUtils, especially AknLayoutUtils::LayoutMetricsRect() (=UI Metrics API).

10-May-2007

S60 Platform: 2D Game Engine Example
This C++ code example demonstrates an application with custom 2D graphics. The application is designed to support various S60 devices with different amounts of colors and various screen resolutions and orientations. The application implements a simple 2D game with some basic game features (audio on/off, on-screen menu). The code example is based on an earlier published Symbian OS: 2D Game Engine Example, which supports, for example, S60 2nd Edition and Series 80 2nd Edition. Main classes: CFbsBitmap, RBackedupWindow.

05-Apr-2007

S60 Platform: 3D Game Engine Example v1.1
This updated C++ code example demonstrates a simple 3D engine. Everything visible on the screen is rendered in 3D using OpenGL ES; hardware acceleration is supported if available in the device. The application supports S60 3rd Edition and later releases, and it adapts to different screen sizes and orientations. This updated version provides improved texture loading and increased heap size and stack size. A separate example that supports S60 2nd Edition and Series 80 2nd Edition is available at www.forum.nokia.com. Main classes: OpenGL ES (API), CIdle, Math, CImageDecoder, CAknKeySoundSystem.

23-Mar-2007

Symbian OS: 3D Game Engine Example v1.2
This C++ code example demonstrates a simple 3D engine. The engine produces a simple game where you can drive a car around a wide parking lot. Everything seen on the screen is rendered in 3D. The example utilizes OpenGL ES (supported from S60 2nd Edition, Feature Pack 2 onwards) and an own rendering implementation for platforms not supporting OpenGL ES. This example supports S60 2nd Edition and Series 80 2nd Edition devices. A separate example is available for S60 3rd Edition at www.forum.nokia.com. Main classes: OpenGL ES (API), CIdle, Math, CImageDecoder, CAknKeySoundSystem.

31-Jan-2007

S60 Platform: Isometric Adventure Game Example
This C++ code example demonstrates isometric content creation and usage of standard C/C++ libraries. The example also shows how to structure memory usage and how game state and resources can be freed / restored during run time. The key audience is considered to be C++ game developers who have developed games for desktop computers and also want to expand to S60 devices. The generic game architecture design considerations for mobile platforms are applicable to all game developers, or those interested in becoming (mobile) game developers. The package includes a game design document. General isometric game development issues are described in the Designing Isometric Adventure Games document that is available at www.forum.nokia.com.

01-Feb-2005

S60 2nd Edition Feature Pack 2: OpenGL ES 3D Example
This is a simple example of how to create OpenGL 3D graphics with Symbian OS and OpenGL ES.

 

Back to top

Multimedia - S60/Symbian C++

09-Apr-2008

S60 Platform: Camera Example with AutoFocus Support
This C++ application implements the basic features of the built-in camera using the On-board Camera API classes MCameraObserver and CCamera (supported from S60 2nd Edition onwards). Also auto focus is supported via an AF extension library provided in the package (supported in S60 3rd Edition, FP1).

16-Mar-2007

S60 Platform: Full-Duplex Audio Example v2.0
This C++ example application plays and records audio simultaneously, reading from the microphone and writing to the earpiece/speaker, creating a local audio feedback loop. Audio is processed in encoded format, using real-time encoding/decoding support from audio hardware. This example can also be used for creating VoIP applications on S60 2nd Edition, S60 2nd Edition FP2 and FP3. Main classes: CMMFDevSound, MDevSoundObserver.

06-Nov-2006

S60 Platform: Video Example v2.0
This C++ code example demonstrates how to play and record video files. CVideoRecorderUtility and CCamera classes are used to record a video clip, and the CVideoPlayerUtility class is used to play, stop, and pause video clips and show the video clip information. In addition, playing a video clip in an external viewer using a document handler method is demonstrated in this example. Video APIs are part of the Multimedia Framework (MMF) that is supported from Symbian OS v7.0s (S60 2nd Edition) onwards (on the Nokia 6600 it is only possible to play video). Main classes: CVideoRecorderUtility, CVideoPlayerUtility, CCamera, CFeatureDiscovery.

29-Jun-2006

S60 Platform: Audio Streaming Example v2.0
Audio Streaming Example demonstrates the use of Audio Streaming API that provides functionality for recording audio stream into a buffer and playback of the audio buffer. Besides playing, recording, and stopping the audio stream, the recorded audio stream can be saved into a file and further loaded to be played again. PCM and AMR-NB-encoded sample files are included in the package. Audio Streaming API is part of the Symbian Multimedia Framework (MMF) and supported from S60 2nd Edition onwards. Main classes: CMdaAudioInputStream, CMdaAudioOutputStream, MMdaAudioInputStreamCallback, MMdaAudioOutputStreamCallback.

14-Jun-2006

S60 Platform: Image Converter Example v2.0
This C++ example demonstrates how to use the image conversion APIs available in the S60 platform (Image Conversion Library, ICL) to open, rotate, scale, and save the image in the same or a different format. Main classes: CBitmapRotator, CBitmapScaler, CImageEncoder, CImageDecoder.

10-May-2006

S60 Platform: Sound Mixer Example v2.0
This updated example application demonstrates how to play a maximum of 16 simultaneous voices. The example has eight blocks moving on the screen and playing sounds when they hit a wall or each other.

24-Nov-2005

S60 Platform: Audio Output Streaming Example v1.1
This updated C++ example application demonstrates the key functionalities of the Audio Streaming API by playing generated waveforms and pcm sound data from a file.

24-May-2005

Series 60 Platform 1st/2nd Edition: Call Recorder Example
This example shows how to record phone calls (from a telephony uplink and a microphone) into wav files. In addition, the example demonstrates how to play audio files, show a progress bar, and use active objects to listen to the phone line.

 

Back to top

Messaging - S60/Symbian C++

26-Mar-2008

S60 3rd Edition: Creating Custom Message Type Modules (with Example)
Download this C++ document and code example to learn how to create Message Type Modules (MTMs) for S60 3rd Edition and later releases. The target audience is e-mail developers implementing their own e-mail protocol (for example, Push e-mail service), where preinstalled S60 platform e-mail MTMs (POP3, IMAP4) cannot be used. The package demonstrates how to develop and install an MTM, how to create an account (mailbox), how to create a simple viewer/editor implemented as a server application, how to provide support to send from other applications, and how to receive notifications of new messages. Message sending and receiving are echoed locally. Note that Symbian platform security imposes heavy capability requirements for MTMs (up to ALL -TCB capabilities) and thus the application has to be signed using the Manufacturer Approved Developer Certificate.

04-Dec-2007

S60 Platform: Location Example
Use this C++ code example to learn how to use location-based services. The example demonstrates a use case of asking the GPS location of another device via SMS and showing its location and distance to it.

06-Jul-2007

Open C: SMS Crypto Example (with Python UI) v1.1
This Open C code example demonstrates usage of Python for S60 to provide a GUI for functionality implemented in standard C code. The use case of the example is encrypting/decrypting and sending/receiving of SMS messages. The example contains a simple C library for encryption that is ported to Symbian using Open C and called from the GUI. The package also contains a version with Symbian C++ GUI. The comparison and architectures of the Python and Symbian C++ implementations are provided in the Implementation Notes document available in the example package. Version 1.1 of the package includes updates to the document only.

04-Jul-2006

S60 Platform: MMS Example v2.0
This C++ example demonstrates how to create multimedia messages. Notice that some methods have changed between S60 2nd and 3rd Edition. Main classes: CMsvEntry, CMmsClientMtm.

24-May-2006

S60 Platform: SMS Example v2.0
This C++ example demonstrates programmatical handling of SMS messages. Messages can be sent from the application and they can be received directly into the application (i.e., catching incoming messages before the user gets any notification). In addition, messages can be deleted, copied, or moved to other folders of the message store (inbox, outbox, drafts). To support S60 3rd Edition, major changes to SMS sending part of the example have been made.

09-Dec-2005

S60 Platform: POP/IMAP Example v1.1
This updated C++ example application demonstrates how to retrieve e-mail from a remote mailbox to a S60 device using POP and IMAP protocols. The usual e-mail features such as sending, editing, and deleting e-mail messages have been demonstrated.

 

Back to top

Networking - S60/Symbian C++

16-Apr-2008

S60 Platform: HTTP Client API Example
This C++ application demonstrates simple HTTP GET and POST transactions using HTTP Client API. Basic HTTP authentication is also supported.

02-Apr-2008

S60 Platform: Bluetooth Point-to-Multipoint Example
This C++ example demonstrates the use of Bluetooth technology: device and service discovery, connection establishment to one or more devices, communication between devices, and disconnection. The Bluetooth RFCOMM protocol is used as a transport protocol. The updated version adds support for limited inquiry (LIAC) that considerably speeds up the discovery process. Note that LIAC requires signing with a developer certificate.

13-Feb-2008

S60 Platform: End-to-End Device Management Example
This example adds device management features to the earlier published Symbian OS: End-to-End HTTP API Example. It demonstrates how to implement a simple DM adapter in the S60 2nd and 3rd Edition devices that interact with a device management server, how to set up and use a custom DM server, how to store and update the data received from the DM server and to make the data available to another application. The example has been implemented using freely available back-end components (Apache, Funambol, and JBoss servers; MySQL database). The package consists of S60 client applications, WebUI components for JSP and PHP, and user account scripts for MySQL. Documentation for configuring the system is included in the package.

20-Dec-2007

Open C: IRC Example
Examine this code example to learn how to use an open source IRC library and Open C to create a functional IRC client application. The example contains a simple open source C library CIRC for communicating with IRC servers that is ported to Symbian OS using Open C and called from a GUI that is implemented using Symbian C++. The use case of the example is to communicate with other IRC users on the chosen IRC server. This example also supports sending "raw" IRC commands and is therefore a fully functional client application. A document about porting experiences and example architecture is also included in the package. Important libraries/structs/functions: libc, sockaddr_in, socket, gethostbyname, connect, nonblocking.

24-Oct-2007

Creating Connections in Symbian C++
The Communication section of the C++ Developer's Library explains how to create different types of connections when developing C++ appliations.

26-Jun-2007

Open C: FTP Client Example
This C/C++ code example demonstrates porting standard C software to the S60 platform. In this example, an open source FTP library (ftplib and qftp; released under GNU General Public License) written in C has been ported to Open C. In addition, a simple UI has been written in Symbian C++ to provide a GUI application. A document about porting experiences and example architecture is also included in the package. The updated version adds support for the GCCE compiler and Carbide.c++ v1.2 IDE. Main Symbian C++/S60 classes: CAknSingleNumberStyleListBox, CAknSearchField, CAknTextQueryDialog, CFileMan, StringLoader. C/Open C classes: connect, socket, setsockopt.

16-Mar-2007

S60 Platform: Full-Duplex Audio Example v2.0
This C++ example application plays and records audio simultaneously, reading from the microphone and writing to the earpiece/speaker, creating a local audio feedback loop. Audio is processed in encoded format, using real-time encoding/decoding support from audio hardware. This example can also be used for creating VoIP applications on S60 2nd Edition, S60 2nd Edition FP2 and FP3. Main classes: CMMFDevSound, MDevSoundObserver.

21-Feb-2007

Symbian OS: End-to-End HTTP API Example v1.3
This updated example is an HTTP reference implementation of an enterprise system that includes mobile clients for the S60 and Series 80 platforms (in Symbian C++), a server-based database, and Web portals (PHP and JSP implementations). Documentation is included in the package. In the updated version, the previously incomplete PHP Web UI functionality has been improved.

21-Feb-2007

Symbian OS: End-to-End Sockets API Example v1.3
This updated example is a Sockets reference implementation of an enterprise system that includes mobile clients for the S60 and Series 80 platforms (in Symbian C++), a server-based database, and Web portals (PHP and JSP implementations). Documentation is included in the package. In the updated version, the previously incomplete PHP Web UI functionality has been improved.

22-Dec-2006

S60 Platform: Bluetooth OBEX Example
This C++ code example provides a method for transferring objects or chunks of data from one device to another via Bluetooth. These chunks are typically files or other blocks of binary data. This example demonstrates how to run OBEX on top of the Bluetooth RFCOMM protocol, but OBEX can also be used with other transport media, such as IrDA and USB. In addition, the usage of a high-level messaging API, SendUI, is demonstrated. Main classes: TObexBluetoothProtocolInfo, TObexBaseObject, MObexServerNotify, CObexClient, CObexServer, CDocumentHandler, KPowerModeSettingNotifierUid, CSendUi, CSendAppUi.

09-Oct-2006

S60 Platform: Internet Access Points Example v2.0
This C++ code example demonstrates how an application can open an Internet connection and how to create, delete, and sort access points. Monitoring of open connections is also demonstrated (RConnectionMonitor is supported from S60 2nd Edition, Feature Pack 2 onwards). This example combines the functionality of the earlier IAPConnect and ConnectionManager examples. To use all the features of this example on S60 3rd Edition and later, WriteDeviceData and NetworkControl capabilities are needed. Main classes: RConnection, RSocketServ, RSocket, RHostResolver, RConnectionMonitor, TNifProgress, TNifProgressBuf.

03-Nov-2005

S60 2nd Edition: FTP Example
This C++ example demonstrates the usage of the FTP (File Transfer Protocol) Service API that allows connecting to and disconnecting from a remote FTP server. The FTP library package provided within the example is required in order to use FTP. It is supported in S60 2nd Edition FP1, FP2, and FP3 devices.

24-May-2005

Series 60 Platform 1st/2nd Edition: Call Recorder Example
This example shows how to record phone calls (from a telephony uplink and a microphone) into wav files. In addition, the example demonstrates how to play audio files, show a progress bar, and use active objects to listen to the phone line.

07-Oct-2004

Series 80 Developer Platform 2.0: Bluetooth Examples
Package provides five Bluetooth C++ examples for Series 80 Developer Platform 2.0: BTAdvertiser, BTDiscovery, BTHCI, BTOBEX, and BTPointToPoint.

 

Back to top

PIM & Files/Data - S60/Symbian C++

31-Mar-2008

S60 Platform: Rich Text Editor Example
This C++ code example demonstrates the usage of Rich Text Editor. Most of the features are handled automatically when the dialog framework creates the editor. However, some steps, such as inserting an image, setting the text input type, or showing the scroller require the use of methods or classes. Main classes: CEikRichTextEditor, CFbsBitmap, TPictureHeader, CPicture.

12-Dec-2007

S60 Platform: FileList Example
This C++ code example demonstrates how to list files from a specific directory. It helps developers in creating user-friendly applications that allow users to choose files from a list of specific file types. Main classes: PathInfo ja CDocumentHandler.

26-Jun-2007

Open C: FTP Client Example
This C/C++ code example demonstrates porting standard C software to the S60 platform. In this example, an open source FTP library (ftplib and qftp; released under GNU General Public License) written in C has been ported to Open C. In addition, a simple UI has been written in Symbian C++ to provide a GUI application. A document about porting experiences and example architecture is also included in the package. The updated version adds support for the GCCE compiler and Carbide.c++ v1.2 IDE. Main Symbian C++/S60 classes: CAknSingleNumberStyleListBox, CAknSearchField, CAknTextQueryDialog, CFileMan, StringLoader. C/Open C classes: connect, socket, setsockopt.

18-Jan-2007

S60 Platform: Descriptor Example v2.0
This C++ code example demonstrates how to use descriptors (Symbian OS strings) and related APIs. The example is an S60 application that is used to run one or all example methods. The methods write a log to the screen or to a file that demonstrates the results of different statements. Main classes: TBuf, HBufC, RBuf.

22-Dec-2006

S60 Platform: Document Handler Example
This C++ example demonstrates how to use the Document Handler and the Recognizer to open and handle certain file types in a dedicated application. The example consists of three components: a caller application trying to open a specific file, a recognizer (a dll component implemented as an ECom plugin from S60 3rd Edition onwards) detecting the file extension, and a document handler opening the file. Note that for the recognizer, a developer certificate is needed due to its ProtServ capability requirement. Usage of the document handler is described in the S60 Platform: Document Handler API Developer's Guide document, available at www.forum.nokia.com. Main classes: CDocumentHandler, CApaDataRecognizerType.

22-Dec-2006

S60 Platform: Bluetooth OBEX Example
This C++ code example provides a method for transferring objects or chunks of data from one device to another via Bluetooth. These chunks are typically files or other blocks of binary data. This example demonstrates how to run OBEX on top of the Bluetooth RFCOMM protocol, but OBEX can also be used with other transport media, such as IrDA and USB. In addition, the usage of a high-level messaging API, SendUI, is demonstrated. Main classes: TObexBluetoothProtocolInfo, TObexBaseObject, MObexServerNotify, CObexClient, CObexServer, CDocumentHandler, KPowerModeSettingNotifierUid, CSendUi, CSendAppUi.

11-Dec-2006

S60 Platform: Contacts Model API Example v2.0
This C++ example demonstrates the use of the Contacts Model API. It allows viewing contact items from the default contacts database. Each contact is shown using a custom text definition. New contacts can be imported from files that contain vCard items. A contact item can also be selected and exported to a file in the vCards format. Main classes: CContactTextDef, CContactIdArray.

09-Oct-2006

S60 Platform: Time Zone Localizer Example
This C++ code example demonstrates how to convert UTC time to local time using the time zone server (RTz) and how to add/remove or find a city from the database using TZLocalizer API. These APIs were introduced in Symbian OS v.9.1 (S60 3rd Edition). In earlier releases the WorldServer API can be used for similar functions. Main classes: RTz, CTzLocalizer

31-Aug-2006

S60 3rd Edition: Calendar Interim API Example
This C++ application demonstrates how to add and modify anniversary entries using the Calendar Interim API (also known as CalInterim API). The Calendar Interim API replaced the Agenda Model API in Symbian OS v9.1 (S60 3rd Edition). For S60 1st and 2nd Edition there is a separate example available on the usage of the Agenda Model. Important classes: CCalEntry, CCalEntryView, CCalInstance, CCalInstanceView, CCalAlarm, CCalSession, MCalProgressCallBack.

04-Jul-2006

S60 Platform: DBMS Example v2.0
This C++ example application demonstrates the usage of Database Management System (DBMS) APIs. The example includes a bookstore database engine and a simple Avkon GUI for testing the engine. The example complements the “S60 Platform: Using DBMS APIs v2.0” document. Main classes: RDbStoreDatabase, RFs.

29-Jun-2006

S60 Platform: Audio Streaming Example v2.0
Audio Streaming Example demonstrates the use of Audio Streaming API that provides functionality for recording audio stream into a buffer and playback of the audio buffer. Besides playing, recording, and stopping the audio stream, the recorded audio stream can be saved into a file and further loaded to be played again. PCM and AMR-NB-encoded sample files are included in the package. Audio Streaming API is part of the Symbian Multimedia Framework (MMF) and supported from S60 2nd Edition onwards. Main classes: CMdaAudioInputStream, CMdaAudioOutputStream, MMdaAudioInputStreamCallback, MMdaAudioOutputStreamCallback.

14-Jun-2006

S60 Platform: Image Converter Example v2.0
This C++ example demonstrates how to use the image conversion APIs available in the S60 platform (Image Conversion Library, ICL) to open, rotate, scale, and save the image in the same or a different format. Main classes: CBitmapRotator, CBitmapScaler, CImageEncoder, CImageDecoder.

03-Jan-2006

S60 Platform: World Server Example
This C++ example demonstrates the usage of the Symbian World Server. The example has methods for retrieving city/country-related information from the world server, writing new information to it, deleting information from it, performing basic calculations supported by the world server, and resetting the world server database to the original (ROM memory) state. The World Server API is supported until Symbian OS v9.1 (S60 3rd Edition) where it is deprecated and replaced by the Time Zone Localizer API (not covered in this example).

03-Nov-2005

S60 2nd Edition: FTP Example
This C++ example demonstrates the usage of the FTP (File Transfer Protocol) Service API that allows connecting to and disconnecting from a remote FTP server. The FTP library package provided within the example is required in order to use FTP. It is supported in S60 2nd Edition FP1, FP2, and FP3 devices.

24-May-2005

S60 Platform 1st/2nd Edition: Agenda Model API Example
This C++ example demonstrates how to add and modify anniversary entries using the Agenda Model API . The Agenda Model API is supported in S60 1st and 2nd Edition. It was replaced in Symbian OS v9.1 (S60 3rd Edition) with the Calendar Interim API. Important classes: CAgnAnniv, TAgnWhichInstances, MAgnProgressCallBack. Revision on August 31, 2006: Example renamed and minor editorial changes.

 

Back to top

Localization - S60/Symbian C++

06-Feb-2008

S60 Platform: Chinese Display Example
This C++ application demonstrates how to display Chinese characters from resource files. The application supports internationalization and localization. In the updated version also the context-sensitive help has been added. The application supports following languages: English, Taiwan Chinese, Taiwan English, HongKong Chinese, HongKong English, Mainland Chinese, and Mainland English. Main classes: TFontSpec, CCnvCharacterSetConverter

24-Oct-2007

Internationalization and Localization Guide
The Internationalization and Localization Guide, part of the C++ Developer's Library, contains information about creating applications meant for the international market.

17-Oct-2006

S60 Platform: Localization Example
This C++ example demonstrates how to localize an application to adapt to the selected phone language. The application has two sets of localized strings (English and German) for the application name, labels, text, and image. The application also presents number, currency, date, and time localization, in which the TLocale method is used to localize them even if the selected phone language is none of the two application languages. Main classes: TLocale, TTime.

 

Back to top

Learn how to
download applications

Newsletter sign up

Privacy policy   Archives

Community highlights

Press

Events

Forum Nokia feed

  • Latest devices
  • Latest documents
  • Latest tools
  • Latest blog entries

Terms & Conditions | Privacy policy | Site map | Developer feedback | © Nokia 2008