Symbian OS C++ for Mobile Phones V 3
The existing material from the volumes will be combined, with explanations and example code updated to reflect the introduction of Symbian OS v9. New and simplified example application will be introduced, which will be used throughout the book. The reference and theory section in particular sets this book apart from the competition and complements other books being proposed at this time.
Anyone looking for a thorough insight into Symbian OS C++ before moving onto specialize on particular Symbian OS phones need this book! It will not teach people how to program in C++, but it will reinforce the techniques behind developing applications in Symbian OS C++, and more.
This innovative new book covers Symbian OS fundamentals, core concepts and UI.
Key highlights include:
- A quick guide to Kernel
- Platform security
- Publishing Applications
- View Architecture
- Multi-User games
Richard Harrison has developed Symbian OS software for 10 years. He is currently Technical Author at Symbian Ltd and is responsible for their system documentation. Richard is the lead author of the best-selling Symbian OS C++ for Mobile Phones, Volumes 1 and 2, also published by Wiley.
Table of Contents
Symbian Press Acknowledgments.
About this book.
1 Getting Started.
1.1 Using the Emulator.
1.2 Hello World – Text Version.
2 A System Introduction to Symbian OS.
2.1 Symbian OS Basics.
2.2 Framework Basics.
2.3 APIs Covered in this Book.
3 Symbian OS C++.
3.1 Fundamental Data Types.
3.2 Naming Conventions.
3.8 Design Patterns.
4 Objects – Memory Management, Cleanup and Error Handling.
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.
5.2 Anatomy of Descriptors.
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.
6 Active Objects.
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.
7 Files and the File System.
7.1 File-Based Applications.
7.2 Drives and File Types.
7.3 File System Services.
8 Interprocess Communication Mechanisms.
8.2 Client–server IPC.
8.3 Publish and Subscribe IPC.
8.4 Message Queue IPC.
8.5 Which IPC Mechanism Should You Use?
9 Platform Security and Publishing Applications.
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.
10 Debugging and the Emulator.
10.1 Using the Emulator.
10.2 Emulator Debugging.
10.3 Debugging on a Phone.
10.4 Miscellaneous Tools.
11 The Application Framework.
11.1 Symbian OS Application Framework.
11.2 S60 and UIQ Platform Application Frameworks.
11.3 A Graphical Hello World.
12 A Simple Graphical Application.
12.1 Implementing the Game on S60.
12.2 Differences for UIQ 3.
13 Resource Files.
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.
14 Views and the View Architecture.
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.
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.
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.
17 Graphics for Display.
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.
18 Graphics for Interaction.
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.
19 Plug-ins and Extensibility.
19.1 System Services.
19.2 What Is a Plug-in?
19.3 The ECOM Library.
19.4 Plug-ins in Symbian OS.
20 Communications and Messaging Services.
20.1 Communications in Noughts and Crosses.
20.2 Communication Between Controller and Transport.
20.3 Serial Communications.
20.4 Socket-based Communications.
21.1 The Multimedia Framework.
21.2 The Image Conversion Library.
21.3 Camera API.
21.4 Tuner API.
22 Introduction to SQL RDBMS.
22.1 Overview of RDBMS.
22.2 SQL Basics.
22.3 Symbian SQL Server Component Architecture.
22.4 Symbian SQL Error Codes.
Appendix: Developer Resources.
Sign up now »
- FTOS Web Applications DeveloperNSW
- FTLead Software EngineerSA
- FTFlash / ActionScript Developer - ContractNSW
- FTTechnical Business AnalystNSW
- FTR&D EngineerSA
- FTSenior Python DeveloperNSW
- FTJob Title: Mac Systems/ Enterprise Systems EngineerNZ
- FT.NET - Sitecore Developer - Melbourne - PermNSW
- FTQuality ManagerSA
In a sluggish economy, getting the best ROI on every IT dollar spent is the top priority for almost every business. Storage budgets in most IT environments continue to remain ...
The nature of work has changed fundamentally and forever and it continues to evolve rapidly. Geographic distance and ...
"Suggesting that people's "purpose is to get information to flow through the ..."
Why change management doesn’t work
"Darn those pesky laws that get in the way of commercial exploitation ..."
Larry Page wants to see your medical records
"Instead of partitioning the device between corporate and personal data, another approach ..."
Dual-Persona Smartphones Not a BYOD Panacea
"Well that's a nice back-handed compliment isn't it? So now, finally, my ..."
After two-year hiatus, EFF accepts bitcoin donations again
"Actually, both Mobile App developers and CIOs should be blamed for it. ..."
CIOs struggle to deliver timely mobile business apps: survey
- Malware roundup: Tiffany's, Tibetans, iOs are targeted
- Schnucks wants federal court to handle data breach lawsuit
- Layered defenses largely fail to block exploits, says NSS
- Researchers warn of increased Zeus malware activity this year
- AusCERT 2013: Four dissenters to spur next year's security debates
- CITRIX SYNERGY ’13: Qureshi addresses the trend of ‘mojility’
- CITRIX SYNERGY ’13: IT needs to be empowered, says Sallam
- CITRIX SYNERGY ’13: Look beyond Cloud infrastructure, says Liang
- CITRIX SYNERGY ’13: Christiancen highlights the need for collaboration
- CITRIX SYNERGY ’13: Devices will change how people work, says Duursma
- Analytics and personalisation drive leading marketer behaviour: Report
- Innovation and big data take centre stage during CMO panel
- Twitter targets second screen interaction with Amplify advertising partnerships
- Facebook talks hyper-targeting, analytics and cross-platform at AANA event
- Tapping into social experience: Tourism Australia