Skip to main content

Symbian OS C++ for Mobile Phones, Volume 3

Symbian OS C++ for Mobile Phones, Volume 3

Richard Harrison (Editor) , Mark Shackman (Editor)

ISBN: 978-0-470-06658-4

Jun 2007

834 pages

Select type: E-Book

$68.99

Description

Richard Harrison’s existing books are the bestsellers in the Symbian Press Portfolio.  His latest book, co-written with Mark Shackman is the successor to "Symbian OS C++ for Mobile Phones" Volumes One and Two. Written in the same style as the two previous volumes, this is set to be another gem in the series. 

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
About the Authors.

Acknowledgements.

Symbian Press Acknowledgments.

About this book.

Glossary.

1 Getting Started.

1.1 Using the Emulator.

1.2 Hello World – Text Version.

Summary.

2 A System Introduction to Symbian OS.

2.1 Symbian OS Basics.

2.2 Framework Basics.

2.3 APIs Covered in this Book.

Summary.

3 Symbian OS C++.

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 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.

Summary.

5 Descriptors.

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 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.

Summary.

7 Files and the File System.

7.1 File-Based Applications.

7.2 Drives and File Types.

7.3 File System Services.

7.4 Streams.

7.5 Stores.

Summary.

8 Interprocess Communication Mechanisms.

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 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.

Summary.

10 Debugging and the Emulator.

10.1 Using the Emulator.

10.2 Emulator Debugging.

10.3 Debugging on a Phone.

10.4 Miscellaneous Tools.

Summary.

11 The Application Framework.

11.1 Symbian OS Application Framework.

11.2 S60 and UIQ Platform Application Frameworks.

11.3 A Graphical Hello World.

Summary.

12 A Simple Graphical Application.

12.1 Implementing the Game on S60.

12.2 Differences for UIQ 3.

Summary.

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.

Summary.

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.

Summary.

15 Controls.

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 Dialogs.

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 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.

Summary.

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.

Summary.

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.

Summary.

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.

20.5 Messaging.

20.6 Security.

Summary.

21 Multimedia.

21.1 The Multimedia Framework.

21.2 The Image Conversion Library.

21.3 Camera API.

21.4 Tuner API.

Summary.

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.

Summary.

Appendix: Developer Resources.

References.

Index.

Example Code
Download