This file is indexed.

/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