![]() |
Takes in a generic Message and produces an object that represents its specific version and message type. More...
#include <MessageCracker.h>
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) |
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.
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 }
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 }
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 }