This file is indexed.

/usr/include/tse3/FlagTrack.h is in libtse3-dev 0.3.1-5.

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
/*
 * @(#)FlagTrack.h 3.00 19 May 1999
 *
 * Copyright (c) 2000 Pete Goodliffe (pete@cthree.org)
 *
 * This file is part of TSE3 - the Trax Sequencer Engine version 3.00.
 *
 * This library is modifiable/redistributable under the terms of the GNU
 * General Public License.
 *
 * You should have received a copy of the GNU General Public License along
 * with this program; see the file COPYING. If not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 *
 */

#ifndef TSE3_FLAGTRACK_H
#define TSE3_FLAGTRACK_H

#include "tse3/listen/FlagTrack.h"

#include "tse3/Notifier.h"
#include "tse3/Serializable.h"
#include "tse3/EventTrack.h"

#include <string>

namespace TSE3
{
    /**
     * Flags are simply named time points in the @ref Song, held in the
     * @ref FlagTrack. This class defines the type that is used to create
     * Flag events, which are of type @ref Event<@ref Flag>.
     *
     * Flag is a value type.
     *
     * @short   A flag
     * @author  Pete Goodliffe
     * @version 3.00
     * @see     FlagTrack
     * @see     Event
     */
    class Flag
    {
        public:

            /**
             * Create a Flag with no title
             */
            Flag() {}

            /**
             * Create a Flag with the given title.
             *
             * @param title The Flag's title
             */
            Flag(const std::string &t) : _title(t) {}

            /**
             * Returns the 'title' of this Flag.
             */
            const std::string &title() const { return _title; }

            int operator==(const Flag &f) const
            {
                return _title == f._title;
            }

        private:

            std::string _title;
    };

    /**
     * The FlagTrack provides a simple time ordered list of @ref Flag
     * @ref Events in the @ref Song. These are just marked time positions.
     *
     * There is one FlagTrack per Song.
     *
     * @sect Command classes
     *
     * Use the following command classes to manipute this object in a undo/redo
     * environment.
     *
     *     @li @ref TSE3::Cmd::FlagTrack_Add
     *
     * @short   A list of Flag events
     * @author  Pete Goodliffe
     * @version 3.00
     * @see     Event
     * @see     Flag
     */
    class FlagTrack : public EventTrack<Flag>,
                      public Serializable
    {
        public:

            /**
             * Creates an empty FlagTrack.
             */
            FlagTrack();

            virtual ~FlagTrack();

            /**
             * @reimplemented
             */
            virtual PlayableIterator *iterator(Clock index);

            /**
             * @reimplemented
             */
            virtual Clock lastClock() const;

            /**
             * @reimplemented
             */
            virtual void save(std::ostream &o, int i) const;

            /**
             * @reimplemented
             */
            virtual void load(std::istream &i, SerializableLoadInfo &info);

        private:

            FlagTrack &operator=(const FlagTrack &);
            FlagTrack(const FlagTrack &);

            /**
             * Used by load to read events
             */
            void loadEvents(std::istream &i, int filePPQN);
    };
}

#endif