This article of Maemo 6 Service Framework continues the series of “A Peek to Maemo 6 UI Framework” articles. There are older articles parts I, II, and III if you haven’t read them yet. The Maemo 6 UI Framework is quite large (almost 100 000 lines of c++ code) therefore I want to introduce larger modules rather than smaller things like single widgets. I want to make the reader to understand what you can do with the UI framework, how you can design your application (MVC + layouts) and how you can use services that platform provides or introduce your own services.
Because we are dealing a huge UI/Application Framework which each application in Maemo 6 device should use, there must be some kind of centralized way to make applications provide public interfaces for other applications. This is where Service Framework comes to the picture.
I checked a doxygen documentation of the Maemo 6 UI framework and there is own section for Service Framework. The following bullet list is derived from the Service Framework documentation. The objectives of Service Framework are:
- Provide a simple IPC mechanism
- Remove run time binary dependancy between the service user and provider
- User of an interface doesn’t need to worry about the logic of choosing or connecting to an interface.
- Provides an interface for querying a list of providers and choose one of them
They also state in the documentation that Service Framework can be used for example launching another application such as a web browser or showing recent contacts. I guess this means that each application in Maemo 6 platform can provide a specialized interface to other applications that may be interested in such a service.