Qt Extended Home · Index · Classes · Headers · Overviews |
This documentation is aimed primarily at system integrators. A complete Desktop Synchronization solution will require some device-specific code and may involve writing device drivers. It will also require building the Qt Extended Sync Agent.
From a high level, Desktop Synchronization is made up of client and server plugins that communicate their changes to the Sync Manager which handles conflicts and passes on the merged data. The reference implementation provides plugins for Qt Extended PIM and Outlook. The components look like this.
The plugins are responsible for converting the data into a common format. This is defined separately for each dataset. See Datasets for the datasets that are supported by the reference implementation.
See Add a new device plugin and Add a new desktop plugin for how to add a plugin.
The remote engine is an abstract entity. It consists of a combination of hardware, software and drivers but these do not matter to the high level synchronization process. A simplified overview of these components is given below.
As you can see the components on each machine are roughly the same. The plugin interface is remoted using QCop messages which are serialized onto a stream. The underlying driver is exposed as a QIODevice which carries the messages. The components of the Remote Engine are examined in more detail below.
The Synchronization application runs on Qt Extended.
The PIM plugins are instaces of Qtopia4SyncPlugin. A Qtopia4SyncPluginFactory is used so that a single plugin file can contain all of the PIM plugins.
This class converts from QCop messages to the Qtopia4SyncPlugin API. It also performs device-specific house keeping such as recording the sync anchors.
This class serializes QCop messages for transmission. It uses the qdsync Protocol over a QIODevice.
This class exposes the USB serial driver as a QIODevice for the QCop Bridge. See Use a Serial Connection for more information. Synchronization also contains support for TCP/IP. See Use a TCP/IP Connection for more information.
This is the Linux 2.4 serial_fd gadget. The Greenphone also supports the Linux 2.4 net_fd gadget which works well with Linux PCs.
Note that Qt Extended does not provide a Windows driver for the Linux net_fd gadget.
Qt Extended Sync Agent runs on the Windows PC.
The Outlook plugins are instaces of QDServerSyncPlugin. They communicate to Outlook via the Outlook Object Model (OOM) although the Messaging API (MAPI) is used in some places to avoid security dialogs.
This class implements QDClientSyncPlugin and converts to QCop messages. A QDClientSyncPluginFactory is used so that one Qtopia4Sync instance can be created for each dataset that the device supports.
This class implements QDConPlugin and serializes QCop messages for transmission. It uses the qdsync Protocol over a QIODevice.
This class implements QDLinkPlugin and exposes the USB driver as a QIODevice to the QCop Connection. It supports proper COM ports and the broken COM port implementation used by the Greenphone USB serial driver. See Use a Serial Connection for more information. Qt Extended Sync Agent also contains support for a TCP/IP link. See Use a TCP/IP Connection for more information.
This is a Windows driver for the Greenphone's serial_fd gadget.
See also Overviews.
Copyright © 2009 Trolltech | Qt Extended Sync Agent Documentation |