Chapter 13. Two-Way Syncing

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 basemon and 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.

The Logic of 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.

Fast Sync

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:

Examine the desktop data

The conduit reads the current desktop data into a local database.

Examine the handheld data

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 ...

Get Palm Programming: The Developer's Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.