/usr/include/mamda/MamdaBasicEvent.h is in libmamda-dev 2.2.2.1-10.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 | /* $Id$
*
* OpenMAMA: The open middleware agnostic messaging API
* Copyright (C) 2011 NYSE Technologies, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301 USA
*/
#ifndef MamdaBasicEventH
#define MamdaBasicEventH
#include <mamda/MamdaConfig.h>
#include <mamda/MamdaFieldState.h>
#include <mama/mamacpp.h>
namespace Wombat
{
/**
* MamdaBasicEvent is a superclass interface that provides access to
* common event related fields. Events types include trades, quotes,
* order book updates, closing summaries, etc. See the individual
* subclasses for specific information about each event type.
*
* Note: Different types of time stamps are available representing the
* time that the event (trade ,quote,etc) actually occurred, the time
* the data source/exchange reported it, and the time the NYSE Technologies
* feed handler applied an action to the given data item (record, order
* book, etc.). Many feeds to not provide a distinction between the
* event time and the source time (they may be the same) and the
* granularity of time stamps also varies between data sources.
*/
class MAMDAExpDLL MamdaBasicEvent
{
public:
/**
* Get the instruments string symbol.
*
* @return Symbol. This is the "well-known" symbol for the
* security, including any symbology mapping performed by the
* publisher.
*/
virtual const char* getSymbol() const = 0;
/**
* Get the string symbol field state
*
* @return MamdaFieldState. An enumeration representing field state.
*/
virtual MamdaFieldState getSymbolFieldState() const = 0;
/**
* Get the participant identifier.
*
* @return Participant ID. This may be an exchange identifier, a
* market maker ID, etc., or NULL (if this is not related to any
* specific participant).
*/
virtual const char* getPartId() const = 0;
/**
* Get the participant identifier field state.
*
* @return MamdaFieldState. An enumeration representing field state.
*/
virtual MamdaFieldState getPartIdFieldState() const = 0;
/**
* Get the event sequence number.
*
* @return Source sequence number. The exchange generated
* sequence number.
*/
virtual mama_seqnum_t getEventSeqNum() const = 0;
/**
* Get the event sequence number field state.
* @return MamdaFieldState. An enumeration representing field state.
*/
virtual MamdaFieldState getEventSeqNumFieldState() const = 0;
/**
* Get the event time.
*
* @return Event time. Typically, when the event actually
* occurred. This is often the same as the "source time", because
* many feeds do not distinguish between the actual event time and
* when the exchange sent the message.
*/
virtual const MamaDateTime& getEventTime() const = 0;
/**
* Get the event time field state.
*
* @return MamdaFieldState. An enumeration representing field state.
*/
virtual MamdaFieldState getEventTimeFieldState() const = 0;
/**
* Get the source time.
*
* @return Source time. Typically, the exchange generated feed
* time stamp. This is often the same as the "event time",
* because many feeds do not distinguish between the actual event
* time and when the exchange sent the message.
*/
virtual const MamaDateTime& getSrcTime() const = 0;
/**
* Get the source time field state
*
* @return MamdaFieldState. An enumeration representing field state.
*/
virtual MamdaFieldState getSrcTimeFieldState() const = 0;
/**
* Get the activity time.
*
* @return Activity time. A feed handler generated time stamp
* representing when the data item was last updated.
*/
virtual const MamaDateTime& getActivityTime() const = 0;
/**
* Get the activity time field state
*
* @return MamdaFieldState. An enumeration representing field state.
*/
virtual MamdaFieldState getActivityTimeFieldState() const = 0;
/**
* Get the line time.
*
* @return Line time. A feed handler (or similar publisher) time
* stamp representing the time that such publisher received the
* update message pertaining to the event. If clocks are properly
* synchronized and the source time (see above) is accurate
* enough, then the difference between the source time and line
* time is the latency between the data source and the feed
* handler.
*/
virtual const MamaDateTime& getLineTime() const = 0;
/**
* Get the line time of the update.
*
* @return MamdaFieldState. An enumeration representing field state.
*/
virtual MamdaFieldState getLineTimeFieldState() const = 0;
/**
* Get the send time.
*
* @return Send time. A feed handler (or similar publisher) time
* stamp representing the time that such publisher sent the
* current message. The difference between the line time and send
* time is the latency within the feed handler itself. Also, if
* clocks are properly synchronized then the difference between
* the send time and current time is the latency within the market
* data distribution framework (i.e. MAMA and the underlying
* middleware). See MAMA API: MamaDateTime::currentTime()).
*/
virtual const MamaDateTime& getSendTime() const = 0;
/**
* Get the send time field state
*
* @return MamdaFieldState. An enumeration representing field state.
*/
virtual MamdaFieldState getSendTimeFieldState() const = 0;
/**
* Get the message qualifier.
*
* @return Message Qualifier. The message qualifier provides information
* in relation to messages duplicate, delayed or out-of-sequence status.
*/
virtual const MamaMsgQual& getMsgQual() const = 0;
/**
* Get the message qualifier field state.
*
* @return Message Qualifier. The message qualifier provides information
* in relation to messages duplicate, delayed or out-of-sequence status.
*/
virtual MamdaFieldState getMsgQualFieldState() const = 0;
/**
* Destructor.
*/
virtual ~MamdaBasicEvent () {};
};
} // namespace
#endif // MamdaBasicEventH
|