ActiveSync library
Asked Answered
I

2

7

I am writing a cross-platform c++ application that needs to connect to Exchange servers and download mails using ActiveSync.

Is there any library available for ActiveSync (preferably open-source)?

I can't use Windows APIs as they won't run in Linux & Mac.

Ingot answered 27/8, 2010 at 14:16 Comment(1)
were you able to get this working and if so could you share what solution / approach you used?Lou
D
10

I used to work with the SynCE project on supporting Windows Mobile devices connected to desktop Linux machines so can offer a few pointers.

Do you mean ActiveSync or AirSync? AirSync is the protocol that used over the air and by ActiveSync to actually shift the data, ActiveSync is the whole stack for syncing a WinMo device connected to your computer. SynCE is the only open source "full stack" equivalent to ActiveSync that I know of, from driver to AirSync to GUI's and integration with OpenSync, and I don't know any open source projects that present themselves as a WinMo device to ActiveSync.

I don't know of any C or C++ implementations of AirSync, but I believe that the Samba and OpenChange teams have made good progress at supporting Exchange servers natively. About a year and a half ago I was told that even supporting the HTTP(s) transport wasn't far away in terms of work needed (but i'm not sure if its been a priority).

While not in C++ and while not even a client library, the SynCE project has open source python code which might be a useful reference if another library cannot be found.

Here is an example of a push mail server that was written by one of the SynCE developers: SynCE Airmail

And the main sync engine can be found here: SynCE SyncEngine

Within that code, I think SyncEngine/airsync.py will be most useful to you.

Digging around the SynCE wiki http://www.synce.org and their mailing list archive is a good way of finding out about problems encountered and surprising details about what the protocol is and isnt sensitive about.

You may find http://libwbxml.opensync.org useful - after the wbxml layer has been decoded AirSync is just XML passing.

And finally, Microsoft do provide documentation for the protocol:

Dominus answered 12/1, 2011 at 20:41 Comment(0)
D
2

Z-Push might provide you with the start you need.

Drupelet answered 8/1, 2011 at 0:23 Comment(1)
so did anyone ended up using z-push (or any of the other alternatives mentioned in the 1st answer)? there doesn't seem to be much said about this otherwise important topicVisigoth

© 2022 - 2024 — McMap. All rights reserved.