1 #ifndef FIX50SP1_BIDREQUEST_H 2 #define FIX50SP1_BIDREQUEST_H 3 4 #include "Message.h" 5 6 namespace FIX50SP1 7 { 8 9 class BidRequest : public Message 10 { 11 public: BidRequest()12 BidRequest() : Message(MsgType()) {} BidRequest(const FIX::Message & m)13 BidRequest(const FIX::Message& m) : Message(m) {} BidRequest(const Message & m)14 BidRequest(const Message& m) : Message(m) {} BidRequest(const BidRequest & m)15 BidRequest(const BidRequest& m) : Message(m) {} MsgType()16 static FIX::MsgType MsgType() { return FIX::MsgType("k"); } 17 BidRequest(const FIX::ClientBidID & aClientBidID,const FIX::BidRequestTransType & aBidRequestTransType,const FIX::TotNoRelatedSym & aTotNoRelatedSym,const FIX::BidType & aBidType,const FIX::BidTradeType & aBidTradeType,const FIX::BasisPxType & aBasisPxType)18 BidRequest( 19 const FIX::ClientBidID& aClientBidID, 20 const FIX::BidRequestTransType& aBidRequestTransType, 21 const FIX::TotNoRelatedSym& aTotNoRelatedSym, 22 const FIX::BidType& aBidType, 23 const FIX::BidTradeType& aBidTradeType, 24 const FIX::BasisPxType& aBasisPxType ) 25 : Message(MsgType()) 26 { 27 set(aClientBidID); 28 set(aBidRequestTransType); 29 set(aTotNoRelatedSym); 30 set(aBidType); 31 set(aBidTradeType); 32 set(aBasisPxType); 33 } 34 35 FIELD_SET(*this, FIX::BidID); 36 FIELD_SET(*this, FIX::ClientBidID); 37 FIELD_SET(*this, FIX::BidRequestTransType); 38 FIELD_SET(*this, FIX::ListName); 39 FIELD_SET(*this, FIX::TotNoRelatedSym); 40 FIELD_SET(*this, FIX::BidType); 41 FIELD_SET(*this, FIX::NumTickets); 42 FIELD_SET(*this, FIX::Currency); 43 FIELD_SET(*this, FIX::SideValue1); 44 FIELD_SET(*this, FIX::SideValue2); 45 FIELD_SET(*this, FIX::NoBidDescriptors); 46 class NoBidDescriptors: public FIX::Group 47 { 48 public: NoBidDescriptors()49 NoBidDescriptors() : FIX::Group(398,399,FIX::message_order(399,400,401,404,441,402,403,405,406,407,408,0)) {} 50 FIELD_SET(*this, FIX::BidDescriptorType); 51 FIELD_SET(*this, FIX::BidDescriptor); 52 FIELD_SET(*this, FIX::SideValueInd); 53 FIELD_SET(*this, FIX::LiquidityValue); 54 FIELD_SET(*this, FIX::LiquidityNumSecurities); 55 FIELD_SET(*this, FIX::LiquidityPctLow); 56 FIELD_SET(*this, FIX::LiquidityPctHigh); 57 FIELD_SET(*this, FIX::EFPTrackingError); 58 FIELD_SET(*this, FIX::FairValue); 59 FIELD_SET(*this, FIX::OutsideIndexPct); 60 FIELD_SET(*this, FIX::ValueOfFutures); 61 }; 62 FIELD_SET(*this, FIX::NoBidComponents); 63 class NoBidComponents: public FIX::Group 64 { 65 public: NoBidComponents()66 NoBidComponents() : FIX::Group(420,66,FIX::message_order(66,54,336,625,430,63,64,1,660,0)) {} 67 FIELD_SET(*this, FIX::ListID); 68 FIELD_SET(*this, FIX::Side); 69 FIELD_SET(*this, FIX::TradingSessionID); 70 FIELD_SET(*this, FIX::TradingSessionSubID); 71 FIELD_SET(*this, FIX::NetGrossInd); 72 FIELD_SET(*this, FIX::SettlType); 73 FIELD_SET(*this, FIX::SettlDate); 74 FIELD_SET(*this, FIX::Account); 75 FIELD_SET(*this, FIX::AcctIDSource); 76 }; 77 FIELD_SET(*this, FIX::LiquidityIndType); 78 FIELD_SET(*this, FIX::WtAverageLiquidity); 79 FIELD_SET(*this, FIX::ExchangeForPhysical); 80 FIELD_SET(*this, FIX::OutMainCntryUIndex); 81 FIELD_SET(*this, FIX::CrossPercent); 82 FIELD_SET(*this, FIX::ProgRptReqs); 83 FIELD_SET(*this, FIX::ProgPeriodInterval); 84 FIELD_SET(*this, FIX::IncTaxInd); 85 FIELD_SET(*this, FIX::ForexReq); 86 FIELD_SET(*this, FIX::NumBidders); 87 FIELD_SET(*this, FIX::TradeDate); 88 FIELD_SET(*this, FIX::BidTradeType); 89 FIELD_SET(*this, FIX::BasisPxType); 90 FIELD_SET(*this, FIX::StrikeTime); 91 FIELD_SET(*this, FIX::Text); 92 FIELD_SET(*this, FIX::EncodedTextLen); 93 FIELD_SET(*this, FIX::EncodedText); 94 }; 95 96 } 97 98 #endif 99