It is time to discuss conduits—what they do and how to create them. In this chapter we’ll describe the conduit development environment, important APIs, tricky little problems you might encounter when installing a conduit, conduit entry points, and information that gets sent to the HotSync log. Since it will also help if you understand (code-wise) what happens when a Palm device is plopped into a cradle and the user pushes the HotSync button, we’ll show you those events too.
Understanding these events is useful if you want to know what happens when your conduit code is called and how it interacts with the Sync Manager to perform its tasks.
After all of this, we’ll take a brief detour to discuss the types of applications that can profitably use the Backup conduit (a conduit that simply archives databases on the desktop). We’ll also show you the code changes required in your application if you want to use the Backup conduit as your conduit solution.
Last of all, we’ll create an actual conduit and show you how to use the Conduit Inspector and POSE to debug it. This conduit is for the Sales application and is built using Visual C++. It doesn’t do much—it just writes a message to the log file—but it’s still quite useful. This example will demonstrate what is involved in creating a minimal conduit and what it takes to get to the point where syncing is ready to begin.