Hi Anuj,

On 06.03.2014, at 13:41, anuj chauhan <[email protected]> wrote:

> Can we control and define SyncType  externally or via code.
>  
> Example , I wish to send only these two types below in output dev inf
> <SyncCap>
> <SyncType>1</SyncType>
> 
> <SyncType>7</SyncType>
> 
> </SyncCap>
> 
> I want to control SyncType that we send to the server in output devinf.

It seems that you have an ongoing battle against the automatic devInf generator 
in libsynthesis :-)

libsynthesis was designed to create the devInf (information about the 
capabilities of a SyncML peer) according to the actual capabilities, which 
means devInf is not just *set*, but *derived* from the actual capabilities of 
the database backend. Many traditional SyncML clients and servers suffered from 
bad devInf someone just wrote as a piece of XML, and later forgot to update 
when supported fields, modes, etc. changed, and so became inconsistent and 
misleading. That's why libsynthesis does NOT give any direct influence to 
devInf in the config.

So if you need to do non-standard things, then you need to change libsynthesis 
code. The generation of devInf is done starting in syncsession.cpp's 
TSyncSession::newDevInf(), and progressing into each datastore's 
TLocalEngineDS::newDevInfDatastore() to collect their details. SyncModes in 
particular are generated in TLocalEngineDS::newDevInfSyncCap().

The only config flag directly influencing devInf SyncCap is 
<syncmodeextensions>, which is used to enable/disable the non-standard sync 
modes used by SyncEvolution (disabled by default).

Best Regards,

Lukas Zeller

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

_______________________________________________
os-libsynthesis mailing list
[email protected]
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis

Reply via email to