Application Structure

 
The BTX application has been designed as 2 main processes (Windows threads).
The main program thread deals with all user-interface aspects, i.e. responding to all user input and keeping the information that is displayed up to date.
There is also a background process called the Event Update Thread (EUT) that runs continuously and is started when the Markets List has been loaded. The EUT is responsible for dealing with the Betfair API. It obtains all of the required Betfair market data and is responsible for progressing any Betting Plans that have been attached to markets.
Both the main program and the EUT maintain an object oriented data structure which contains the following information hierarchy:
Betting Exchange
User Account
Market
Betting Plan
Selection
Bet
The main program and the EUT share information updates with each other using a Windows inter thread messaging system.