Public Member Functions | List of all members
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>

Inheritance diagram for FIX::MessageCracker:
Inheritance graph
[legend]
Collaboration diagram for FIX::MessageCracker:
Collaboration graph
[legend]

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

◆ crack() [1/6]

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

Definition at line 55 of file MessageCracker.h.

57 {
58 const FIX::BeginString& beginString =
59 FIELD_GET_REF( message.getHeader(), BeginString );
60
61 crack( message, sessionID, beginString );
62 }
#define FIELD_GET_REF(MAP, FLD)
Definition FieldMap.h:376
void crack(const Message &message, const SessionID &sessionID)

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

Referenced by crack(), crack(), crack(), crack(), crack(), and crack().

◆ crack() [2/6]

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

Definition at line 98 of file MessageCracker.h.

101 {
102 if ( applVerID == ApplVerID_FIX40 )
103 ((FIX40::MessageCracker&)(*this)).crack((const FIX40::Message&) message, sessionID);
104 if ( applVerID == ApplVerID_FIX41 )
105 ((FIX41::MessageCracker&)(*this)).crack((const FIX41::Message&) message, sessionID);
106 if ( applVerID == ApplVerID_FIX42 )
107 ((FIX42::MessageCracker&)(*this)).crack((const FIX42::Message&) message, sessionID);
108 if ( applVerID == ApplVerID_FIX43 )
109 ((FIX43::MessageCracker&)(*this)).crack((const FIX43::Message&) message, sessionID);
110 if ( applVerID == ApplVerID_FIX44 )
111 ((FIX44::MessageCracker&)(*this)).crack((const FIX44::Message&) message, sessionID);
112 if ( applVerID == ApplVerID_FIX50 )
113 ((FIX50::MessageCracker&)(*this)).crack((const FIX50::Message&) message, sessionID);
114 if ( applVerID == ApplVerID_FIX50SP1 )
115 ((FIX50SP1::MessageCracker&)(*this)).crack((const FIX50SP1::Message&) message, sessionID);
116 if ( applVerID == ApplVerID_FIX50SP2 )
117 ((FIX50SP2::MessageCracker&)(*this)).crack((const FIX50SP2::Message&) message, sessionID);
118 }

References crack().

◆ crack() [3/6]

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

Definition at line 64 of file MessageCracker.h.

67 {
68 if ( beginString == BeginString_FIX40 )
69 ((FIX40::MessageCracker&)(*this)).crack((const FIX40::Message&) message, sessionID);
70 else if ( beginString == BeginString_FIX41 )
71 ((FIX41::MessageCracker&)(*this)).crack((const FIX41::Message&) message, sessionID);
72 else if ( beginString == BeginString_FIX42 )
73 ((FIX42::MessageCracker&)(*this)).crack((const FIX42::Message&) message, sessionID);
74 else if ( beginString == BeginString_FIX43 )
75 ((FIX43::MessageCracker&)(*this)).crack((const FIX43::Message&) message, sessionID);
76 else if ( beginString == BeginString_FIX44 )
77 ((FIX44::MessageCracker&)(*this)).crack((const FIX44::Message&) message, sessionID);
78 else if ( beginString == BeginString_FIXT11 )
79 {
80 if( message.isAdmin() )
81 {
82 ((FIXT11::MessageCracker&)(*this)).crack((const FIXT11::Message&) message, sessionID);
83 }
84 else
85 {
86 ApplVerID applVerID;
87 if(!message.getHeader().getFieldIfSet(applVerID))
88 {
89 Session* pSession = Session::lookupSession( sessionID );
90 applVerID = pSession->getSenderDefaultApplVerID();
91 }
92
93 crack( message, sessionID, applVerID );
94 }
95 }
96 }
static Session * lookupSession(const SessionID &)
Definition Session.cpp:1496
const char BeginString_FIX41[]
Definition Values.h:35
const char BeginString_FIX40[]
Definition Values.h:36
const char BeginString_FIX42[]
Definition Values.h:34
const char BeginString_FIXT11[]
Definition Values.h:30
const char BeginString_FIX43[]
Definition Values.h:33
const char BeginString_FIX44[]
Definition Values.h:32

References 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().

◆ crack() [4/6]

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

Definition at line 120 of file MessageCracker.h.

122 {
123 const FIX::BeginString& beginString =
124 FIELD_GET_REF( message.getHeader(), BeginString );
125
126 crack( message, sessionID, beginString );
127 }

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

◆ crack() [5/6]

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

Definition at line 163 of file MessageCracker.h.

166 {
167 if ( applVerID == ApplVerID_FIX40 )
168 ((FIX40::MessageCracker&)(*this)).crack((FIX40::Message&) message, sessionID);
169 if ( applVerID == ApplVerID_FIX41 )
170 ((FIX41::MessageCracker&)(*this)).crack((FIX41::Message&) message, sessionID);
171 if ( applVerID == ApplVerID_FIX42 )
172 ((FIX42::MessageCracker&)(*this)).crack((FIX42::Message&) message, sessionID);
173 if ( applVerID == ApplVerID_FIX43 )
174 ((FIX43::MessageCracker&)(*this)).crack((FIX43::Message&) message, sessionID);
175 if ( applVerID == ApplVerID_FIX44 )
176 ((FIX44::MessageCracker&)(*this)).crack((FIX44::Message&) message, sessionID);
177 if ( applVerID == ApplVerID_FIX50 )
178 ((FIX50::MessageCracker&)(*this)).crack((FIX50::Message&) message, sessionID);
179 if ( applVerID == ApplVerID_FIX50SP1 )
180 ((FIX50SP1::MessageCracker&)(*this)).crack((FIX50SP1::Message&) message, sessionID);
181 if ( applVerID == ApplVerID_FIX50SP2 )
182 ((FIX50SP2::MessageCracker&)(*this)).crack((FIX50SP2::Message&) message, sessionID);
183 }

References crack().

◆ crack() [6/6]

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

Definition at line 129 of file MessageCracker.h.

132 {
133 if ( beginString == BeginString_FIX40 )
134 ((FIX40::MessageCracker&)(*this)).crack((FIX40::Message&) message, sessionID);
135 else if ( beginString == BeginString_FIX41 )
136 ((FIX41::MessageCracker&)(*this)).crack((FIX41::Message&) message, sessionID);
137 else if ( beginString == BeginString_FIX42 )
138 ((FIX42::MessageCracker&)(*this)).crack((FIX42::Message&) message, sessionID);
139 else if ( beginString == BeginString_FIX43 )
140 ((FIX43::MessageCracker&)(*this)).crack((FIX43::Message&) message, sessionID);
141 else if ( beginString == BeginString_FIX44 )
142 ((FIX44::MessageCracker&)(*this)).crack((FIX44::Message&) message, sessionID);
143 else if ( beginString == BeginString_FIXT11 )
144 {
145 if( message.isAdmin() )
146 {
147 ((FIXT11::MessageCracker&)(*this)).crack((FIXT11::Message&) message, sessionID);
148 }
149 else
150 {
151 ApplVerID applVerID;
152 if(!message.getHeader().getFieldIfSet(applVerID))
153 {
154 Session* pSession = Session::lookupSession( sessionID );
155 applVerID = pSession->getSenderDefaultApplVerID();
156 }
157
158 crack( message, sessionID, applVerID );
159 }
160 }
161 }

References 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().


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

Generated on Mon Mar 4 2024 21:10:02 for QuickFIX by doxygen 1.9.8 written by Dimitri van Heesch, © 1997-2001