Hey everyone, I already sent his information to Stefan yesterday, but I think it might be interesting for other potential Mac and Windows version makers:
----------- snip ---------- The core thing that's missing for the Windows version is the integration in the Windows Explorer -- so the little blue and green icons that indicate that something is going on in the background. On Linux, I could just use the GPL'd Dropbox extension for the linux file manager Nautilus, -- on Windows, this extension has to be coded from scratch. The Windows Explorer extension must be written in C or C++ I think. Well there is an API for it, and I have really no idea how to do it, because I have no idea how to write proper code in C ... Here are a little more details (in case you're interested): The basic communication between Windows explorer and Syncany should be like this: WinExplorer "Plugin"/"Handler" <----------TCP Socket---------> Syncany Server ^^ This is how the Linux version works, and how the Windows/Mac version should therefore also work. For that to work, you have to: 1) add a couple of registry keys (= for each overlay icon one key, i. one for "Up-to-date", one for "Syncing" and one for "conflict") 2) implement three Explorer API methods: GetOverlayHandler, GetPriority und IsMemberOf (see [1] for details) IsMemberOf checks for every file that is displayed in the Explorer, whether or not this file displays a certain overlay icon, i.e it checks 1) whether file X is member of the group "Up-to-date" 2) whether file X is member of the group "Syncing" 3) and so on ... As you can see this is quite inefficient, but that's how Microsoft does it... Here is the MSDN entry of Microsoft: [1] http://msdn.microsoft.com/en-us/library/cc144123%28v=vs.85%29.aspx And here is a complete implementation of TortoiseSVN: http://codesearch.google.com/codesearch/p?hl=en#XJa9F1p-bAg/trunk/src/TortoiseShell/IconOverlay.cpp&q=IShellIconOverlayIdentifier%20tortoise%20ismemberof&sa=N&cd=2&ct=rc A sample communication between the Syncany server and the Explorer plugin would look like this: CLIENT > get_emblems CLIENT > path <tab> C:\Users\username\Syncany-Folder\ File12.jpg CLIENT > done SERVER < ok SERVER < emblems <tab> syncing SERVER < done Find attached a small PHP script that demonstrates how the communication works (on linux -- but i guess the windows version works similarly) ----------- snip ---------- Cheers, Philipp On Fri, May 27, 2011 at 9:00 AM, Stefan Mai <[email protected]> wrote: > All, > I'm working on a Windows port of Syncany, starting with the shell extension > then moving on to other parts of the code. If anyone is interested in > helping or has some free cycles for the effort, let me know. > Thanks, > Stefan > -- > Mailing list: https://launchpad.net/~syncany-team > Post to : [email protected] > Unsubscribe : https://launchpad.net/~syncany-team > More help : https://help.launchpad.net/ListHelp > >
<<attachment: talk-to-dropbox.php>>
-- Mailing list: https://launchpad.net/~syncany-team Post to : [email protected] Unsubscribe : https://launchpad.net/~syncany-team More help : https://help.launchpad.net/ListHelp

