Qt Service Framework
May 26, 2009 by Qt Mobility | Comments
Almost all Qt platforms have some form of native service framework (e.g. COM on Windows , DBUS on Linux, Symbian S60 LIW/SAPI etc). However, cross platform development of services and clients is much more difficult. Each platform has different capabilities, APIs and limitations.
The aim of the Qt Service framework is to enable easy development of services and a unified way of accessing them. Qt services provider can interact with platform specific services without exposing the platform specifics to clients. This initial release focuses on in-process, aka plug-in based services. Clients can access shared or individual instances of the same service as long as the access happens from within the same process. Support for out-of-process services is planned for later on, as it requires improved signal/slot based IPC communication.
Each service is exposed via a QObject pointer which means that clients can interact with service objects via the Qt MetaObject system. In fact clients can introspect service objects and therefore access any function, signal, slot or property that has been registered via the meta object system without having to include service specific header files. This is particularly interesting for non-native environments, such as a Qt WebKit, which can embed arbitrary QObject instances into web pages and thus makes the service object accessible via JavaScript.
One of the exiting reasons why the Service Framework is part of the Mobility program is that we are hoping that it will be the common framework for future Nokia mobile platform releases. We expect that each Nokia mobile platform will use the same interface name space and in combination with other planned Mobility API's, such as Bearer Management (also known as Connection management) or a Contacts API, it will enable true cross platform development.
If you want to run the example or just play around with it, grab the full source code from the public Gitorious repository.
Blog Topics:
Comments
Subscribe to our newsletter
Subscribe Newsletter
Try Qt 6.7 Now!
Download the latest release here: www.qt.io/download.
Qt 6.7 focuses on the expansion of supported platforms and industry standards. This makes code written with Qt more sustainable and brings more value in Qt as a long-term investment.
We're Hiring
Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.