Symbian OS C++ for Mobile Phones: Programming with Extended Functionality and Advanced Features, Volume 2
After a brief introduction to Symbian OS fundamentals the book focuses on describing the interaction between the OS and the application, broadly following the lifecycle of an application. It describes the new features particular to v7.0s and provides conceptual and theoretical underpinnings to give the reader a thorough understanding of the OS.
- Aims to build a general understanding of Symbian OS, not just for a particular smartphone or UI
- Packed with code and examples
- Details advanced features such as user interfaces, files and views, multimedia services and communications, and messaging
About this book.
Innovation Through Openness.
About the Authors.
1. Symbian OS Fundamentals.
1.1 Object Creation and Destruction.
1.2 Error Handling and Cleanup.
1.3 Naming Conventions.
1.5 Active Objects.
2. Symbian OS User Interfaces.
2.2 The Common Framework.
2.3 The Screen Layout.
2.4 Common UI Components.
2.5 UI-specific Components.
2.7 Handling User Input.
3. A Running Application.
3.2 System Calls.
4. Using Controls and Dialogs.
4.1 What is a Control?
4.2 Simple Controls.
4.3 Compound Controls.
4.4 Control Layout.
4.5 Handling Key and Pointer Events.
4.6 Observing a Control.
4.7 Drawing a Control.
4.9 More Complex Dialogs.
4.10 Interface Class Usage in Dialogs.
4.11 Custom Controls in Dialogs.
5. Views and the View Architecture.
5.1 Controlling Your Application with Views.
5.2 View Architecture Components.
5.3 Implementing Views.
5.4 Creating Views.
5.5 Registering Views.
5.6 Switching Between Views.
5.7 Deregistering Views.
5.8 More on Views.
5.9 View Specific Behavior on UIQ and Series 60 Platforms.
6. Files and the Filing System.
6.1 Filing System Services.
6.4 Using INI Files.
6.5 Resource Files and Bitmaps.
7. Multimedia Services.
7.1 The Multimedia Component Architecture.
7.2 The Multimedia Framework (MMF).
7.3 Using the MMF.
7.4 Using Audio.
7.5 Using Video.
7.6 Controller Framework API.
7.7 Using the ICL.
7.8 Using Ecam.
8. Comms and Messaging.
8.2 Overview of Symbian OS Comms Architecture.
8.3 Protocol Support.
9. Testing on Symbian OS.
9.1 Code Coverage Analysis.
9.2 Binary Compatibility Tool.
9.3 Test Driver.
9.4 Analyzing the Results.
9.5 Sampling Profiler.
9.6 Countloc ? Measuring Source Code Size.
Appendix 1. Example Projects.
Appendix 2. Symbian OS System Model.
Appendix 3. Writing Good Symbian OS Code.
Appendix 4. Developer Resources.
Appendix 5. Build Process Overview.
Appendix 6. Specifications of Symbian OS Phones.
He has spent the majority of his time in system integration (SI), building and leading the SI team. He has produced user documentation for software for the Sinclair QL, the PC application software for the Psion Organiser I and the source code translator for the original version of OPL. Joint author of the Organiser II spreadsheet and principal designer and author of the Psion Series 3 and 3a word processors, he was also lead author of the Psion SIBO SDK team.
Educated at Balliol College, Oxford, with an MA in Natural Science (Physics), Richard also graduated from Sussex University with an MSc in Astronomy, and spent a further two years of postgraduate research in the Astronomy Group at Imperial College.
Alan Robinson- Alan Robinson joined Symbian shortly after its formation in 1998 and has mostly worked on documentation and examples in messaging and communications. Alan previously contributed to Wireless Java for Symbian Devices 9Wiley 2001) and Symbian OS C++ for Mobile Phones Vol. 1 (Wiley 2003).
A graduate of Cambridge University with a BA in literature and philosophy, he became interested in applying logical theory and took a Computing MSc at Middlesex University. he has worked on developer kits for a startup company's messaging middleware platform, and for IBM's MQ Series.
Arwel Hughes- Arwel joined Symbian (then Psion) in 1993, working on documentation for the Series 3a and also some software development. Since the formation of Symbian, he has contributed documentation and examples for Symbian OS. This is rather like painting the famous Forth Bridge: just when you think you can see the end...
Arwel previously worked on IBM mainframes in roles including programmer and systems programmer for a number of companies including GKN, Prudential Assurance, Shell and Chase Manhattan Bank. He has a BSC in Applied Mathematics from Sheffield University.
Dominic Pinkman- Dominic joined Psion in October 1995 as a technical author. he has written and maintained documentation for APIS throughout Symbian OS and was a co-author of the book Symbian OS C++ for Mobile Phones Vol. 1 (Wiley, 2003).
He has an MSc in Computer Science from the University of Kent and a BA in Modern Language studies from Leicester University.
Elisabeth Måwe- Elisabeth joined the system documentation team in 2000 and has since been designing and writing the Symbian Developer Library, specializing in operating system customization, kits, emulators, test, build and release tools. She has also been involved in training and usability management.
Elisabeth has a BA in Technical Communication/Information Design from Mälardalens Högskola and Coventry University, as well as an MA in Contemporary English Language and Linguistics from Reading University. After graduating in 1996 she worked as a technical author, information designer and web editor for various IT companies in the UK, producing documentation for both network management and market research software. She would like to thank Alex Peckover and Murray Read for providing both example code and technical expertise.
Greg Zaoui- Gregory Zaoui first joined Symbian in 1998, as a graduate software engineer with a 'licence de Mathématiques' from the University of Strasbourg. He has been working on various projects for System Integration on build tools and release management. He then joined the newly created Test Solutions group in 2002, as a technical architect for TechView and other test tools.
His interests range from skiing and windsurfing to talmudic studies. Gregory would like to thank Richard Harrison and Paul Treacy for their excellent mentoring, as well as Clare Oakley (Test Solutions manager) without whom it would be impossible to talk consistently about test tools for symbian OS. he also would like to acknowledge Elisabeth Måwe for her very active participation to the chapter, Konstantin Michaelov for his very useful example cases, Andrew Thoelke for the profiler bits, and all Test Solutions developers for their contribution. Gregory would also like to add special thanks to his dear wife Tamar for her constant encouragement and most precious help.
Nick Johnson- Since joining Symbian, Nick worked for a year in the Multimedia team helping implement next-generation Multimedia APIs and frameworks on Symbian OS and then subsequently transferred to Symbian's Marketing department, where he is now working as a developer consultant assisting Symbian partners with their Multimedia troubles.
Previous to this, Nick first spent three years studying Computer Science and Cybernetics at Reading University before subsequently spending two years working in 3D sound research at Sensaura Ltd. Here he spent time both developing new 3D sound algorithms and implementing the Xbox and GameCube ports of their cross-platform 3D audio middleware library. After leaving Sensaura, Nick spent a few weeks in the games industry working on 'Microsoft Train Simulator 2' before deciding that it just wasn't for him and instead joined Symbian.
Outside work, Nick enjoys learning Japanese and about Japanese culture, is a home cinema/film enthusiast, enjoys collecting/drinking rare liquors and vodkas and spends large amounts of time trying to convince friends that Laser Discs are still the way forward...
Richard Potter- Richard joined Symbian in the summer of 2002 as a technical author. He works on documentation for the Security and Networking subsystems and has also written some Perl and Python scripts to aid the team.
Richard's unusual route to becoming a technical author includes advertising photography, being a singer/guitarist in a rock band, an MSc in Astrophysics, and an MPhil in Experimental Particle Physics working at the Stanford Linear Accelerator Center, Palo Alto, California. Many thanks to Jelte Liebrand for his advice.