Symbian OS Library

Advanced

Symbian OS IMS APIs

(Symsource)

This paper forms the second part of a two-part series about IMS on Symbian and will cover what Symbian has to offer in more detail, including a tour of the APIs, a section on how to use them, and an outline of some useful patterns.

Read the paper (210kb)

“Rock, Paper, Scissors”: A Bluetooth Multiplayer Game

(Symsource Ltd. and Jo Stichbury)

To coincide with the Game Developer Conference 2008 in San Francisco, and the launch of the Symbian Press book Games on Symbian OS: A Handbook for Mobile Development this paper describes how to write a game in Symbian C++ for S60 3rd Edition and UIQ 3 smartphones.

Read the paper (196kb) Download the S60 source code (191kb)Download the UIQ source code (264kb)Download the .sis file (125kb)

Using and Extending Symbian OS Notifiers

(Hamish Willee)

This paper describes mechanisms that you can use to display user notifications and prompts when your code does not include a full GUI environment; for example if you’re writing a server or engine code.

Read the paper (354kb) Download the source code (76kb)

An Introduction to IMS

(Symsource)

The first in a pair of papers, this one gives an overview of IMS and looks at two of its most important protocols, SIP and SDP.

Read the paper (145kb)

Flickr Upload DLL

(Twm Davies)

This paper describes how to use Symbian OS C++ APIs to interface with the Flickr web service. It contains a short background to Flickr’s architecture and APIs and concludes by describing the building of a Symbian OS v9.x DLL which can be used to upload image files to the Flickr.com web site.

Read the paper (669kb) Download the source code (493kb)

Rich Text to HTML Conversion

(Twm Davies)

Twm Davies describes the code he wrote to accurately import and export HTML to and from Symbian Rich Text format. The DLL source code, plus S60 and UIQ test applications, are available for download too!

Read the paper (312kb) Download the source code (156kb)

Roids - Game design and implementation

(Twm Davies)

Twm Davies shows how he coded a clone of the classic 80s favourite, Asteroids, in just 24 hours and ensured it works on the latest Symbian OS phones. The S60 and UIQ games are here for free download too!

Read the paper (394kb) S60 - Download the source code and the .sis file (428kb) UIQ - Download the source code and the .sis file (349kb)

Transient Server Template

(Hamish Willee, Andrew Thoelke, Adrian Taylor)

Symbian OS makes much use of the client-server model. A transient server is one that exists only when it is needed; it is started up the first time a client attempts to connect, and then shuts itself down some point after the last client session has been closed.

The code used to start and shut down the server is almost boiler-plate. This paper and associated code deliver a template that can be used as the basis for Symbian OS v9 transient servers that launch the server in a separate process to the client; note that the start-up code for a server that runs in the same process as the client is not covered in this paper. Transient server template paperDownload the source code (16kb)

Descriptors

How descriptors work and which ones to use in which circumstances? This set of slides take you through all the different descriptors. Confused between HBufC, TBufC and TLitC? Abundant notes will make it all clear. View the presentation (147 Kb)

Example Control Panel application

This example shows how to implement a control panel application based on a dialog. In addition to showing the essential characteristics of control panel applications, it aims to give readers an insight into good practice for implementing dialogs.Read the paper (289Kb) download source (6Kb)

Using an indirection DLL for multi-UI platform support

(Andy Weinstein, Degel Software)
An application that supports multiple UI platforms sometimes runs into the need to use different APIs to give similar functionality on different Symbian OS phones. Andy Westein explains how to use an indirection DLL to isolate just those pieces of the application that use platform-dependent API support. This DLL alone is reimplemented for each target platform, internally using the appropriate platform-specific APIs. Read the paper (180 KB)

Working with the Alarm Server API in Symbian OS v7.0

(Alex Wilbur)
Up to v6.x of Symbian OS, World server and Alarm server functionality is made available in ealwl.dll. From v7.0 these two capabilities are delivered in separate DLLs, respectively WorldServer.dll and AlarmServer.dll. This guide provides Symbian OS developers with a comprehensive list of source incompatible changes between EALWL and AlarmServer. WorldServer is fully source compatible with the old API. Read the paper (170 Kb)

Location Awareness and Location Based Services – Part I
Positioning and Terminology

Location based services are considered to be a major growth area. Providing information, context and services by using positioning technologies seeds the potential for new enablers and experiences for users and developers as well as promises new revenue streams for operators and service providers. In this first part, John Pagonis explains the positioning concepts and terminology.
Read the paper (138 Kb)

Using MMS on Symbian OS phones - Part 3

