Method (a) should work, as long as your conduit leaves all
records it writes to "dirty".  The default priority for the
built-in conduits is 2.  The drawback with (a) is your conduit
won't pick up any records that are written by the datebook 
conduit until the next sync.

My vote would be for (b), if it were my problem.  It addresses
precisely the problem you are after and should have minimal
side effects.

Solution (c) will not work.  SyncCallRemoteModule cannot spark
a sysAppLaunchCmdSyncNotify, only sysAppLaunchCmdHandleSyncCallApp.
You would have to direct the call to your application, then 
call datebook -- which is just an overly complicated method
of implementing (b).

You should note that reading/writing directly to a database
that another conduit also reads/writes to always has problems
keeping that database in sync with the other desktop data store.
In general you should leave records "dirty" after modifying
or creating them.  Whether you run before or after the other
conduit, there will always be a delay of 1 sync in transferring
data from your desktop app to the other desktop app in one
direction.

-bob mckenzie

-----Original Message-----
From: James Nicholls [mailto:[EMAIL PROTECTED]]
Sent: Sunday, June 24, 2001 8:26 PM
To: Palm Developer Forum
Subject: Datebook synchronisation


Hi,

My application integrates with the built-in datebook application. When my
conduit runs, it updates the datebook records that are managed by it. The
records in the databook database need to be sorted for the databook
application to work correctly, so before HotSync ends I need to ensure the
databook database is indeed sorted. I'm not sure what is the best way to do
this. I know that the datebook application sorts its database when it is
launched with sysAppLaunchCmdSyncNotify.

I'm thinking of these approaches, in order of preference:
a) Make my conduit priority 1 and if I change any records in the datebook
database the databook database would be different and would require that the
HotSync Manager invoke the datebook conduit to synchronise it.
b) Use SysAppLaunch in my application when it is launched with
sysAppLaunchCmdSyncNotify to launch the datebook application with
sysAppLaunchCmdSyncNotify.
c) Use SyncCallRemoteModule in my conduit to launch the datebook application
with sysAppLaunchCmdSyncNotify.

I don't know if a) would work because I don't know when the HotSync Manager
decides when a conduit needs to be run; or does it run all of them. Still, I
can't be guarenteed with a) that my conduit will run before the datebook
conduit.

I'm sure datebook integration is common in Palm programming, so if anyone
has any advice for me please fill me in on the best path and where the
pitfalls are.

Cheers and happy programming,
James.


-- 
For information on using the Palm Developer Forums, or to unsubscribe,
please see http://www.palmos.com/dev/tech/support/forums/

-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/tech/support/forums/

Reply via email to