1. Home
  2. API Catalog
  3. Refinitiv Real-Time C++ SDK

Refinitiv Real-Time SDK - C/C++

EMA Consumer - Introduction

Download tutorial source code

Click here to download

Last update Dec 2020
Compilers Tutorial demonstration: Visual Studio 2013
Refer to the EMA Compiler Guides for a complete list
Prerequisites Downloaded, installed, compiled, and ran an EMA consumer example


This tutorial aims to show developers who are new to OMM and EMA, how the API can be used to consume RDM (Reuters Domain Models) data. The example allows users to request RDM data by specifying the item name, service name, and RDM model type of the required data. When the data is received, it's parsed and displayed on standard output in a style that highlights the hierarchy/nesting of the OMM data structures used to model the RDM data.

The implementation is presented as a series of steps starting with a barebones EMA application and finishing with the completed example. Each step is presented as a separate compilable project and builds on the code of the previous step. In each project, you'll find a readme file that explains the goal of that particular step as well as a discussion on the implementation. It also includes references to pertinent sections of the documentation that's shipped with the development kit where more information about a particular topic can be found.


  • Creating a barebones EMA consumer application shell
  • Requesting MarketPrice data
  • Decoding MarketPrice data
  • Requesting and processing MarketByOrder data

Each step and its project files can be found in subdirectories called "step<n>".

Compiler and Platform

The SDK build path and directory structure have changed, beginning with version 1.2.

For users with ESDK version 1.1.x, project files are provided for Visual Studio 2010, 2012, and 2013 in the ESDK 1.1 Build files subdirectory in each tutorial directory.

For the users using ESDK 1.2, a project file is provided for Visual Studio 2013. Users also have an option to generate the project file for any compiler using the CMake process, described in the QuickStart guide.

The example has been built and tested with the EMA 3.2.0 development kit and will work with all older versions of the SDK.


Refer to the Message API - C++ Development Guides for an overview of EMA capabilities, models, etc.