OpenMAMA
MamdaOrderBookFields.h
Go to the documentation of this file.
1 /* $Id$
2  *
3  * OpenMAMA: The open middleware agnostic messaging API
4  * Copyright (C) 2011 NYSE Technologies, Inc.
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19  * 02110-1301 USA
20  */
21 
22 #ifndef MamdaOrderBookFieldsH
23 #define MamdaOrderBookFieldsH
24 
26 #include <mama/types.h>
27 
28 namespace Wombat
29 {
30 
31  class MamaFieldDescriptor;
32  class MamaDictionary;
33 
42  class MAMDAOPTExpDLL MamdaOrderBookFields
43  {
44  public:
45  static const MamaFieldDescriptor* BOOK_TIME;
46  static const MamaFieldDescriptor* NUM_LEVELS;
47  static const MamaFieldDescriptor* BOOK_PROPERTIES;
48  static const MamaFieldDescriptor* BOOK_TYPE;
49  static const MamaFieldDescriptor* BOOK_PROP_MSG_TYPE;
50  static const MamaFieldDescriptor* PRICE_LEVELS;
51  static const MamaFieldDescriptor* PL_ACTION;
52  static const MamaFieldDescriptor* PL_PRICE;
53  static const MamaFieldDescriptor* PL_SIDE;
54  static const MamaFieldDescriptor* PL_SIZE;
55  static const MamaFieldDescriptor* PL_SIZE_CHANGE;
56  static const MamaFieldDescriptor* PL_TIME;
57  static const MamaFieldDescriptor* PL_NUM_ENTRIES;
58  static const MamaFieldDescriptor* PL_NUM_ATTACH;
59  static const MamaFieldDescriptor* PL_ENTRIES;
60  static const MamaFieldDescriptor* PL_PROPERTIES;
61  static const MamaFieldDescriptor* PL_PROP_MSG_TYPE;
62  static const MamaFieldDescriptor* ENTRY_ID;
63  static const MamaFieldDescriptor* ENTRY_ACTION;
64  static const MamaFieldDescriptor* ENTRY_REASON;
65  static const MamaFieldDescriptor* ENTRY_SIZE;
66  static const MamaFieldDescriptor* ENTRY_TIME;
67  static const MamaFieldDescriptor* ENTRY_STATUS;
68  static const MamaFieldDescriptor* ENTRY_PROPERTIES;
69  static const MamaFieldDescriptor* ENTRY_PROP_MSG_TYPE;
70  static const MamaFieldDescriptor* BID_MARKET_ORDERS;
71  static const MamaFieldDescriptor* ASK_MARKET_ORDERS;
72  static const MamaFieldDescriptor** PRICE_LEVEL;
73  static int PRICE_LEVEL_LENGTH;
74  static const MamaFieldDescriptor** PL_ENTRY;
75  static int PL_ENTRY_LENGTH;
76  static const MamaFieldDescriptor* BOOK_CONTRIBUTORS;
77 
78 
79  // calling setDictionary will also set the Common Fields
80  static void setDictionary (const MamaDictionary& dictionary);
81  static void reset ();
82  static mama_u16_t getMaxFid();
83  static bool isSet ();
84 
89  static int getNumLevelFields ();
90 
95  static int getNumEntryFields ();
96 
101  static bool getHasVectorFields();
102 
107  static bool getHasFixedLevelFields();
108 
111  static const MamaDictionary& getDictionary();
112  };
113 
114 } // namespace Wombat
115 
116 #endif // MamdaOrderBookFieldsH


© 2012 Linux Foundation