You can implement two-way syncing using
two different methods. While both methods rely on Palm sample code,
that is where the similarity ends. The first is based on the conduit
classes (commonly referred to as
basetabl ) and the second on new code called
Generic Conduit. Before delving into either approach, however, we
need to discuss the logic involved in two-way, mirror image syncing.
There are two forms of syncing that occur between the desktop and the handheld. The quicker method is appropriately named “fast sync” and the other is likewise aptly named “slow sync.” A fast sync occurs when the handheld is being synced to the same desktop machine that it was synced to the previous time. Because handhelds can be synced to multiple desktops, this is not the only possibility. As a result, there are quite a few logic puzzles that need sorting out when records don’t match. Let’s start with the easier, fast scenario.
A fast sync occurs when a handheld syncs to the same desktop as it last did, so you can be assured that the delete/archive/modify bits from the handheld are accurate. In such cases, the conduit needs to do the following:
The conduit reads the current desktop data into a local database.
For each changed record on the handheld, the conduit does the following:
If the record is archived, it adds the record to an archived database on the desktop and marks it in ...