Public Member Functions
FIX::MessageCracker Class Reference

Takes in a generic Message and produces an object that represents its specific version and message type. More...

#include <MessageCracker.h>

List of all members.

Public Member Functions

void crack (const Message &message, const SessionID &sessionID)
void crack (const Message &message, const SessionID &sessionID, const BeginString &beginString)
void crack (const Message &message, const SessionID &sessionID, const ApplVerID &applVerID)
void crack (Message &message, const SessionID &sessionID)
void crack (Message &message, const SessionID &sessionID, const BeginString &beginString)
void crack (Message &message, const SessionID &sessionID, const ApplVerID &applVerID)

Detailed Description

Takes in a generic Message and produces an object that represents its specific version and message type.

Definition at line 42 of file MessageCracker.h.


Member Function Documentation

void FIX::MessageCracker::crack ( const Message message,
const SessionID sessionID 
) [inline]

Definition at line 55 of file MessageCracker.h.

References FIX::FIELD::BeginString, FIELD_GET_REF, and FIX::Message::getHeader().

Referenced by crack().

  {
    const FIX::BeginString& beginString = 
      FIELD_GET_REF( message.getHeader(), BeginString );

    crack( message, sessionID, beginString );
  }
void FIX::MessageCracker::crack ( const Message message,
const SessionID sessionID,
const BeginString &  beginString 
) [inline]

Definition at line 64 of file MessageCracker.h.

References FIX::FIELD::ApplVerID, FIX::BeginString_FIX40, FIX::BeginString_FIX41, FIX::BeginString_FIX42, FIX::BeginString_FIX43, FIX::BeginString_FIX44, FIX::BeginString_FIXT11, crack(), FIX::FieldMap::getFieldIfSet(), FIX::Message::getHeader(), FIX::Session::getSenderDefaultApplVerID(), FIX::Message::isAdmin(), and FIX::Session::lookupSession().

  {
    if ( beginString == BeginString_FIX40 )
      ((FIX40::MessageCracker&)(*this)).crack((const FIX40::Message&) message, sessionID);
    else if ( beginString == BeginString_FIX41 )
      ((FIX41::MessageCracker&)(*this)).crack((const FIX41::Message&) message, sessionID);
    else if ( beginString == BeginString_FIX42 )
      ((FIX42::MessageCracker&)(*this)).crack((const FIX42::Message&) message, sessionID);
    else if ( beginString == BeginString_FIX43 )
      ((FIX43::MessageCracker&)(*this)).crack((const FIX43::Message&) message, sessionID);
    else if ( beginString == BeginString_FIX44 )
      ((FIX44::MessageCracker&)(*this)).crack((const FIX44::Message&) message, sessionID);
    else if ( beginString == BeginString_FIXT11 )
    {
      if( message.isAdmin() )
      {
        ((FIXT11::MessageCracker&)(*this)).crack((const FIXT11::Message&) message, sessionID);
      }
      else
      {
        ApplVerID applVerID;
        if(!message.getHeader().getFieldIfSet(applVerID))
        {
          Session* pSession = Session::lookupSession( sessionID );
          applVerID = pSession->getSenderDefaultApplVerID();
        }

        crack( message, sessionID, applVerID );
      }
    }
  }
void FIX::MessageCracker::crack ( const Message message,
const SessionID sessionID,
const ApplVerID &  applVerID 
) [inline]

Definition at line 98 of file MessageCracker.h.

References FIX::ApplVerID_FIX40, FIX::ApplVerID_FIX41, FIX::ApplVerID_FIX42, FIX::ApplVerID_FIX43, FIX::ApplVerID_FIX44, FIX::ApplVerID_FIX50, FIX::ApplVerID_FIX50SP1, FIX::ApplVerID_FIX50SP2, and crack().

  {
    if ( applVerID == ApplVerID_FIX40 )
      ((FIX40::MessageCracker&)(*this)).crack((const FIX40::Message&) message, sessionID);
    if ( applVerID == ApplVerID_FIX41 )
      ((FIX41::MessageCracker&)(*this)).crack((const FIX41::Message&) message, sessionID);
    if ( applVerID == ApplVerID_FIX42 )
      ((FIX42::MessageCracker&)(*this)).crack((const FIX42::Message&) message, sessionID);
    if ( applVerID == ApplVerID_FIX43 )
      ((FIX43::MessageCracker&)(*this)).crack((const FIX43::Message&) message, sessionID);
    if ( applVerID == ApplVerID_FIX44 )
      ((FIX44::MessageCracker&)(*this)).crack((const FIX44::Message&) message, sessionID);
    if ( applVerID == ApplVerID_FIX50 )
      ((FIX50::MessageCracker&)(*this)).crack((const FIX50::Message&) message, sessionID);
    if ( applVerID == ApplVerID_FIX50SP1 )
      ((FIX50SP1::MessageCracker&)(*this)).crack((const FIX50SP1::Message&) message, sessionID);
    if ( applVerID == ApplVerID_FIX50SP2 )
      ((FIX50SP2::MessageCracker&)(*this)).crack((const FIX50SP2::Message&) message, sessionID);
  }
