
By Richard Harrison & Mark Shackman
1.1 Using the Emulator
1.2 Hello World – Text Version
Summary
2.1 Symbian OS Basics
2.2 Framework Basics
2.3 APIs Covered in this Book
Summary
3.1 Fundamental Data Types
3.2 Naming Conventions
3.3 Functions
3.4 APIs
3.5 Templates
3.6 Casting
3.7 Classes
3.8 Design Patterns
Summary
4.1 Object Creation and Destruction
4.2 Class Categories in Symbian OS
4.3 Error Handling
4.4 The Cleanup Stack
4.5 Two-Phase Construction
Summary
5.1 Overview
5.2 Anatomy of Descriptors
5.3 Literals
5.4 Stack Descriptors
5.5 Pointer Descriptors
5.6 Heap Descriptors
5.7 Narrow, Wide and Neutral Descriptors
5.8 Descriptors and Binary Data
5.9 Using Descriptors with Methods
5.10 Some Descriptor Operations
5.11 Correct Use of Descriptors
5.12 Manipulating Descriptors
Summary
6.1 The Asynchronous Service
6.2 Multitasking and Pre-emption
6.3 A More In-depth Look at Active Objects
6.4 How It Works
6.5 Active Object Priorities
6.6 Active Object Cancellation
6.7 Starting and Stopping the Scheduler
6.8 Understanding a Stray Signal
6.9 Other Common Active Object Errors
6.10 Implementing State Machines
6.11 Long-Running Tasks and Active Objects
Summary
7.1 File-Based Applications
7.2 Drives and File Types
7.3 File System Services
7.4 Streams
7.5 Stores
Summary
8.1 Overview
8.2 Client–server IPC
8.3 Publish and Subscribe IPC
8.4 Message Queue IPC
8.5 Which IPC Mechanism Should You Use?
Summary
9.1 Releasing an Application
9.2 How Does Platform Security Work?
9.3 How Do I Support Platform Security?
9.4 Preparing an Application for Distribution
9.5 Overview of Symbian Signed
9.5 Installing a SIS File
9.6 List of Capabilities
Summary
10.1 Using the Emulator
10.2 Emulator Debugging
10.3 Debugging on a Phone
10.4 Miscellaneous Tools
Summary
11.1 Symbian OS Application Framework
11.2 S60 and UIQ Platform Application Frameworks
11.3 A Graphical Hello World
Summary
12.1 Implementing the Game on S60
12.2 Differences for UIQ 3
12.3 Summary
13.1 Why a Symbian-Specific Resource Compiler?
13.2 Source File Syntax
13.3 Bitmaps and Icons
13.4 Updating the Resource Files
13.5 Application Registration Files
13.6 Localizable Strings
13.7 Multiple Resource Files
13.8 Compiling a Resource File
13.9 The Content of a Compiled Resource File
13.10 Reading Resource Files
Summary
14.1 The View Architecture
14.2 The MCoeView Interface
14.3 Introduction to the Example Application
14.4 Creating and Managing the Views
14.5 Implementing the MCoeView Interface
14.6 Command Menus
Summary
15.1 What Is a Control?
15.2 Control Types
15.3 Control Layout
15.4 Handling Key and Pointer Events
15.5 Observing a Control
15.6 Drawing a Control
15.7 Backed-up Windows
15.8 Backed-up-Behind Windows
15.9 Dimmed and Invisible Controls
Summary
16.1 What Is a Dialog?
16.2 Simple Dialogs
16.3 Complex Dialogs
16.4 Single-Page Dialogs
16.5 Multi-Page Dialogs
16.6 Dialog APIs
16.7 Stock Controls for Dialogs
16.8 Custom Controls in Dialogs
Summary
17.1 Drawing Basics
17.2 The CGraphicsContext API
17.3 Drawing and Redrawing
17.4 Drawing Controls
17.5 Sharing the Screen
17.6 Support for Drawing in CCoeControl
17.7 Special Effects
17.8 Window Server Features
17.9 Device- and Size-Independent Graphics
Summary
18.1 Key, Pointer and Command Basics
18.2 User Requirements for Interaction
18.3 Some Basic Abstractions
18.4 Processing Key Events
18.5 Processing Pointer Events
18.6 Window Server and Control Environment APIs
Summary
19.1 System Services
19.2 What Is a Plug-in?
19.3 The ECOM Library
19.4 Plug-ins in Symbian OS
Summary
20.1 Communications in Noughts and Crosses
20.2 Communication Between Controller and Transport
20.3 Serial Communications
20.4 Socket-based Communications
20.5 Messaging
20.6 Security
Summary
21.1 The Multimedia Framework
21.2 The Image Conversion Library
21.3 Camera API
21.4 Tuner API
Summary
22.1 Overview of RDBMS
22.2 SQL Basics
22.3 Symbian SQL Server Component Architecture
22.4 Symbian SQL Error Codes
Summary
Developer Resources