Symbian OS C++ for Mobile Phones V 3
Buy Rights Online Buy Rights

Rights Contact Login For More Details

More About This Title Symbian OS C++ for Mobile Phones V 3


Mark Shackman is part of the Symbian Developer Network, which provides technical support to developers in the form of presentations, papers, books and tools. After the formation of Symbian, Mark joined the Connectivity Engineering group, with sole responsibility for authoring, producing, delivering and supporting the Connectivity SDK. He also wrote a chapter in Symbian's first book, Professional Symbian Programming.

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.


About the Authors.


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

3.4 APIs.

3.5 Templates.

3.6 Casting.

3.7 Classes.

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


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.

7.4 Streams.

7.5 Stores.


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?


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


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.


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.

20.5 Messaging.

20.6 Security.


21 Multimedia.

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.