OpenMAMA
MamdaOrderBookBasicDelta.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 MamdaOrderBookBasicDeltaH
23 #define MamdaOrderBookBasicDeltaH
24 
26 #include <mamda/MamdaBasicEvent.h>
29 #include <iosfwd>
30 
31 using std::ostream;
32 
33 namespace Wombat
34 {
35 
36  class MamdaOrderBookPriceLevel;
37  class MamdaOrderBookEntry;
38 
45  class MAMDAOPTExpDLL MamdaOrderBookBasicDelta
46  {
47  public:
49  { clear(); }
52 
56  virtual void clear ();
57 
61  virtual void set (MamdaOrderBookEntry* entry,
63  mama_quantity_t plDeltaSize,
65  MamdaOrderBookEntry::Action entryAction);
66 
75  { mPriceLevel = level; }
76 
83  { mPlAction = action; }
84 
90  void setPlDeltaSize (mama_quantity_t size)
91  { mPlDeltaSize = size; }
92 
93 
100  void applyPlDeltaSize (mama_quantity_t size)
101  { mPlDeltaSize += size; }
102 
109  { return mPriceLevel; }
110 
117  { return mEntry; }
118 
124  mama_quantity_t getPlDeltaSize () const
125  { return mPlDeltaSize; }
126 
133  { return mPlAction; }
134 
141  { return mEntryAction; }
142 
148  { mEntryAction = action; }
149 
155  virtual const MamdaOrderBook* getOrderBook() const;
156 
162  void dump(ostream& output) const;
163 
164  protected:
167  mama_quantity_t mPlDeltaSize;
170 
171  private:
172  // No copy constructor nor assignment operator.
174  };
175 
176 } // namespace
177 
178 #endif // MamdaOrderBookBasicDeltaH
virtual ~MamdaOrderBookBasicDelta()
Definition: MamdaOrderBookBasicDelta.h:51
void setPriceLevel(MamdaOrderBookPriceLevel *level)
Set the MamdaOrderBookPriceLevel object to which this entry belongs.
Definition: MamdaOrderBookBasicDelta.h:74
MamdaOrderBookPriceLevel::Action getPlDeltaAction() const
Get the delta action with respect to the price level.
Definition: MamdaOrderBookBasicDelta.h:132
MamdaOrderBookEntry is a class that represents an entry within a price level of an order book...
Definition: MamdaOrderBookEntry.h:48
MamdaOrderBookEntry::Action getEntryDeltaAction() const
Get the delta action with respect to the entry.
Definition: MamdaOrderBookBasicDelta.h:140
MamdaOrderBookPriceLevel::Action mPlAction
Definition: MamdaOrderBookBasicDelta.h:168
MamdaOrderBookPriceLevel * getPriceLevel() const
Get the MamdaOrderBookPriceLevel object related to this basic delta.
Definition: MamdaOrderBookBasicDelta.h:108
MamdaOrderImbalanceUpdate is an interface that provides access to order imbalance related fields...
Definition: MamdaAuctionFields.h:29
mama_quantity_t mPlDeltaSize
Definition: MamdaOrderBookBasicDelta.h:167
MamdaOrderBookEntry * getEntry() const
Get the MamdaOrderBookEntry object related to this basic delta.
Definition: MamdaOrderBookBasicDelta.h:116
void setEntryDeltaAction(MamdaOrderBookEntry::Action action)
Get the delta action with respect to the entry.
Definition: MamdaOrderBookBasicDelta.h:147
MamdaOrderBook is a class that provides order book functionality, including iterators over price leve...
Definition: MamdaOrderBook.h:47
MamdaOrderBookEntry::Action mEntryAction
Definition: MamdaOrderBookBasicDelta.h:169
MamdaOrderBookEntry * mEntry
Definition: MamdaOrderBookBasicDelta.h:166
void applyPlDeltaSize(mama_quantity_t size)
Apply the price level delta size to the existing size, giving the net effect.
Definition: MamdaOrderBookBasicDelta.h:100
MamdaOrderBookBasicDelta is a class that saves information about a basic order book delta...
Definition: MamdaOrderBookBasicDelta.h:45
void setPlDeltaSize(mama_quantity_t size)
Set the price level delta size.
Definition: MamdaOrderBookBasicDelta.h:90
void setPlDeltaAction(MamdaOrderBookPriceLevel::Action action)
Set the delta action with respect to the price level.
Definition: MamdaOrderBookBasicDelta.h:82
Action
An enumeration for book entry actions.
Definition: MamdaOrderBookEntry.h:57
mama_quantity_t getPlDeltaSize() const
Get the difference in size for the price level.
Definition: MamdaOrderBookBasicDelta.h:124
Action
An enumeration for price level actions.
Definition: MamdaOrderBookPriceLevel.h:53
MamdaOrderBookPriceLevel is a class that provides a price level type for order books.
Definition: MamdaOrderBookPriceLevel.h:44
MamdaOrderBookPriceLevel * mPriceLevel
Definition: MamdaOrderBookBasicDelta.h:165
MamdaOrderBookBasicDelta()
Definition: MamdaOrderBookBasicDelta.h:48


© 2012 Linux Foundation