IG basically has two APIs; one REST API for trades etc, and a Streaming API for getting quotes. The Streaming API uses Lightstreamer which has a bunch of clients, but none for C/C++ as far as I can tell. I've implemeted a Java client, which was fairly straight forward. But yeah, I can tell from your code that the bridging seems quite complex.