Mozilla Skin

Source Code

From Open Forex Platform Wiki

Prerequisites

In order to compile the entire solution, you will need Microsoft Visual Studio 2008 or Microsoft Visual Studio Express. It is also possible to use Microsoft Visual Studio 2005, but this will only allow you to build the projects separately.

Downloading the Source Code

The latest source code for the project can be obtained, using an SVN client, here:

http://code.google.com/p/openforexplatform/source/checkout

Step by Step downloading instructions

We recommend the usage of the free Tortoise SVN. Download the Tortoise SVN application, and install it. Once done, go to your windows explorer, to the folder you would like to deploy to, Right Click and select "SVN Checkout". A dialog box will appear.

In the field "URL of repository" enter: http://openforexplatform.googlecode.com/svn/trunk/

The other parameters must be left by default: Checkout Depth: "Fully Recursive" Omit Externals: unchecked Revision: HEAD revision

Click OK. If a dialog appears asking you "Would you like to create the new folder?" click Yes.

The download process will begin. When it has completed, click OK. You have downloaded the OFxP source code.

For instructions on how to build it, go to Building the Project.


Source Code Organization

The source code is organized in one big solution called "OpenForexPlatform" (OpenForexPlatform.sln). It contains all of the following projects:

  • Arbiter

Project hosts an implementation of the Arbiter communication mechanism. The mechanism is based on messages. To use a component must implement the IArbiterClient interface.

  • CommonSupport

Common helper classes from any format, both logic and user interface. Any class that is not related to financing and the Platform in specific and can be reused in any general application is stored here.

  • CommonFinancial

Common financial classes, both business logic and user interface. All non Platform specific financial classes are stored here.

  • MT4IntegrationDll

Provides an entry point for the integration with MetaTrader.v.4 integration expert. A copy of this DLL is deployed to the MT4 integration folder and loaded by it.

  • ForexPlatformPersistence

Provides platform specific helper classes to assist the persistence of the platform (currently to a SQLite database).

  • ForexPlatformIntegration

Handles integration with external platforms, stores classes needed for integrations.

  • ForexPlatform

The core platform classes are stored here. All non user interface platform specific source code must be placed here.

  • ForexPlatformFrontEnd

Almost all user interface components are stored in this project. It also serves as an actual starting point, contains the main application form etc.

  • ForexPlatformClient

This is the start up executable project. Most importantly it verifies GAC registrations of the remaining components and runs the platform.