This file is indexed.

/usr/include/mamda/MamdaTradeHandler.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
/* $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 MamdaTradeHandlerH
#define MamdaTradeHandlerH

#include <mamda/MamdaConfig.h>
#include <mamda/MamdaTradeListener.h>
#include <mama/mamacpp.h>

namespace Wombat
{

    /**
     * MamdaTradeHandler is an interface for applications that want to
     * have an easy way to handle trade updates.  The interface defines
     * callback methods for different types of trade-related events:
     * trades, errors/cancels, corrections, recaps and closing reports.
     */
    class MAMDAExpDLL MamdaTradeHandler
    {
    public:

        /**
         * Method invoked when the current last-trade information for the
         * security is available.  The reason for the invocation may be
         * any of the following:
         * - Initial image.
         * - Recap update (e.g., after server fault tolerant event or data
         *   quality event.)
         * - After stale status removed.
         *
         * @param subscription The subscription which received the update.
         * @param listener     The listener which invoked the callback.
         * @param msg          The MamaMsg that triggered this invocation.
         * @param recap        Access to the details in the trade recap.
         */
        virtual void onTradeRecap (
            MamdaSubscription*      subscription,
            MamdaTradeListener&     listener,
            const MamaMsg&          msg,
            const MamdaTradeRecap&  recap) = 0;

        /**
         * Method invoked when a trade is reported.
         *
         * @param subscription    The subscription which received this update.
         * @param listener        The listener which invoked this callback.
         * @param msg             The MamaMsg that triggered this invocation.
         * @param event           Access to the trade report event details.
         * @param recap           Access to all trade related fields.
         */
        virtual void onTradeReport (
            MamdaSubscription*      subscription,
            MamdaTradeListener&     listener,
            const MamaMsg&          msg,
            const MamdaTradeReport& event,
            const MamdaTradeRecap&  recap) = 0;

        /**
         * Method invoked when a gap in trade reports is discovered.
         *
         * @param subscription The subscription which detected the gap.
         * @param listener     The listener which invoked this callback.
         * @param msg          The MamaMsg which triggered this invocation.
         * @param event        Access to the gap event details.
         * @param recap        Access to the complete trade information.
         */
        virtual void onTradeGap (
            MamdaSubscription*              subscription,
            MamdaTradeListener&             listener,
            const MamaMsg&                  msg,
            const MamdaTradeGap&            event,
            const MamdaTradeRecap&          recap) = 0;

        /**
         * Method invoked when a trade cancel or error is reported.
         *
         * @param subscription The subscription which received the update.
         * @param listener     The listener which invoked this callback.
         * @param msg          The MamaMsg that triggered this invocation.
         * @param event        Access to the details of the trade cancel or error
         * event.
         * @param recap        Access to the full trade details.
         */
        virtual void onTradeCancelOrError (
            MamdaSubscription*              subscription,
            MamdaTradeListener&             listener,
            const MamaMsg&                  msg,
            const MamdaTradeCancelOrError&  event,
            const MamdaTradeRecap&          recap) = 0;

        /**
         * Method invoked when a trade correction is reported.
         *
         * @param subscription The subscription which received the update.
         * @param listener     The listener which invoked this callback.
         * @param msg          The MamaMsg that triggered this invocation.
         * @param event        Access to the trade correction event details.
         * @param recap        Access to the full trade details.
         */
        virtual void onTradeCorrection (
            MamdaSubscription*              subscription,
            MamdaTradeListener&             listener,
            const MamaMsg&                  msg,
            const MamdaTradeCorrection&     event,
            const MamdaTradeRecap&          recap) = 0;

        /**
         * Method invoked for a closing report.
         *
         * @param subscription The subscription which received the update.
         * @param listener     The listener which invoked this callback.
         * @param msg          The MamaMsg that triggered this invocation.
         * @param event        Access to the trade closing event details.
         * @param recap        Access to the full trade details.
         */
        virtual void onTradeClosing (
            MamdaSubscription*              subscription,
            MamdaTradeListener&             listener,
            const MamaMsg&                  msg,
            const MamdaTradeClosing&        event,
            const MamdaTradeRecap&          recap) = 0;

        /**
         * Method invoked for a message marked as out of sequence.
         * Listener must be configured to check the Msg Qualifier, i.e.,
         * call <code>setControlProcessingByMsgQual()</code> on listener
         * passing a value of true;
         *
         * @param subscription   The subscription which received the update.
         * @param listener       The trade listener which invoked this callback.
         * @param msg            The MamaMsg that triggered this invocation.
         * @param event          Details on the out of sequence trade event.
         * @param recap          Access to the full trade details.
         */
        virtual void onTradeOutOfSequence (
            MamdaSubscription*              subscription,
            MamdaTradeListener&             listener,
            const MamaMsg&                  msg,
            const MamdaTradeOutOfSequence&  event,
            const MamdaTradeRecap&          recap) = 0;

        /**
         * Method invoked for a message which is marked as possibly duplicate
         * Listener must be configured to check the Msg Qualifier, i.e.,
         * call <code>setControlProcessingByMsgQual</code> on listener
         * passing a value of true;
         *
         * @param subscription   The subscription which received the update.
         * @param listener       The trade listener which invoked this callback.
         * @param msg            The MamaMsg that triggered this invocation.
         * @param event          Details on the possibly duplicate trade event.
         * @param recap          Access to the full trade details.
         */
        virtual void onTradePossiblyDuplicate (
            MamdaSubscription*                  subscription,
            MamdaTradeListener&                 listener,
            const MamaMsg&                      msg,
            const MamdaTradePossiblyDuplicate&  event,
            const MamdaTradeRecap&              recap) = 0;
            
        virtual ~MamdaTradeHandler() {};
    };

} // namespace

#endif // MamdaTradeHandlerH