Symbian OS C++for Mobile Phones Volume 2 for free
Foreword viii
About This Book xi
Innovation Through Openness xiii
About the Authors xvii
Acknowledgements xxi
1 Symbian OS Fundamentals 1
1.1 Object Creation and Destruction 1
1.2 Error Handling and Cleanup 6
1.3 Naming Conventions 19
1.4 Descriptors 23
1.5 Active Objects 38
1.6 Summary 51
2 Symbian OS User Interfaces 53
2.1 Introduction 53
2.2 The Common Framework 54
2.3 The Screen Layout 59
2.4 Common UI Components 65
2.5 UI-specific Components 86
2.6 Skins 90
2.7 Handling User Input 92
2.8 Summary 95
3 A Running Application 97
3.1 Introduction 97
vi CONTENTS
3.2 System Calls 99
3.3 Summary 124
4 Using Controls and Dialogs 125
4.1 What is a Control? 125
4.2 Simple Controls 126
4.3 Compound Controls 128
4.4 Control Layout 139
4.5 Handling Key and Pointer Events 141
4.6 Observing a Control 149
4.7 Drawing a Control 152
4.8 Dialogs 164
4.9 More Complex Dialogs 172
4.10 Interface Class Usage in Dialogs 178
4.11 Custom Controls in Dialogs 180
5 Views and the View Architecture 185
5.1 Controlling Your Application with Views 185
5.2 View Architecture Components 187
5.3 Implementing Views 190
5.4 Creating Views 190
5.5 Registering Views 193
5.6 Switching Between Views 195
5.7 Deregistering Views 197
5.8 More on Views 198
5.9 View-specific Behavior on UIQ and Series 60 Platforms 201
5.10 Summary 205
6 Files and the Filing System 207
6.1 Filing System Services 207
6.2 Streams 213
6.3 Stores 219
6.4 Using .ini Files 231
6.5 Resource Files and Bitmaps 233
7 Multimedia Services 249
7.1 The Multimedia Component Architecture 249
7.2 The Multimedia Framework (MMF) 251
7.3 Using the MMF 257
7.4 Using Audio 257
7.5 Using Video 283
7.6 Controller Framework API 291
7.7 Using the ICL 296
7.8 Using ECam 309
CONTENTS vii
8 Comms and Messaging 315
8.1 Introduction 315
8.2 Overview of Symbian OS Comms Architecture 318
8.3 Protocol Support 327
8.4 MMS 338
8.5 Summary 346
9 Testing on Symbian OS 347
9.1 Code Coverage Analysis 347
9.2 Binary Compatibility Tool 351
9.3 Test Driver 352
9.4 Network Emulator 360
9.5 Sampling Profiler 363
9.6 Countloc – Measuring Source Code Size 368
9.7 Summary 370
Appendix 1 Example Projects 373
Appendix 2 Symbian OS System Model 375
Appendix 3 Writing Good Symbian OS Code 377
Appendix 4 Developer Resources 385
Appendix 5 Build Process Overview 393
Appendix 6 Specifications of Symbian OS Phones 397
Index 413