Porting to the Symbian Platform - Open Mobile Development in C/C++
Buy Rights Online Buy Rights

Rights Contact

No rights contact to display

More About This Title Porting to the Symbian Platform - Open Mobile Development in C/C++

English

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.

loading