These
requirements are handled in the short utility generators in group 4, which are called by
many of the other generators.
So far, none of these ?¬?les has actually been real C++ code: some had their own
S60-speci?¬?c syntaxes, some were simple C++ de?¬?nitions. The C++ code makes up
two thirds of the total size and number of ?¬?les and is created by groups 5, 6, and 7. In
S60, an application is represented by three C++ ?¬?les: an application, UI, and
document ?¬?le, and these are created by group 5. Each view has its own ?¬?le and an
ancillary container ?¬?le, and these are created by group 6. The dialog contents of each
view are created as functions in its ?¬?le by group 7, which has a subgenerator for each
dialog type.
EXTENDING THE SOLUTION TO NATIVE S60 C++ 187
FIGURE 8.10 Structure of S60 C++ generators
188 MOBILE PHONE APPLICATIONS USING A PYTHON FRAMEWORK
8.9 SUMMARY
The DSM case described here shows how the level of abstraction can be raised on top
of an existing platform??”or rather, on top of several layers, as illustrated in Fig. 8.11.
First, there is a mobile platform providing some hardware-related software. On top of
this, an operating systems provides a set of libraries and basic mobile services and
applications. Next, to make application development faster and easier, the level of
abstraction is raised by providing a suite of libraries and standard applications with a
UI application platform.
Pages:
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350