1 #ifndef FIX42_NEWS_H
2 #define FIX42_NEWS_H
3 
4 #include "Message.h"
5 
6 namespace FIX42
7 {
8 
9   class News : public Message
10   {
11   public:
News()12     News() : Message(MsgType()) {}
News(const FIX::Message & m)13     News(const FIX::Message& m) : Message(m) {}
News(const Message & m)14     News(const Message& m) : Message(m) {}
News(const News & m)15     News(const News& m) : Message(m) {}
MsgType()16     static FIX::MsgType MsgType() { return FIX::MsgType("B"); }
17 
News(const FIX::Headline & aHeadline)18     News(
19       const FIX::Headline& aHeadline )
20     : Message(MsgType())
21     {
22       set(aHeadline);
23     }
24 
25     FIELD_SET(*this, FIX::OrigTime);
26     FIELD_SET(*this, FIX::Urgency);
27     FIELD_SET(*this, FIX::Headline);
28     FIELD_SET(*this, FIX::EncodedHeadlineLen);
29     FIELD_SET(*this, FIX::EncodedHeadline);
30     FIELD_SET(*this, FIX::URLLink);
31     FIELD_SET(*this, FIX::RawDataLength);
32     FIELD_SET(*this, FIX::RawData);
33     FIELD_SET(*this, FIX::NoRoutingIDs);
34     class NoRoutingIDs: public FIX::Group
35     {
36     public:
NoRoutingIDs()37     NoRoutingIDs() : FIX::Group(215,216,FIX::message_order(216,217,0)) {}
38       FIELD_SET(*this, FIX::RoutingType);
39       FIELD_SET(*this, FIX::RoutingID);
40     };
41     FIELD_SET(*this, FIX::NoRelatedSym);
42     class NoRelatedSym: public FIX::Group
43     {
44     public:
NoRelatedSym()45     NoRelatedSym() : FIX::Group(146,46,FIX::message_order(46,65,48,22,167,200,205,201,202,206,231,223,207,106,348,349,107,350,351,0)) {}
46       FIELD_SET(*this, FIX::RelatdSym);
47       FIELD_SET(*this, FIX::SymbolSfx);
48       FIELD_SET(*this, FIX::SecurityID);
49       FIELD_SET(*this, FIX::IDSource);
50       FIELD_SET(*this, FIX::SecurityType);
51       FIELD_SET(*this, FIX::MaturityMonthYear);
52       FIELD_SET(*this, FIX::MaturityDay);
53       FIELD_SET(*this, FIX::PutOrCall);
54       FIELD_SET(*this, FIX::StrikePrice);
55       FIELD_SET(*this, FIX::OptAttribute);
56       FIELD_SET(*this, FIX::ContractMultiplier);
57       FIELD_SET(*this, FIX::CouponRate);
58       FIELD_SET(*this, FIX::SecurityExchange);
59       FIELD_SET(*this, FIX::Issuer);
60       FIELD_SET(*this, FIX::EncodedIssuerLen);
61       FIELD_SET(*this, FIX::EncodedIssuer);
62       FIELD_SET(*this, FIX::SecurityDesc);
63       FIELD_SET(*this, FIX::EncodedSecurityDescLen);
64       FIELD_SET(*this, FIX::EncodedSecurityDesc);
65     };
66     FIELD_SET(*this, FIX::LinesOfText);
67     class LinesOfText: public FIX::Group
68     {
69     public:
LinesOfText()70     LinesOfText() : FIX::Group(33,58,FIX::message_order(58,354,355,0)) {}
71       FIELD_SET(*this, FIX::Text);
72       FIELD_SET(*this, FIX::EncodedTextLen);
73       FIELD_SET(*this, FIX::EncodedText);
74     };
75   };
76 
77 }
78 
79 #endif
80