RegistrationInstructions.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #ifndef FIX43_REGISTRATIONINSTRUCTIONS_H
  2. #define FIX43_REGISTRATIONINSTRUCTIONS_H
  3. #include "Message.h"
  4. namespace FIX43
  5. {
  6. class RegistrationInstructions : public Message
  7. {
  8. public:
  9. RegistrationInstructions() : Message(MsgType()) {}
  10. RegistrationInstructions(const FIX::Message& m) : Message(m) {}
  11. RegistrationInstructions(const Message& m) : Message(m) {}
  12. RegistrationInstructions(const RegistrationInstructions& m) : Message(m) {}
  13. static FIX::MsgType MsgType() { return FIX::MsgType("o"); }
  14. RegistrationInstructions(
  15. const FIX::RegistID& aRegistID,
  16. const FIX::RegistTransType& aRegistTransType,
  17. const FIX::RegistRefID& aRegistRefID )
  18. : Message(MsgType())
  19. {
  20. set(aRegistID);
  21. set(aRegistTransType);
  22. set(aRegistRefID);
  23. }
  24. FIELD_SET(*this, FIX::RegistID);
  25. FIELD_SET(*this, FIX::RegistTransType);
  26. FIELD_SET(*this, FIX::RegistRefID);
  27. FIELD_SET(*this, FIX::ClOrdID);
  28. FIELD_SET(*this, FIX::NoPartyIDs);
  29. class NoPartyIDs: public FIX::Group
  30. {
  31. public:
  32. NoPartyIDs() : FIX::Group(453,448,FIX::message_order(448,447,452,523,0)) {}
  33. FIELD_SET(*this, FIX::PartyID);
  34. FIELD_SET(*this, FIX::PartyIDSource);
  35. FIELD_SET(*this, FIX::PartyRole);
  36. FIELD_SET(*this, FIX::PartySubID);
  37. };
  38. FIELD_SET(*this, FIX::Account);
  39. FIELD_SET(*this, FIX::RegistAcctType);
  40. FIELD_SET(*this, FIX::TaxAdvantageType);
  41. FIELD_SET(*this, FIX::OwnershipType);
  42. FIELD_SET(*this, FIX::NoRegistDtls);
  43. class NoRegistDtls: public FIX::Group
  44. {
  45. public:
  46. NoRegistDtls() : FIX::Group(473,509,FIX::message_order(509,511,474,482,539,522,486,475,0)) {}
  47. FIELD_SET(*this, FIX::RegistDetls);
  48. FIELD_SET(*this, FIX::RegistEmail);
  49. FIELD_SET(*this, FIX::MailingDtls);
  50. FIELD_SET(*this, FIX::MailingInst);
  51. FIELD_SET(*this, FIX::NoNestedPartyIDs);
  52. class NoNestedPartyIDs: public FIX::Group
  53. {
  54. public:
  55. NoNestedPartyIDs() : FIX::Group(539,524,FIX::message_order(524,525,538,545,0)) {}
  56. FIELD_SET(*this, FIX::NestedPartyID);
  57. FIELD_SET(*this, FIX::NestedPartyIDSource);
  58. FIELD_SET(*this, FIX::NestedPartyRole);
  59. FIELD_SET(*this, FIX::NestedPartySubID);
  60. };
  61. FIELD_SET(*this, FIX::OwnerType);
  62. FIELD_SET(*this, FIX::DateOfBirth);
  63. FIELD_SET(*this, FIX::InvestorCountryOfResidence);
  64. };
  65. FIELD_SET(*this, FIX::NoDistribInsts);
  66. class NoDistribInsts: public FIX::Group
  67. {
  68. public:
  69. NoDistribInsts() : FIX::Group(510,477,FIX::message_order(477,512,478,498,499,500,501,0)) {}
  70. FIELD_SET(*this, FIX::DistribPaymentMethod);
  71. FIELD_SET(*this, FIX::DistribPercentage);
  72. FIELD_SET(*this, FIX::CashDistribCurr);
  73. FIELD_SET(*this, FIX::CashDistribAgentName);
  74. FIELD_SET(*this, FIX::CashDistribAgentCode);
  75. FIELD_SET(*this, FIX::CashDistribAgentAcctNumber);
  76. FIELD_SET(*this, FIX::CashDistribPayRef);
  77. };
  78. };
  79. }
  80. #endif