Files
2017-10-15 17:59:31 -04:00

59 lines
1.6 KiB
C++

#ifndef FIX40_MESSAGES_H
#define FIX40_MESSAGES_H
#include "../Message.h"
#include "../Group.h"
namespace FIX40
{
class Header : public FIX::Header
{
public:
FIELD_SET(*this, FIX::BeginString);
FIELD_SET(*this, FIX::BodyLength);
FIELD_SET(*this, FIX::MsgType);
FIELD_SET(*this, FIX::SenderCompID);
FIELD_SET(*this, FIX::TargetCompID);
FIELD_SET(*this, FIX::OnBehalfOfCompID);
FIELD_SET(*this, FIX::DeliverToCompID);
FIELD_SET(*this, FIX::SecureDataLen);
FIELD_SET(*this, FIX::SecureData);
FIELD_SET(*this, FIX::MsgSeqNum);
FIELD_SET(*this, FIX::SenderSubID);
FIELD_SET(*this, FIX::TargetSubID);
FIELD_SET(*this, FIX::OnBehalfOfSubID);
FIELD_SET(*this, FIX::DeliverToSubID);
FIELD_SET(*this, FIX::PossDupFlag);
FIELD_SET(*this, FIX::PossResend);
FIELD_SET(*this, FIX::SendingTime);
FIELD_SET(*this, FIX::OrigSendingTime);
};
class Trailer : public FIX::Trailer
{
public:
FIELD_SET(*this, FIX::SignatureLength);
FIELD_SET(*this, FIX::Signature);
FIELD_SET(*this, FIX::CheckSum);
};
class Message : public FIX::Message
{
public:
Message( const FIX::MsgType& msgtype )
: FIX::Message(
FIX::BeginString("FIX.4.0"), msgtype )
{}
Message(const FIX::Message& m) : FIX::Message(m) {}
Message(const Message& m) : FIX::Message(m) {}
Header& getHeader() { return (Header&)m_header; }
const Header& getHeader() const { return (Header&)m_header; }
Trailer& getTrailer() { return (Trailer&)m_trailer; }
const Trailer& getTrailer() const { return (Trailer&)m_trailer; }
};
}
#endif