MarketDefinition.h 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #ifndef FIX50SP2_MARKETDEFINITION_H
  2. #define FIX50SP2_MARKETDEFINITION_H
  3. #include "Message.h"
  4. namespace FIX50SP2
  5. {
  6. class MarketDefinition : public Message
  7. {
  8. public:
  9. MarketDefinition() : Message(MsgType()) {}
  10. MarketDefinition(const FIX::Message& m) : Message(m) {}
  11. MarketDefinition(const Message& m) : Message(m) {}
  12. MarketDefinition(const MarketDefinition& m) : Message(m) {}
  13. static FIX::MsgType MsgType() { return FIX::MsgType("BU"); }
  14. MarketDefinition(
  15. const FIX::MarketReportID& aMarketReportID,
  16. const FIX::MarketID& aMarketID )
  17. : Message(MsgType())
  18. {
  19. set(aMarketReportID);
  20. set(aMarketID);
  21. }
  22. FIELD_SET(*this, FIX::ApplID);
  23. FIELD_SET(*this, FIX::ApplSeqNum);
  24. FIELD_SET(*this, FIX::ApplLastSeqNum);
  25. FIELD_SET(*this, FIX::ApplResendFlag);
  26. FIELD_SET(*this, FIX::MarketReportID);
  27. FIELD_SET(*this, FIX::MarketReqID);
  28. FIELD_SET(*this, FIX::MarketID);
  29. FIELD_SET(*this, FIX::MarketSegmentID);
  30. FIELD_SET(*this, FIX::MarketSegmentDesc);
  31. FIELD_SET(*this, FIX::EncodedMktSegmDescLen);
  32. FIELD_SET(*this, FIX::EncodedMktSegmDesc);
  33. FIELD_SET(*this, FIX::ParentMktSegmID);
  34. FIELD_SET(*this, FIX::Currency);
  35. FIELD_SET(*this, FIX::ExpirationCycle);
  36. FIELD_SET(*this, FIX::MinTradeVol);
  37. FIELD_SET(*this, FIX::MaxTradeVol);
  38. FIELD_SET(*this, FIX::MaxPriceVariation);
  39. FIELD_SET(*this, FIX::ImpliedMarketIndicator);
  40. FIELD_SET(*this, FIX::TradingCurrency);
  41. FIELD_SET(*this, FIX::RoundLot);
  42. FIELD_SET(*this, FIX::MultilegModel);
  43. FIELD_SET(*this, FIX::MultilegPriceMethod);
  44. FIELD_SET(*this, FIX::PriceType);
  45. FIELD_SET(*this, FIX::NoOrdTypeRules);
  46. class NoOrdTypeRules: public FIX::Group
  47. {
  48. public:
  49. NoOrdTypeRules() : FIX::Group(1237,40,FIX::message_order(40,0)) {}
  50. FIELD_SET(*this, FIX::OrdType);
  51. };
  52. FIELD_SET(*this, FIX::NoTimeInForceRules);
  53. class NoTimeInForceRules: public FIX::Group
  54. {
  55. public:
  56. NoTimeInForceRules() : FIX::Group(1239,59,FIX::message_order(59,0)) {}
  57. FIELD_SET(*this, FIX::TimeInForce);
  58. };
  59. FIELD_SET(*this, FIX::NoExecInstRules);
  60. class NoExecInstRules: public FIX::Group
  61. {
  62. public:
  63. NoExecInstRules() : FIX::Group(1232,1308,FIX::message_order(1308,0)) {}
  64. FIELD_SET(*this, FIX::ExecInstValue);
  65. };
  66. FIELD_SET(*this, FIX::TransactTime);
  67. FIELD_SET(*this, FIX::Text);
  68. FIELD_SET(*this, FIX::EncodedTextLen);
  69. FIELD_SET(*this, FIX::EncodedText);
  70. };
  71. }
  72. #endif