void FIX::MessageCracker::crack ( Message message,
const SessionID sessionID 
) [inline]

Definition at line 120 of file MessageCracker.h.

References FIX::FIELD::BeginString, crack(), FIELD_GET_REF, and FIX::Message::getHeader().

  {
    const FIX::BeginString& beginString = 
      FIELD_GET_REF( message.getHeader(), BeginString );

    crack( message, sessionID, beginString );
  }
void FIX::MessageCracker::crack ( Message message,
const SessionID sessionID,
const BeginString &  beginString 
) [inline]

Definition at line 129 of file MessageCracker.h.

References FIX::FIELD::ApplVerID, FIX::BeginString_FIX40, FIX::BeginString_FIX41, FIX::BeginString_FIX42, FIX::BeginString_FIX43, FIX::BeginString_FIX44, FIX::BeginString_FIXT11, crack(), FIX::FieldMap::getFieldIfSet(), FIX::Message::getHeader(), FIX::Session::getSenderDefaultApplVerID(), FIX::Message::isAdmin(), and FIX::Session::lookupSession().

  {
    if ( beginString == BeginString_FIX40 )
      ((FIX40::MessageCracker&)(*this)).crack((FIX40::Message&) message, sessionID);
    else if ( beginString == BeginString_FIX41 )
      ((FIX41::MessageCracker&)(*this)).crack((FIX41::Message&) message, sessionID);
    else if ( beginString == BeginString_FIX42 )
      ((FIX42::MessageCracker&)(*this)).crack((FIX42::Message&) message, sessionID);
    else if ( beginString == BeginString_FIX43 )
      ((FIX43::MessageCracker&)(*this)).crack((FIX43::Message&) message, sessionID);
    else if ( beginString == BeginString_FIX44 )
      ((FIX44::MessageCracker&)(*this)).crack((FIX44::Message&) message, sessionID);
    else if ( beginString == BeginString_FIXT11 )
    {
      if( message.isAdmin() )
      {
        ((FIXT11::MessageCracker&)(*this)).crack((FIXT11::Message&) message, sessionID);
      }
      else
      {
        ApplVerID applVerID;
        if(!message.getHeader().getFieldIfSet(applVerID))
        {
          Session* pSession = Session::lookupSession( sessionID );
          applVerID = pSession->getSenderDefaultApplVerID();
        }

        crack( message, sessionID, applVerID );
      }
    }
  }
void FIX::MessageCracker::crack ( Message message,
const SessionID sessionID,
const ApplVerID &  applVerID 
) [inline]

Definition at line 163 of file MessageCracker.h.

References FIX::ApplVerID_FIX40, FIX::ApplVerID_FIX41, FIX::ApplVerID_FIX42, FIX::ApplVerID_FIX43, FIX::ApplVerID_FIX44, FIX::ApplVerID_FIX50, FIX::ApplVerID_FIX50SP1, FIX::ApplVerID_FIX50SP2, and crack().

  {
    if ( applVerID == ApplVerID_FIX40 )
      ((FIX40::MessageCracker&)(*this)).crack((FIX40::Message&) message, sessionID);
    if ( applVerID == ApplVerID_FIX41 )
      ((FIX41::MessageCracker&)(*this)).crack((FIX41::Message&) message, sessionID);
    if ( applVerID == ApplVerID_FIX42 )
      ((FIX42::MessageCracker&)(*this)).crack((FIX42::Message&) message, sessionID);
    if ( applVerID == ApplVerID_FIX43 )
      ((FIX43::MessageCracker&)(*this)).crack((FIX43::Message&) message, sessionID);
    if ( applVerID == ApplVerID_FIX44 )
      ((FIX44::MessageCracker&)(*this)).crack((FIX44::Message&) message, sessionID);
    if ( applVerID == ApplVerID_FIX50 )
      ((FIX50::MessageCracker&)(*this)).crack((FIX50::Message&) message, sessionID);
    if ( applVerID == ApplVerID_FIX50SP1 )
      ((FIX50SP1::MessageCracker&)(*this)).crack((FIX50SP1::Message&) message, sessionID);
    if ( applVerID == ApplVerID_FIX50SP2 )
      ((FIX50SP2::MessageCracker&)(*this)).crack((FIX50SP2::Message&) message, sessionID);
  }

The documentation for this class was generated from the following file:

Generated on Mon Sep 15 2014 01:23:57 for QuickFIX by doxygen 1.7.6.1 written by Dimitri van Heesch, © 1997-2001