Beware of bugs in the above code; I have only proved it correct, not tried it.
The project discussed in this chapter is the open source mobile client for a web-based community called Bluemapia. Like the projects discussed in Chapter 11, it is a work in progress with only the early stages of porting completed at the time of writing. However, as you read this, the project should be much nearer completion and you are encouraged to visit the project website in order to study the latest code; you could even get involved and help finish or improve it!
While the majority of the examples in this book are already cross-platform, this project is currently only available for Microsoft Windows, both desktop and mobile platforms. Although the primary goal of the porting project is to get a working client on the Symbian platform, there is also a longer term goal to support embedded Linux variants on Internet tablets, netbooks and other similar devices. In addition to porting the application, a major goal for the project is to make the code more portable. For this reason, the decision was taken very early to port or re-write the user interface for the Qt application framework, rather than the native S60 (Avkon) framework.
Readers who prefer to learn from examples first and get the theory later should find this chapter a useful source of practical details on separating platform-specific code from portable modules in order to make future ...