Hi,

I've been working on a port of Barry to WinCE. It's currently sitting in the "wince" branch on my github:
https://github.com/tobygray/barry/tree/wince

I don't think it's currently in a state to merge back into barry as I've made a few changes which I'm not entirely sure about if they are the best thing to do.

The main commit which adds WinCE support is https://github.com/tobygray/barry/commit/d660a40f21b823510e5b81113f20fe4af3c3974a. This adds a wince directory in the root to contain the build files and implementations of some functions not present on WinCE, such as getopt and sleep. I have a feeling that these headers and source code should probably be moved into /src, to go near pre-existing support code such as getpwuidandroid.cc. Would that make sense?

I have already done similarily for configfile.cc, splitting it up into common code, code for unix systems and code for win32 systems in https://github.com/tobygray/barry/commit/36131b090c3d6c1c34af441b40868b3b094fa66b

As WinCE doesn't have tr1 support I had to change how the shared_ptr support in Barry was referenced. Instead of directly referencing tr1::shared_ptr, I changes this so that there is Barry::tr1::shared_ptr which is provided by boost::shared_ptr on WinCE and by tr1::shared_ptr on all pre-existing platforms.

This was done in https://github.com/tobygray/barry/commit/b4a70d9f7feedaa52bebe46d78e7dce880e73b74. I'm not entirely happy with this, especially as it changes the external API for libbarry, but I couldn't think of an alternative solution.

I added support for brawchannel to read and write the channel data over TCP, instead of STDIN and STDOUT as WinCE doesn't have great terminal support. This has made tools/brawchannel.cc a bit of a mess of #ifdef WIN32. I think the best thing to do is to split it into tools/brawchannel.cc, tools/brawchannel_unix.cc and tools/brawchannel_win32.cc. Does that make sense?

I noticed a couple of issues with routing of data and sequence packets early on in channel setup if the device sends data to the PC quickly. I fixed these in https://github.com/tobygray/barry/commit/ebbdf4c9d5868a69d636119da354547918c70e1a and https://github.com/tobygray/barry/commit/6dff36f6c2cd1ef2c0006af2baebbf5ee0c0c291

The rest of the commits are a combination of changes to the code to fix warnings or errors from the Microsoft compiler. If the commit messages aren't detailed enough for any of these then let me know and I'll fill in the gaps (and update the commit messages).

Regards,

Toby
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Barry-devel mailing list
Barry-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/barry-devel

Reply via email to