In Part 3 of this paper, we compare the MMS implementation of Symbian OS v7.0 with the one for the Series 60 Platform. While the APIs are similar to the ones we have studied in Part 2 of this article, there are some important differences developers should be aware of. Read the paper (220 Kb)

Using MMS on Symbian OS phones - Part 2

In part two of this paper we look at the practicalities of performing the basic tasks of creating, sending and receiving MMS messages on Symbian OS v7.0. Read the paper (187 Kb)

Using MMS on Symbian OS phones - Part 1

Although phones and wireless networks have only begun to support it, the surge of interest in MMS from all parts of the wireless value chain - mobile phone manufacturers, network operators, infrastructure providers, content providers, ISVs - is remarkable. This is the first of three articles that discusses the advantages of MMS on Symbian OS. Read the paper (181 Kb)

PC connectivity: how to write backup-aware software

(Paul Newby) - Updated on 02-06-06
Symbian OS includes software to carry out backup and restore operations from a connected PC. In order for this software to function correctly, it requires co-operation from other software (servers and applications) running on the phone. This document describes the required co-operation.

Document covering the behavior from Symbian OS v9.1 onward. Read the paper (326Kb) It covers behavior from Symbian OS v6.1 through v7.0, v7.0s and to v8.0. Read the paper(195Kb)

Publish and Subscribe

(Mark Shackman)
Symbian OS v9 introduces “Publish and Subscribe” that allows the setting, retrieving and monitoring of system-wide variables and provides a new IPC mechanism for peer to peer communication between threads. This paper describes the Publish and Subscribe functionality, including comprehensive code examples and covering both usage patterns and general usage guidelines. Read the paper (72 Kb)

Support for Writeable Static Data in Symbian OS

Symbian’s new Real-Time Kernel (EKA2) introduces support for DLL global writeable static data (WSD). The following paper provides a definition of WSD, the alternatives to using WSD, and the costs and caveats; included also are some architectural details about Symbian's implementation, in the form of frequently asked questions. Read the paper (132 Kb) (Updated January 2008)

Eliminating Memory Leaks in Symbian OS C++ Projects

(John Pagonis)
This guide addresses the situation where the app you have developed throws an error on exit with the system complaining about a cell or cells not deleted. It shows how, although Microsoft Developer Studio doesn't directly support debugging of this situation, users of this IDE can nonetheless work out where in their Symbian OS code the problem has arisen. Read the paper (130 Kb) download the pdb files(400kb)

Design and implementation of EZoom

EZoom is a utility that allows you to zoom in on the entire screen of a Sony Ericsson P800 and P900. Apart from the usual fun aspect in hobby projects, Peter van Sebille developed EZoom because he was intrigued whether it was possible to write a utility requiring a device driver with just the public SDK for the P800/P900. Well, it turned out that with a little creativity it is! Read the paper(657 Kb)

New IPC Mechanisms for Symbian OS

In the following we examine the new Inter-Process Communication mechanisms available to applications and servers in Symbian OS. Understanding when and how these are required is essential in properly architecting components and making optimum use of the OS capabilities. Read the paper (120 Kb) (updated at 24th of February 2005)

Overview of Symbian OS Hardware Interrupt Handling

Symbian OS has a lightweight 32-bit preemptive kernel that follows a hybrid design combining characteristics from both micro-kernel and monolithic kernel architectures. Understand how hardware interrupt handling works in this kernel architecture. Read the paper (145 Kb)

Crossing the Userland

Get under the hood and understand how executive calls, kernel server requests and interrupts work on Symbian OS. Read the paper (313 Kb)

How to successfully stream audio on Symbian OS v7.0s

This paper gives an overview of the Audio Streaming functionality available on Symbian OS and illustrates good coding practice. It provides, with full source code, a solution to the problem of how to output a continuous audio stream and thus supply a game / application with real-time music and sound effects. Read the paper(587 Kb)

GPRS Facts for the Internet Application Developer (Part 1)

Understand the advantages that GPRS confers over GSM. Learn about the importance of sessions and multiple PDP contexts. Be aware of issues with roaming and the limitations that Network Address Translation Gateways impose, especially on UDP protocol users. Read the paper (97 Kb)

GPRS Considerations for mobile email (Part 2)

A familiar application such as email is discussed in the remit of GPRS in order to to illustrate that mobile phone developers need to cater for new aspects and paradigms, even when dealing with well known application domains. Read the paper (69 Kb)

 

FAQs

Here you can find the answers to the most frequently asked developer questions, together with other useful tech tips.More

Terms of use | Privacy policy | Media Center | Contact us | © 2008 Symbian