Cover image for Porting to the Symbian platform : open mobile development in C/C++
Title:
Porting to the Symbian platform : open mobile development in C/C++
Personal Author:
Publication Information:
Chichester, UK : Wiley, 2009
Physical Description:
xxii, 419 p. : ill. ; 24 cm.
ISBN:
9780470744192
Added Author:

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010253174 QA76.76.A65 W55 2009 Open Access Book Book
Searching...

On Order

Summary

Summary

Mark Wilcox shows readers how to port their C/C++ code to Symbian OS from other platforms. First to market, this timely book examines the issues involved in porting and covers setting up the process, fixing problems and highlighting common issues faced with Symbian OS when porting to include resource limitations, device differences, common porting patterns and how to design code for multiple platforms.

Key features include:

Accessible coverage of all the issues involved in porting existing C/C++ applications and middleware from Linux, Windows Mobile, BREW and iPhone platforms Practical advice on how to set up the tool chain and how to tackle common issues such as managing resource limitations and device differences, and how to write safe standard C/C++ on a constrained device Practical examples and case studies, including downloadable code.

The last section of the book tackles the advanced part of porting such as security models and P.I.P.S. (PIPS Is POSIX on Symbian) architecture. It includes practical examples to cover port enablers such as OpenKode, an open standard that combines a set of native APIs to increase source portability for rich media and graphics applications, and RGA (Real-Time Graphics & Audio) which are already used within a number of N-Gage games, and could easily be used for just about any application.

Aimed at experienced Symbian OS developers, Porting C/C++ to Symbian OS provides practical advice and real-world examples to get started!


Table of Contents

About this Book
Author Biographies
Author's Acknowledgements
Symbian Acknowledgements
1 Introduction
1.1 What Is Porting?
1.2 What Is Portability?
1.3 Why Port to Mobile Platforms?
1.4 Why Get Interested Now?
1.5 Why Port to the Symbian Platform?
2 The Porting Process
2.1 Choosing a Project
2.2 Analyzing the Code
2.3 Re-architecting
2.4 Setting Up the Development Environment
2.5 Integrating with the Symbian Build System
2.6 Compiling
2.7 Fixing Problems
2.8 Running and Testing
2.9 Debugging
2.10 Re-integrating
2.11 Summary
3 Symbian Platform Fundamentals
3.1 In the Beginning
3.2 Naming Guidelines and Code Conventions
3.3 Data Handling
3.4 String Handling: Descriptors
3.5 Error Handling and Memory Management
3.6 Event-Driven Programming
3.7 Writeable Static Data
3.8 Multiple Inheritance
3.9 Summary
4 Standard APIs on the Symbian Platform
4.1 P.I.P.S. Is POSIX on Symbian OS
4.2 Open C
4.3 The STLport, uSTL and Open C++
4.4 Which Version of Symbian OS?
4.5 How to Use the APIs
4.6 Examples: SoundTouch and SoundStretch
4.7 Known Limitations, Issues and Workarounds
4.8 Summary
5 Writing Hybrid Code
5.1 Popular APIs You Can't Use Directly
5.2 How to Create a Hybrid Port
5.3 Example: Guitune
5.4 Summary
6 Other Port Enablers
6.1 Real-time Graphics and Audio Libraries
6.2 Simple DirectMedia Layer
6.3 OpenKODE
6.4 Qt
6.5 Summary
7 Porting from Mobile Linux
7.1 Major Players in the Mobile Linux Space
7.2 Porting from Linux to Symbian
7.3 Summary
8 Porting from Microsoft Windows
8.1 Architecture Comparison
8.2 Application Compatibility
8.3 Development Languages and SDKs
8.4 SDKs and APIs
8.5 Porting an Application
8.6 Windows-specific Issues
8.7 Signing and Security
8.8 Porting from C# and .NET
8.9 Summary
9 Porting from Other Mobile Platforms
9.1 Android
9.2 BREW
9.3 iPhone OS
9.4 Summary
10 Porting a Simple Application
10.1 Selecting a Project
10.2 Analyzing the Code
10.3 Setting Up the Development Environment
10.4 Integrating with the Symbian Build System
10.5 Getting It to Compile
10.6 Getting It to Work
10.7 Extensions Specific to Mobile Devices
10.8 Deploying and Testing on Target Hardware
10.9 Re-integrating
10.10 Summary
11 Porting Middleware
11.1 GDAL
11.2 Qt
11.3 Summary
12 Porting a Complex Application
12.1 Selecting a Project
12.2 Analyzing the Code
12.3 Re-architecting
12.4 Setting Up the Development Environment
12.5 Integrating with the Symbian Build System
12.6 Getting It to Compile
12.7 Re-writing the User Interface
12.8 Testing and Debugging
12.9 Re-integrating
12.10 Summary
13 The P.I.P.S. Architecture
13.1 The Glue Code
13.2 The Core Libraries
13.3 The Backend
13.4 Emulator Writeable Static Data Support
13.5 Summary
14 Security Models
14.1 The Capability Model
14.2 Process Identity
14.3 Data Caging
14.4 Code-Signing and Certification
14.5 Certification and Platform Security
14.6 Development Code
14.7 Tool Support
14.8 Symbian Platform Security Compared with Other Models
15 Writing Portable Code and Maintaining Ports
15.1 Recognizing Portable Code
15.2 Design Strategies and Patterns
15.3 Strategies for Maximizing the Number of Portable Modules
15.4 Configuration Management
15.5 Summary
Appendix A Techniques for Out-of-Memory Testing
References
Index