Preface

This page contains information about Decorators, also known as Object Model - convenient wrappers around raw, "flat" FixMessages. By using Decorators developers gain strongly typed access to all available properties of a message, that increases development speed (you write less code to read/write to message properties) and reduces the number of validation errors (because each decorated message class contains only properties that are relevant to this class).

Decorators do not add any performance overhead and their performance is comparable with that of Engine::FixMessage class.

Getting started

Using decorators in your project

To use Decorator you should:

Generate decorator files for your set of dictionaries, as described in tools/decorator-generator/readme.txt;In examples below it is assumed that Decorator for standard FIX.4.4 is used and it's generated sources are placed to 'generated' folder,using following command: b2b_fix_msgs_generator2.exe -s FIX44 -a FIX44 -o ../generated -f ../../../data/fixdic44.xml

Either add files from generated/src and generated/headers folders to your project, or build shared/static library from them;

Optional. Add a folder for your convenience.

Add generated files to project:

Add path to generated headers as additional include directory:

Add regular FIX Antenna library as dependency:

Add preprocessor definitions:

In case you are incorporating decorator sources in your application or static library, or if you are using decorator static library in your application, please add V12_DECORATOR_IMPL preprocessor definition.

In case you are building shared library from decorator sources please add V12_DECORATOR_EXPORTS.

In case you are building application with use of shared library from case ii - you need no additional definitions.