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