This bug will track the implementation of the Palm Conduit Dll. This gets loaded by the Palm HotSync Manager and calls into Mozilla across the process space to synchronize AB. The Palm Conduit Dll communicates with Palm Handheld (HH) to retrieve data from Palm HH AB as well as to update it. The implementation has following files: - the implementation of entry points into the Conduit (most of this code is generated by Palm CDK). - MozABConduitRecord - this is the class that represents the Mozilla AB record and converts the Palm record to Moz record and vice versa. - MozABHHManager - this is the class that interacts with the Palm HH to retrieve AB data (Categories and Records) as well as updates the HH AB. - MozPCManager - this is the class that interacts with Mozilla to send updated Palm records to it as well as retrieve Moz AB records. This interaction is done using MSCOM as the IPC infrastructure. MAPI interface existing in Mozilla is currently extended to make these calls. - MozABConduitSync - this is the class which defines the overall logic for Sync.
Created attachment 96806 [details] [diff] [review] First patch for Palm Conduit Implementation Building this patch requires Palm CDK installed since it uses it to interact with the Palm. The files in the patch here doesnot contain the Mozilla boiler plates yet.
Created attachment 97935 [details] [diff] [review] updated patch for Mozilla Palm sync Conduit This takes care of Cavin's suggestion for: - use macros for implementing CMozABConduitRecord::ConvertFromGeneric and ConvertToGeneric. - correct the checking of categoryID to check for it's value as -1 instead of 0. - remove unused code. Besides these suggestions it also has the following changes: - modified code so that the RecordIds for new records from Moz added into Palm are sent back to Mozilla so that its cards can be updated with corresponding ids. - modified the code so that the category information is correctly compacted into the DBInfoBlock and stored on Palm. This enables new AB records to be displayed in the right category rather than under the Unfiled category description. - modified the code so that Sync Done ack is sent to Mozilla after each category is synchronized so that memory is freed correctly - added Mozilla license plates.
Attachment #96806 - Attachment is obsolete: true
Comment on attachment 97935 [details] [diff] [review] updated patch for Mozilla Palm sync Conduit r=cavin.
Attachment #97935 - Flags: review+
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla1.2beta
Rajiv, what directory are these new files going in? I couldn't tell from the diff and was curious.
Hi Scott, these files would go into mailnews/extensions/palmsync directory. However, the makefile is not yet part of this patch I am still trying to figure out how the nightly builds would be done since it will require Palm CDK to be installed on the build machine. Meanwhile could you please take a look at the attached patch and if there are any suggestions i can have the makefile as part of the updated patch or else i will attach a separate patch for the makefile. I will make sure that I land the makefile changes alongwith this code. thanks.
Comment on attachment 97935 [details] [diff] [review] updated patch for Mozilla Palm sync Conduit sr=mscott
Attachment #97935 - Flags: superreview+
During QA testing couple of issues came up which have been fixed, these are: 1) Data mapping issue for Display Name 2) Modified record sometimes doesnot get synced properly. Usage of CategoryIndex, and not CategoryId (although the field name is called CatId), is done by PalmSyncManager API for accessing existing records. Besides this I have merged two same named functions NotifySyncDone as the called interface function has also merged, and have removed some unrequired code in the Palm CDK generated MozABConduitGenCond code. I am attaching a diff patch listing differences with previous patch for easier review and a complete patch with the new code below.
Comment on attachment 101600 [details] [diff] [review] Entire Patch with updated code sr=mscott
Attachment #101600 - Flags: superreview+
Created attachment 102098 [details] [diff] [review] patch for makefile changes to make this implementation part of build This patch has the makefile changes for mailnews/extensions/palmsync/Makefile.in to build the conduit if the PALM_CDK_DIR environment variable is defined pointing to the directory where Palm CDK is installed. It also has the Makefile.in for the conduit (the implementation here) and the changes to build the conduit using Palm CDK files.
Hi Leaf, Can u please review the above patch for makefile changes, thanks.
Comment on attachment 102098 [details] [diff] [review] patch for makefile changes to make this implementation part of build r=leaf
Attachment #102098 - Flags: review+
thanks Leaf. Hi Scott, Can u please super review this makefile changes patch, thanks.
Comment on attachment 102098 [details] [diff] [review] patch for makefile changes to make this implementation part of build if i'm not building palmsync, will I see your echo statements in palmsync/Makefile.in about setting the palm cdk dir? Or is there another variable which tells us whether we even want to enter the palmsync directory? Rajiv and I agree this is a big hack but we're going to go with it because leaf says this solution poses the least burden on modifications to our build system. Given that leaf would rather have us do this than add a much of palm sync logic to the build config setup, we'll go along with it. sr=mscott assuming the answer to my question about the echo statement is no.
Attachment #102098 - Flags: superreview+
Thanks Scott. The Echo statement will appear when the extensions/palmsync is built. If this dir is not built it will not appear. Also I do agree that this a hack but I also think it should not be a 'practical' issue since this doesnot pose an overhead on build or output binary size :)
This has landed. Marking this as fixed. This feature has been tested by Gregg Meehan from QA, changing QA contact to him.
Status: ASSIGNED → RESOLVED
Last Resolved: 17 years ago
QA Contact: nbaca → meehansqa
Resolution: --- → FIXED
*** Bug 112555 has been marked as a duplicate of this bug. ***
It's really nice to see somebody working on this. Thank you!
Mozilla 1.2.1 build has implemented the Palm AB Conduit for Mozilla.
Status: RESOLVED → VERIFIED
QA Contact: meehansqa → nbaca
*** Bug 36836 has been marked as a duplicate of this bug. ***
Component: Palm Sync → Palm Sync
Product: MailNews Core → MailNews Core Graveyard
You need to log in before you can comment on or make changes to this bug.