QuickFIX: FIX::MessageCracker Class Reference

Index Source Files Annotated Class List Alphabetical Class List Class Hierarchy Graphical Class Hierarchy

# 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 (Message &message, const SessionID &sessionID)
void | crack (Message &message, const SessionID &sessionID, const BeginString &beginString)

## Detailed Description

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

Definition at line 40 of file MessageCracker.h.

## Member Function Documentation

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

Definition at line 109 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_FIX50, FIX::BeginString_FIXT11, crack(), FIX::FieldMap::getField(), FIX::Message::getHeader(), FIX::Session::getSenderDefaultApplVerID(), FIX::Message::isAdmin(), FIX::FieldMap::isSetField(), FIX::Session::lookupSession(), and FIX::Message::toBeginString().

    00112   {
    00113     if ( beginString == BeginString_FIX40 )
    00114       ((FIX40::MessageCracker&)(*this)).crack((const FIX40::Message&) message, sessionID);
    00115     else if ( beginString == BeginString_FIX41 )
    00116       ((FIX41::MessageCracker&)(*this)).crack((const FIX41::Message&) message, sessionID);
    00117     else if ( beginString == BeginString_FIX42 )
    00118       ((FIX42::MessageCracker&)(*this)).crack((const FIX42::Message&) message, sessionID);
    00119     else if ( beginString == BeginString_FIX43 )
    00120       ((FIX43::MessageCracker&)(*this)).crack((const FIX43::Message&) message, sessionID);
    00121     else if ( beginString == BeginString_FIX44 )
    00122       ((FIX44::MessageCracker&)(*this)).crack((const FIX44::Message&) message, sessionID);
    00123     else if ( beginString == BeginString_FIX50 )
    00124       ((FIX50::MessageCracker&)(*this)).crack((const FIX50::Message&) message, sessionID);
    00125     else if ( beginString == BeginString_FIXT11 )
    00126     {
    00127       if( message.isAdmin() )
    00128       {
    00129         ((FIXT11::MessageCracker&)(*this)).crack((const FIXT11::Message&) message, sessionID);
    00130       }
    00131       else
    00132       {
    00133         ApplVerID applVerID;
    00134         if(!message.getHeader().isSetField(applVerID))
    00135         {
    00136           Session* pSession = Session::lookupSession( sessionID );
    00137           applVerID = pSession->getSenderDefaultApplVerID();
    00138         }
    00139         else
    00140         {
    00141           message.getHeader().getField( applVerID );
    00142         }
    00143
    00144         crack( message, sessionID, Message::toBeginString(applVerID) );
    00145       }
    00146     }
    00147   }

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

Definition at line 100 of file MessageCracker.h.

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

    00102   {
    00103     const FIX::BeginString& beginString =
    00104       FIELD_GET_REF( message.getHeader(), BeginString );
    00105
    00106     crack( message, sessionID, beginString );
    00107   }

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

Definition at line 60 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_FIX50, FIX::BeginString_FIXT11, crack(), FIX::FieldMap::getField(), FIX::Message::getHeader(), FIX::Session::getSenderDefaultApplVerID(), FIX::Message::isAdmin(), FIX::FieldMap::isSetField(), FIX::Session::lookupSession(), and FIX::Message::toBeginString().

    00063   {
    00064     if ( beginString == BeginString_FIX40 )
    00065       ((FIX40::MessageCracker&)(*this)).crack((const FIX40::Message&) message, sessionID);
    00066     else if ( beginString == BeginString_FIX41 )
    00067       ((FIX41::MessageCracker&)(*this)).crack((const FIX41::Message&) message, sessionID);
    00068     else if ( beginString == BeginString_FIX42 )
    00069       ((FIX42::MessageCracker&)(*this)).crack((const FIX42::Message&) message, sessionID);
    00070     else if ( beginString == BeginString_FIX43 )
    00071       ((FIX43::MessageCracker&)(*this)).crack((const FIX43::Message&) message, sessionID);
    00072     else if ( beginString == BeginString_FIX44 )
    00073       ((FIX44::MessageCracker&)(*this)).crack((const FIX44::Message&) message, sessionID);
    00074     else if ( beginString == BeginString_FIX50 )
    00075       ((FIX50::MessageCracker&)(*this)).crack((const FIX50::Message&) message, sessionID);
    00076     else if ( beginString == BeginString_FIXT11 )
    00077     {
    00078       if( message.isAdmin() )
    00079       {
    00080         ((FIXT11::MessageCracker&)(*this)).crack((const FIXT11::Message&) message, sessionID);
    00081       }
    00082       else
    00083       {
    00084         ApplVerID applVerID;
    00085         if(!message.getHeader().isSetField(applVerID))
    00086         {
    00087           Session* pSession = Session::lookupSession( sessionID );
    00088           applVerID = pSession->getSenderDefaultApplVerID();
    00089         }
    00090         else
    00091         {
    00092           message.getHeader().getField( applVerID );
    00093         }
    00094
    00095         crack( message, sessionID, Message::toBeginString(applVerID) );
    00096       }
    00097     }
    00098   }

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

Definition at line 51 of file MessageCracker.h.

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

Referenced by crack().

    00053   {
    00054     const FIX::BeginString& beginString =
    00055       FIELD_GET_REF( message.getHeader(), BeginString );
    00056
    00057     crack( message, sessionID, beginString );
    00058   }

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

- /home/omiller/Development/autobuild/quickfix/src/C++/MessageCracker.h