1 #ifndef FIX50_DERIVATIVESECURITYLISTREQUEST_H
2 #define FIX50_DERIVATIVESECURITYLISTREQUEST_H
3 
4 #include "Message.h"
5 
6 namespace FIX50
7 {
8 
9   class DerivativeSecurityListRequest : public Message
10   {
11   public:
DerivativeSecurityListRequest()12     DerivativeSecurityListRequest() : Message(MsgType()) {}
DerivativeSecurityListRequest(const FIX::Message & m)13     DerivativeSecurityListRequest(const FIX::Message& m) : Message(m) {}
DerivativeSecurityListRequest(const Message & m)14     DerivativeSecurityListRequest(const Message& m) : Message(m) {}
DerivativeSecurityListRequest(const DerivativeSecurityListRequest & m)15     DerivativeSecurityListRequest(const DerivativeSecurityListRequest& m) : Message(m) {}
MsgType()16     static FIX::MsgType MsgType() { return FIX::MsgType("z"); }
17 
DerivativeSecurityListRequest(const FIX::SecurityReqID & aSecurityReqID,const FIX::SecurityListRequestType & aSecurityListRequestType)18     DerivativeSecurityListRequest(
19       const FIX::SecurityReqID& aSecurityReqID,
20       const FIX::SecurityListRequestType& aSecurityListRequestType )
21     : Message(MsgType())
22     {
23       set(aSecurityReqID);
24       set(aSecurityListRequestType);
25     }
26 
27     FIELD_SET(*this, FIX::SecurityReqID);
28     FIELD_SET(*this, FIX::SecurityListRequestType);
29     FIELD_SET(*this, FIX::UnderlyingSymbol);
30     FIELD_SET(*this, FIX::UnderlyingSymbolSfx);
31     FIELD_SET(*this, FIX::UnderlyingSecurityID);
32     FIELD_SET(*this, FIX::UnderlyingSecurityIDSource);
33     FIELD_SET(*this, FIX::NoUnderlyingSecurityAltID);
34     class NoUnderlyingSecurityAltID: public FIX::Group
35     {
36     public:
NoUnderlyingSecurityAltID()37     NoUnderlyingSecurityAltID() : FIX::Group(457,458,FIX::message_order(458,459,0)) {}
38       FIELD_SET(*this, FIX::UnderlyingSecurityAltID);
39       FIELD_SET(*this, FIX::UnderlyingSecurityAltIDSource);
40     };
41     FIELD_SET(*this, FIX::UnderlyingProduct);
42     FIELD_SET(*this, FIX::UnderlyingCFICode);
43     FIELD_SET(*this, FIX::UnderlyingSecurityType);
44     FIELD_SET(*this, FIX::UnderlyingSecuritySubType);
45     FIELD_SET(*this, FIX::UnderlyingMaturityMonthYear);
46     FIELD_SET(*this, FIX::UnderlyingMaturityDate);
47     FIELD_SET(*this, FIX::UnderlyingPutOrCall);
48     FIELD_SET(*this, FIX::UnderlyingCouponPaymentDate);
49     FIELD_SET(*this, FIX::UnderlyingIssueDate);
50     FIELD_SET(*this, FIX::UnderlyingRepoCollateralSecurityType);
51     FIELD_SET(*this, FIX::UnderlyingRepurchaseTerm);
52     FIELD_SET(*this, FIX::UnderlyingRepurchaseRate);
53     FIELD_SET(*this, FIX::UnderlyingFactor);
54     FIELD_SET(*this, FIX::UnderlyingCreditRating);
55     FIELD_SET(*this, FIX::UnderlyingInstrRegistry);
56     FIELD_SET(*this, FIX::UnderlyingCountryOfIssue);
57     FIELD_SET(*this, FIX::UnderlyingStateOrProvinceOfIssue);
58     FIELD_SET(*this, FIX::UnderlyingLocaleOfIssue);
59     FIELD_SET(*this, FIX::UnderlyingRedemptionDate);
60     FIELD_SET(*this, FIX::UnderlyingStrikePrice);
61     FIELD_SET(*this, FIX::UnderlyingStrikeCurrency);
62     FIELD_SET(*this, FIX::UnderlyingOptAttribute);
63     FIELD_SET(*this, FIX::UnderlyingContractMultiplier);
64     FIELD_SET(*this, FIX::UnderlyingUnitOfMeasure);
65     FIELD_SET(*this, FIX::UnderlyingTimeUnit);
66     FIELD_SET(*this, FIX::UnderlyingCouponRate);
67     FIELD_SET(*this, FIX::UnderlyingSecurityExchange);
68     FIELD_SET(*this, FIX::UnderlyingIssuer);
69     FIELD_SET(*this, FIX::EncodedUnderlyingIssuerLen);
70     FIELD_SET(*this, FIX::EncodedUnderlyingIssuer);
71     FIELD_SET(*this, FIX::UnderlyingSecurityDesc);
72     FIELD_SET(*this, FIX::EncodedUnderlyingSecurityDescLen);
73     FIELD_SET(*this, FIX::EncodedUnderlyingSecurityDesc);
74     FIELD_SET(*this, FIX::UnderlyingCPProgram);
75     FIELD_SET(*this, FIX::UnderlyingCPRegType);
76     FIELD_SET(*this, FIX::UnderlyingAllocationPercent);
77     FIELD_SET(*this, FIX::UnderlyingCurrency);
78     FIELD_SET(*this, FIX::UnderlyingQty);
79     FIELD_SET(*this, FIX::UnderlyingSettlementType);
80     FIELD_SET(*this, FIX::UnderlyingCashAmount);
81     FIELD_SET(*this, FIX::UnderlyingCashType);
82     FIELD_SET(*this, FIX::UnderlyingPx);
83     FIELD_SET(*this, FIX::UnderlyingDirtyPrice);
84     FIELD_SET(*this, FIX::UnderlyingEndPrice);
85     FIELD_SET(*this, FIX::UnderlyingStartValue);
86     FIELD_SET(*this, FIX::UnderlyingCurrentValue);
87     FIELD_SET(*this, FIX::UnderlyingEndValue);
88     FIELD_SET(*this, FIX::NoUnderlyingStips);
89     class NoUnderlyingStips: public FIX::Group
90     {
91     public:
NoUnderlyingStips()92     NoUnderlyingStips() : FIX::Group(887,888,FIX::message_order(888,889,0)) {}
93       FIELD_SET(*this, FIX::UnderlyingStipType);
94       FIELD_SET(*this, FIX::UnderlyingStipValue);
95     };
96     FIELD_SET(*this, FIX::UnderlyingAdjustedQuantity);
97     FIELD_SET(*this, FIX::UnderlyingFXRate);
98     FIELD_SET(*this, FIX::UnderlyingFXRateCalc);
99     FIELD_SET(*this, FIX::UnderlyingCapValue);
100     FIELD_SET(*this, FIX::NoUndlyInstrumentParties);
101     class NoUndlyInstrumentParties: public FIX::Group
102     {
103     public:
NoUndlyInstrumentParties()104     NoUndlyInstrumentParties() : FIX::Group(1058,1059,FIX::message_order(1059,1060,1061,1062,0)) {}
105       FIELD_SET(*this, FIX::UndlyInstrumentPartyID);
106       FIELD_SET(*this, FIX::UndlyInstrumentPartyIDSource);
107       FIELD_SET(*this, FIX::UndlyInstrumentPartyRole);
108       FIELD_SET(*this, FIX::NoUndlyInstrumentPartySubIDs);
109       class NoUndlyInstrumentPartySubIDs: public FIX::Group
110       {
111       public:
NoUndlyInstrumentPartySubIDs()112       NoUndlyInstrumentPartySubIDs() : FIX::Group(1062,1063,FIX::message_order(1063,1064,0)) {}
113         FIELD_SET(*this, FIX::UndlyInstrumentPartySubID);
114         FIELD_SET(*this, FIX::UndlyInstrumentPartySubIDType);
115       };
116     };
117     FIELD_SET(*this, FIX::UnderlyingSettlMethod);
118     FIELD_SET(*this, FIX::SecuritySubType);
119     FIELD_SET(*this, FIX::Currency);
120     FIELD_SET(*this, FIX::Text);
121     FIELD_SET(*this, FIX::EncodedTextLen);
122     FIELD_SET(*this, FIX::EncodedText);
123     FIELD_SET(*this, FIX::TradingSessionID);
124     FIELD_SET(*this, FIX::TradingSessionSubID);
125     FIELD_SET(*this, FIX::SubscriptionRequestType);
126   };
127 
128 }
129 
130 #endif
131