Symbian/C++ Documentation
Areas of interest
Networking - S60/Symbian C++

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.

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.

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.

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.

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.

WLAN Control in S60 APIs
A presentation held at VoIP Deep & WLAN Deep Dive event on September 12, 2007. Speaker: Arto Suomi.

SipRtpExApp Sample Application
A presentation held at VoIP Deep & WLAN Deep Dive event on September 12, 2007. Speaker: Timo Kotonen.

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.

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.

S60 Platform: IP Bearer Management
This document discusses some special topics, such as roaming and selecting the network, that application developers should take into account when designing networking applications for S60 mobile devices.

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.

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.

S60 Platform: Bluetooth API Developer's Guide v2.0
This updated document provides information on how to develop Bluetooth applications in C++. In Symbian OS, the Bluetooth API consists of various components, and there are also some additional S60 APIs. The document describes how to perform typical Bluetooth tasks such as discoverability and service advertising, device and service discovery, and communication using different protocols. Security and platform security, configurations, and changes in the Bluetooth API v2 architecture (introduced in S60 2nd Edition, Feature Pack 2) are also described. The document provides several code snippets from separately published code examples.

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.

Enterprise: Developing End-to-End Systems v2.0
This updated document describes the architectures and technologies that are most commonly used in end-to-end enterprise systems today and gives an overview of the terminology and basic concepts of the different technologies. The document also provides an introduction to the protocols used for data transport and presentation. The most important and widely accepted methods for ensuring data integrity and security in mobile devices are also examined.

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.

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.

Series 80 Platform: Ad Hoc Communications Over WLAN (With Example) v1.1
This updated document introduces WLAN ad hoc networking in the form of an example application.

Symbian OS: Overview To Networking
This document provides an overview to Symbian OS networking and communications capabilities, and provides pointers to the more detailed technical documents and examples available.

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.

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.

Games Over Bluetooth: Recommendations To Game Developers v1.0
This document provides recommendations for the use of Bluetooth in the development of multiplayer mobile games.

Series 80 Developer Platform 2.0: IPv6 Network Programming v1.0
This document contains information on needed checks and modifications for applications written for Symbian OS v6.0 or earlier, using the IP protocol suite, which are ported to Nokia Communicator products running Symbian OS v7.0s.

Developer Platform for Series 60: Using the Core ETel APIs
This document provides an overview of the services available to the developer via the ETel telephony APIs.




