5 SyncML 参考工具包工具包在XML语言和SyncML之间起到桥梁的作用
5.1使用 SyncML 工具包
- 可以只使用一个工作空间
- 可以为一个应用程序分配一个工作空间
- 把 in 和 out 分成两个工作空间
5.2 使用SyncML工具包的工作空间 当同步开始,工作空间被创建:
1
2
3
4
5
6
7
| instanceOptions.encoding = SML_WBXML;
instanceOptions.workspaceName ="MyWorkspace";
instanceOptions.workspaceSize =20000;
callbacks.addCmdFunc = &handleAddCmdFunc;
...rc = smlInitInstance(callbacks,
instanceOptions,
&instanceID);
|
5.3 使用SyncML工具包解析器
体积小而且经过了优化处理(代替 DOM XML 解析器)支持以下格式:
回调函数将把解析后的信息送到应用程序,开始解析SyncML :
1
2
3
| smlProcessData(instanceID, // pass the instance
SML_ALL_COMMANDS, // parse entire Msg
pUserData); // a void ptr
|
5.4 使用工具包 编码器
需要编码的信息要经过Toolkit.
1
2
3
4
5
| pAddStruct->elementType = SML_PE_ADD;
pAddStruct->cmdID = ... ;
pAddStruct->itemList = ... ;
pAddStruct->cred = ... ;
smlAddCmd(instanceID, pAddStruct);
|
5.5 内容与通信
5.5.1 整合负载
解析、编码嵌入式数据格式
数据库接口
- Lotus Domino
- Outlook
- DB2
- ...
5.5.2 发布同步信息
传输绑定
- HTTP
- OBEX (Infrared)
- WSP
- Floppy Disk
|