QuickFix源码研究1

来源:互联网 发布:淘宝职业骗保师现状 编辑:程序博客网 时间:2024/05/16 15:59

1. FixValues.h 类定义了Field;

源码如下:

namespace FIX{  const int DeliveryForm_BOOKENTRY = 1;  const int DeliveryForm_BEARER = 2;  const int DeliveryForm_BOOK_ENTRY = 1;  const int ExecRestatementReason_GTRENEW = 1;  const int ExecRestatementReason_WAREHOUSE_RECAP = 10;  const int ExecRestatementReason_CANCELEDNOTBEST = 9;

2.Values.h 类主要定义了BeginString_FIXTXX和SessionRejectReason_XXX;

3.FixField的代码如下:

  DEFINE_STRING(RelatedPartyID);  DEFINE_INT(MaxPriceLevels);  DEFINE_DATA(DerivativeEncodedIssuer);  DEFINE_NUMINGROUP(NoCompIDs);  DEFINE_STRING(SettlInstRefID);

这里的
DEFINE_XXX是神马玩意呢?
戳进去->
#define DEFINE_STRING( NAME ) \  DEFINE_FIELD_CLASS(NAME, String, FIX::STRING)
然后->
#define DEFINE_FIELD_CLASS( NAME, TOK, TYPE ) \DEFINE_FIELD_CLASS_NUM(NAME, TOK, TYPE, FIELD::NAME)