next up previous contents
Next: A conduit is a Up: The general conduit framework Previous: The general conduit framework   Contents

How conduits work in general

KPilot is divided into three major components: the GUI, the syncing daemon, and the conduits. When the GUI is started it attempts to make a connection to the syncing daemon. If it can't it starts the daemon then makes the socket connection. When the user hits the hot-sync button on the cradle the daemon checks to see if the GUI is connected. If it is, the daemon notifies the GUI that a hot-sync has started. The daemon then steps through all activated conduits and lets them do their sync. When the conduit is started it makes a connection back to the daemon and asks the daemon to read and write entries into the database. When the conduit finishes it exits and the daemon continues on to the next conduit. Once all the conduits have run the daemon alerts the GUI that it has finished and goes back to waiting for a sync to start. Note that the backup of the Handheld is also done by a conduit, which is not visible to the user, though.

The basic conduit implements three important features: info/setup, backup, and normal hot-sync. If the user clicks the setup button in KPilot's conduit menu the conduit is started and requested to show a settings dialog. If the conduit doesn't have any settings to adjust then it should simply display an about dialog. When the dialog is closed the conduit will exit. Next, if the user requested KPilot back up the pilot the conduit will be given the opportunity to grab everything off the pilot. This is useful if this is the first time the conduit is being used. For example if the user had never synced before this would be a good time to copy the data into the calendar, money database, etc. Lastly, the conduit is requested to hot-sync whenever KPilot is hot-syncing with the pilot.


next up previous contents
Next: A conduit is a Up: The general conduit framework Previous: The general conduit framework   Contents
Reinhold Kainhofer 2003-01-13