Got an interesting challenge here.
I have created an application for Windows that I need to port to Mac. The core functionality of this application is provided by a Windows-only Active-X control, which is not going to get a Mac port anytime soon.
I considered wrapping the Windows application in a WINE wrapper, but I really want to have a native Mac interface for this.
So I came up with this crazy idea of building a companion application that hosts the Active-X control that I can wrap within WINE, and then building a separate application for the UI.
This would be my new framework for both Windows and Mac. The engine of the program will be a Windows application on both OSs (in WINE on Mac), and then theres a smaller, lightweight OS-specific application that interfaces with the engine.
The problem now becomes how to interface with that engine application. On Windows systems it would be easy enough, I can just use an IPCSocket. But on Mac, an IPCSocket will not communicate with a WINE-wrapped Windows IPCSocket (I tried).
Ideally, I would like to use the same communications method on both platforms, and in a perfect world I wouldnt have to develop a low-level comm protocol for these two applications to share text data back-and-forth.