The Symbian OS (779886), страница 45
Текст из файла (страница 45)
Theserver manages system-wide shared access to single-instance fontsand bitmaps, providing bitmap and font services for native bitmapfonts and vector fonts through its client-side APIs. It is responsible forloading the plug-in font rasterizer for vector fonts.• The Text Shaper Plug-in component to the Font and Bitmap Serverenables improved glyph placement for Hindi (i.e. Devanagari script).• The Bit GDI component provides a polymorphic interface independent of device and display modes to bitmaps and the screen devicevia graphics primitives that implement the concrete device context forbitmaps.• The Font Store component provides font storage and font file loading,using plug-in font rasterizer libraries if required. It also performsclosest-fit matching of font requests.MULTIMEDIA AND GRAPHICS SERVICES BLOCK191• The FreeType Font Rasterizer component provides a reference implementation and library wrapper for the FreeType font rasterizer,supporting FreeType 2 TrueType font descriptions.• The Printing Support component provides a framework that managesand loads printer drivers as bitmapped device context implementations and manages access to printer ports.
It is considered a legacycomponent on most modern devices and is only relevant to PDAs.• The Printer Drivers component provides reference implementationsof concrete printer drivers that implement the polymorphic interfacedefined by GDI. It is considered a legacy component on most moderndevices and is only relevant to PDAs.Graphics Device Interface CollectionThis is the lowest level of the graphics services, providing low-levelgraphics abstractions and color palette support.Table 8.7 Graphics Device Interface ComponentsComponent NameDevelopment NameGDIGDIColor PalettePALETTE• The GDI component provides a device-independent graphics context abstraction, which supports drawing to various devices includingscreens and printers (which are treated as specialized graphics contexts).
Normally all drawing, text display, and so on, is performed ona graphics context.• The Color Palette component supports color-array handling, conversion between RGB values and palette indices, and dynamic palettes.Color palettes may be supplied by external classes, allowing clientsto control the palette capabilities depending on the available devicehardware.Graphics DeviceInterfaceGDIColorPaletteFigure 8.14 Graphics Device Interface components192THE OS SERVICES LAYER8.8 Connectivity Services BlockConnectivity Services in Symbian OS (see Figure 8.15) consist of dedicated service and transport frameworks designed to support basic deviceor host connectivity functions, including backup and restore, remote filebrowsing, remote software installation, and so on.4The first releases of Symbian OS based their connectivity on the proprietary PLP serial and infrared-based protocol.
Symbian provided basicsoftware for both PCs and devices, enabling backup and restore, synchronization of PIM-application engines, remote software install, and remoteaccess to the file system. Licensees mostly provided basic customizations.While Symbian OS v6.0 retained PLP, Symbian OS v6.1 moved to aTCP/IP-based framework (based on m-Router, licensed from Intuwave)and also introduced Bluetooth as a bearer, thus extending support toinclude cable, infrared and Bluetooth. m-Router also adds a serviceloading framework and can load custom services.From Symbian OS v8, there has been significant re-architecture ofthe Connectivity Services, principally on the host-side (in other words,on the host computer to which the device is connecting) but includingthe introduction of the Bearer Abstraction Layer to improve standardizedaccess to connected phones.Service ProvidersServiceFrameworkDevice ConnectionConnectivityServicesFigure 8.15 Connectivity Services block4The best introduction is [MacDowell 2005].CONNECTIVITY SERVICES BLOCK193Design GoalsGood connectivity is a vital feature for any mobile device and especiallyfor consumer-oriented devices.
Symbian OS provides good deviceside support for generic connectivity services based on configurable,standards-based technologies (such as SyncML), and the drive towardsmore consumer-oriented devices will hopefully see licensees (or opportunistic third-parties) providing good solutions for connecting to all hostplatforms, including Macintosh and Linux, for example. Easy connectivity based on standard technologies and compatible between devicesfrom different licensees across multiple host operating systems is vital tosupport migration of data between devices (from an old device to a newdevice, for example).Interestingly, while Symbian OS makes TCP/IP the standard protocolfor its connectivity services, OBEX is more common on phones not basedon Symbian OS.
OBEX is optimized for simple transfer of small objects, forexample, contact records and SMS messages. While OBEX is supportedby Symbian OS and while some licensees may provide their own supportfor OBEX-based connectivity, it is not part of the standard connectivitysolution.OverviewThe connectivity architecture provides a framework within which thedevice-side of TCP/IP-based device-to-host services can be created. Sincethe actual bearer is abstracted, such a service runs on any bearer.Implementations are provided for the basic device–host connectivityservices of device backup, remote software installation and remote filebrowsing.Windows PC desktop-side implementations are supplied as part of theConnectivity Services implementation but, in principle, the services onthe Symbian OS device are agnostic about the host operating system.Since the services are based on TCP/IP, host-side implementations canbe written for any operating system.
Typically, all licensees providea host connectivity suite of some kind; most support only Windows,some support Mac OS/OS X. Third-party freeware packages providevarying degrees of support for Linux or Unix connectivity for Symbian OSdevices.5The device-side framework is extensible, so that new (device- andhost-side) services can be written, and open, so that host-side services5http://symbianos.org/∼malm/SymbianLinuxHowTo.html documents connectivity solutions for legacy releases up to Symbian OS v7.0; for current Symbian OS phones,data synchronization with other SyncML supporting systems should be possible butmay require configuration.
Alternatively, www.scheduleworld.com provides a web-basedSyncML service, which should enable synchronization between Symbian OS and otherSyncML-supporting systems.194THE OS SERVICES LAYERcan be written for platforms (e.g. Linux/Unix) that device vendors do notsupport out of the box. The framework is intended for use by developersof host-side software to access the device and its applications and iscustomizable by extension.As supplied, the PC-side connectivity application uses WindowsWinsock over RS232 serial, USB, Bluetooth, and infrared connections. Onthe device-side (i.e.
Symbian OS), the chosen bearer propagates (throughthe Sockets Server) to a Connectivity Services Server Socket. Bearerlevel components interoperate with the Sockets Server (see Chapter 9) toprovide services to the framework.ServicesConnectivity Service Providers are device-side services that support basicinteractions with a desktop host to perform device backup to the host, filebrowsing and transfer (in both directions; typically, browsing the devicefile system from the desktop and copying files between the device anddesktop host) and software installation (from desktop to device).The basic supported services are:• backup and restore of a drive on the device to a desktop host• file management (e.g.
copying files to and from the device, renamingand deleting files and directories on the device, and formatting devicedrives)• installation of software from the desktop host.Additionally, the infrastructure supports starting named services on thedevice from the desktop host and managing the connection between thedevice and the host.Data synchronization functions are not supported by the ConnectivityServices but are provided elsewhere (for the device side, see Chapter 7;on the host side, there are various third-party offerings as well as licenseeprovided software packages).All the supplied services use the Service Broker framework.