03.01.2013 Views

Chapter 1

Chapter 1

Chapter 1

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

� Simulate them using active objects, and chains of pseudoevents. Split the task into<br />

short increments, generate a low-priority pseudoevent that will be handled if no real<br />

events (such as user input) need handling; handle an increment, and if that doesn't<br />

complete the task, generate another pseudoevent.<br />

� Really use multithreading. Launch a background thread and work out some scheme of<br />

communication between the application's (or server's) main thread and the background<br />

thread.<br />

If it's possible, the first approach is strongly preferred because it's more efficient.<br />

2.17 APIs Covered in the Book<br />

Now we've reviewed the type of hardware on which Symbian OS operates, the base facilities<br />

for constructing programs, and the event- handling system including the client-server<br />

framework.<br />

Symbian OS APIs divide into categories corresponding to those we use for different types of<br />

program:<br />

� the kernel exposes an API through the user library<br />

� system servers expose APIs through their client interfaces<br />

� application engines expose APIs to the applications that use them<br />

� middleware components are APIs in perhaps the purest and simplest sense<br />

� other API types such as device drivers, sockets protocol implementations, printer<br />

drivers, and so on are associated with particular system components.<br />

These divide into several broad groupings:<br />

Group Description<br />

Base Provides the fundamental APIs for all ofSymbian OS, which I've<br />

described in this chapter.<br />

Middleware Graphics, data, and other components to support the GUI, engines,<br />

and applications.<br />

UI The system GUI framework including the Shell (in UIQ, the Application<br />

Launcher) application.<br />

Applications Application software can be divided intoGUI parts (which use UIQ)<br />

and engines (which don't deal with graphics). Some applications are<br />

simply thin layers over middleware components: others have<br />

substantial engines.<br />

Communications Industry-standard communications protocols for serial and socketsbased<br />

communication, dial-up networking, TCP/IP, and infrared.<br />

Language systems The Java runtime environment.Symbian OS Connect Communications<br />

protocols to connect to a PC, and services such as file format<br />

conversion, data synchronization for contacts, schedule entries and email,<br />

clipboard synchronization, printing to a PC-based printer.<br />

The table below shows the main C++/C APIs that we will be covering in the book. It<br />

introduces the issue of naming conventions for Symbian OS APIs I've used.<br />

� A friendly title, which I'll normally use in the book, unless I need to be more precise.<br />

� The DLL name: add .dll to this for the DLL name to use at runtime and add .lib for<br />

the import library that you must specify in your .mmp file at build time.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!