SecurityDefinition.h 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. #ifndef FIX42_SECURITYDEFINITION_H
  2. #define FIX42_SECURITYDEFINITION_H
  3. #include "Message.h"
  4. namespace FIX42
  5. {
  6. class SecurityDefinition : public Message
  7. {
  8. public:
  9. SecurityDefinition() : Message(MsgType()) {}
  10. SecurityDefinition(const FIX::Message& m) : Message(m) {}
  11. SecurityDefinition(const Message& m) : Message(m) {}
  12. SecurityDefinition(const SecurityDefinition& m) : Message(m) {}
  13. static FIX::MsgType MsgType() { return FIX::MsgType("d"); }
  14. SecurityDefinition(
  15. const FIX::SecurityReqID& aSecurityReqID,
  16. const FIX::SecurityResponseID& aSecurityResponseID,
  17. const FIX::TotalNumSecurities& aTotalNumSecurities )
  18. : Message(MsgType())
  19. {
  20. set(aSecurityReqID);
  21. set(aSecurityResponseID);
  22. set(aTotalNumSecurities);
  23. }
  24. FIELD_SET(*this, FIX::SecurityReqID);
  25. FIELD_SET(*this, FIX::SecurityResponseID);
  26. FIELD_SET(*this, FIX::SecurityResponseType);
  27. FIELD_SET(*this, FIX::TotalNumSecurities);
  28. FIELD_SET(*this, FIX::Symbol);
  29. FIELD_SET(*this, FIX::SymbolSfx);
  30. FIELD_SET(*this, FIX::SecurityID);
  31. FIELD_SET(*this, FIX::IDSource);
  32. FIELD_SET(*this, FIX::SecurityType);
  33. FIELD_SET(*this, FIX::MaturityMonthYear);
  34. FIELD_SET(*this, FIX::MaturityDay);
  35. FIELD_SET(*this, FIX::PutOrCall);
  36. FIELD_SET(*this, FIX::StrikePrice);
  37. FIELD_SET(*this, FIX::OptAttribute);
  38. FIELD_SET(*this, FIX::ContractMultiplier);
  39. FIELD_SET(*this, FIX::CouponRate);
  40. FIELD_SET(*this, FIX::SecurityExchange);
  41. FIELD_SET(*this, FIX::Issuer);
  42. FIELD_SET(*this, FIX::EncodedIssuerLen);
  43. FIELD_SET(*this, FIX::EncodedIssuer);
  44. FIELD_SET(*this, FIX::SecurityDesc);
  45. FIELD_SET(*this, FIX::EncodedSecurityDescLen);
  46. FIELD_SET(*this, FIX::EncodedSecurityDesc);
  47. FIELD_SET(*this, FIX::Currency);
  48. FIELD_SET(*this, FIX::TradingSessionID);
  49. FIELD_SET(*this, FIX::Text);
  50. FIELD_SET(*this, FIX::EncodedTextLen);
  51. FIELD_SET(*this, FIX::EncodedText);
  52. FIELD_SET(*this, FIX::NoRelatedSym);
  53. class NoRelatedSym: public FIX::Group
  54. {
  55. public:
  56. NoRelatedSym() : FIX::Group(146,311,FIX::message_order(311,312,309,305,310,313,314,315,316,317,436,435,308,306,362,363,307,364,365,319,54,318,0)) {}
  57. FIELD_SET(*this, FIX::UnderlyingSymbol);
  58. FIELD_SET(*this, FIX::UnderlyingSymbolSfx);
  59. FIELD_SET(*this, FIX::UnderlyingSecurityID);
  60. FIELD_SET(*this, FIX::UnderlyingIDSource);
  61. FIELD_SET(*this, FIX::UnderlyingSecurityType);
  62. FIELD_SET(*this, FIX::UnderlyingMaturityMonthYear);
  63. FIELD_SET(*this, FIX::UnderlyingMaturityDay);
  64. FIELD_SET(*this, FIX::UnderlyingPutOrCall);
  65. FIELD_SET(*this, FIX::UnderlyingStrikePrice);
  66. FIELD_SET(*this, FIX::UnderlyingOptAttribute);
  67. FIELD_SET(*this, FIX::UnderlyingContractMultiplier);
  68. FIELD_SET(*this, FIX::UnderlyingCouponRate);
  69. FIELD_SET(*this, FIX::UnderlyingSecurityExchange);
  70. FIELD_SET(*this, FIX::UnderlyingIssuer);
  71. FIELD_SET(*this, FIX::EncodedUnderlyingIssuerLen);
  72. FIELD_SET(*this, FIX::EncodedUnderlyingIssuer);
  73. FIELD_SET(*this, FIX::UnderlyingSecurityDesc);
  74. FIELD_SET(*this, FIX::EncodedUnderlyingSecurityDescLen);
  75. FIELD_SET(*this, FIX::EncodedUnderlyingSecurityDesc);
  76. FIELD_SET(*this, FIX::RatioQty);
  77. FIELD_SET(*this, FIX::Side);
  78. FIELD_SET(*this, FIX::UnderlyingCurrency);
  79. };
  80. };
  81. }
  82. #endif