现在的位置: 首页 > 综合 > 正文

QuickFix源码研究1

2012年12月01日 ⁄ 综合 ⁄ 共 693字 ⁄ 字号 评论关闭

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)

抱歉!评论已关闭.