Раньше я работал с проектом SynCE по поддержке устройств Windows Mobile, подключенных к настольным компьютерам Linux, поэтому могу предложить несколько советов.
Вы имеете в виду ActiveSync или AirSync? AirSync — это протокол, который используется по радиоканалу и ActiveSync для фактического переноса данных. ActiveSync — это весь стек для синхронизации устройства WinMo, подключенного к вашему компьютеру. SynCE — единственный известный мне «полный стек» с открытым исходным кодом, эквивалентный ActiveSync, от драйвера до AirSync, графического интерфейса пользователя и интеграции с OpenSync, и я не знаю никаких проектов с открытым исходным кодом, которые представляли бы себя как устройство WinMo для ActiveSync.
Я не знаю ни одной реализации AirSync на C или C++, но я считаю, что команды Samba и OpenChange добились значительного прогресса в изначальной поддержке серверов Exchange. Около полутора лет назад мне сказали, что даже поддержка транспорта HTTP (s) не за горами с точки зрения необходимой работы (но я не уверен, что это было приоритетом).
Хотя это и не C++ и даже не клиентская библиотека, проект SynCE имеет открытый исходный код Python, который может быть полезным справочником, если не удается найти другую библиотеку.
Вот пример сервера push-почты, написанного одним из разработчиков SynCE: Авиапочта SynCE
А основной механизм синхронизации можно найти здесь: SynCE SyncEngine.
Я думаю, что в этом коде вам будет наиболее полезен SyncEngine/airsync.py.
Покопаться в вики SynCE http://www.synce.org и в их архиве списков рассылки — хороший способ найти о возникших проблемах и неожиданных подробностях о том, что является и не является чувствительным протоколом.
Вы можете найти http://libwbxml.opensync.org полезными — после декодирования слоя wbxml AirSync — это просто XML проходящий.
И, наконец, Microsoft предоставляет документацию для протокола:
person
Jc2k
schedule
12.01.2011