|
From: deloptes <del...@ya...> - 2011-12-09 22:17:47
|
Chris Frey wrote: > On Fri, Dec 09, 2011 at 08:00:58PM +0100, deloptes wrote: >> EKO: bool OSynthML::DataSink::initialize(OSyncPlugin*, OSyncPluginInfo*, >> OSyncObjTypeSink*, OSyncError**) initializing: contact > > Is this libsynthesis calling you? i.e. is this a callback? > No I have not implemented this yet. I was thinking DataSink should use the DB API and act as plugin to the synthesis engine, but reading the documentation I think the UI API is what we need as we are driving the engine. "With the SySync UIApi SDK, the customer can write his own user interface and communication code (in the current version for SyncML available for client applications) and is calling the SyncML engine for initialization, syncing, message reading/writing and parameter setup. In this configuration, the UI application is usually a program which acts as master and is using the SyncML engine as shared (or linked) library." (p.7 SDK_manual) In contrast to: "With the SySync DBApi SDK, the customer is able to create plug-ins, which will be called directly by the Synthesis SyncML engine. The SyncML engine acts as a master: It makes subroutine calls into the plugin DLL. Each routine must return an error status, which will be handled by the engine. The main three blocks are the Module, the Session and the Datastore handling. These three blocks are normally kept within one DLL, but they can be separated into different DLLs as well. The description of each routine with several programming hints can be found in the interface definition file „sync_dbapi.h“." So we want in a global scale from the plugin perspective do the following: 1. initialize the plugin in the osync engine 2. start the synthesis engine (we are the application) 3. connect the phone or act as whatever SyncML client/server 4. sync (get changes etc) 5. disconnect 6. stop the engine 7. finalize the plugin in the osync engine I need to get a picture of the details now. Of course any help is appreciated. regards |