This file is indexed.

/usr/include/echonest5/CatalogUpdateEntry.h is in libechonest5-dev 2.3.1-0.3.

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
/****************************************************************************************
 * Copyright (c) 2010-2012 Leo Franchi <lfranchi@kde.org>                               *
 *                                                                                      *
 * This program is free software; you can redistribute it and/or modify it under        *
 * the terms of the GNU General Public License as published by the Free Software        *
 * Foundation; either version 2 of the License, or (at your option) any later           *
 * version.                                                                             *
 *                                                                                      *
 * This program 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 General Public License for more details.             *
 *                                                                                      *
 * You should have received a copy of the GNU General Public License along with         *
 * this program.  If not, see <http://www.gnu.org/licenses/>.                           *
 ****************************************************************************************/
#ifndef ECHONEST_CATALOG_ENTRY_H
#define ECHONEST_CATALOG_ENTRY_H

#include "echonest_export.h"
#include "Util.h"

#include <QByteArray>
#include <QSharedDataPointer>
#include <QString>
#include <QVector>

class CatalogUpdateEntryData;

namespace Echonest {

/**
 * This rather simple struct collects information about a status update
 */
typedef QVector< QPair< QByteArray, QString > > CatalogStatusItem;
typedef struct CatalogStatusStruct {
    CatalogTypes::TicketStatus status;
    QString details;

    int items_updated;
    CatalogStatusItem items; // List of [ item_id, info ]

//     int percent_complete;
    CatalogStatusStruct() : status( CatalogTypes::Unknown ), items_updated( -1 ) {}
} CatalogStatus;

/**
 * This class described a catalog entry for use in the Catalog update() call.
 *  All data fields are optional except Action, and only the ones specified will be sent.
 */
class ECHONEST_EXPORT CatalogUpdateEntry
{
public:
    CatalogUpdateEntry();
    CatalogUpdateEntry( CatalogTypes::Action action );
    virtual ~CatalogUpdateEntry();
    CatalogUpdateEntry( const CatalogUpdateEntry& other );
    CatalogUpdateEntry& operator=( const CatalogUpdateEntry& );

    /**
     * Optional, the item id for the catalog entry. hash( catalog_id + item_id )
     *  MUST be unique. If this is not set, a unique id will be generated internally.
     */
    QByteArray itemId() const;
    void setItemId( const QByteArray& id );

    /**
     * The type of action that this item represents, required.
     */
    CatalogTypes::Action action() const;
    void setAction( CatalogTypes::Action action );

    /**
     * The Echo Nest fingerprint.
     */
    QByteArray fingerprint() const;
    void setFingerprint( const QByteArray& id );

    // deprecated
    void setFingerpring( const QByteArray& id );
    /**
     * The song id. Rosetta id or Echo Nest ID.
     */
    QByteArray songId() const;
    void setSongId( const QByteArray& id );

    /**
     * The song name. Mutually exclusive with song id.
     */
    QString songName() const;
    void setSongName( const QString& name );

    /**
     * The artist id, either a rosetta stone ID or an Echo Nest ID.
     */
    QByteArray artistId() const;
    void setArtistId( const QByteArray& id );

    /**
     * The artist name, mutually exclusive with artist id.
     */
    QString artistName() const;
    void setArtistName( const QString& name );

    /**
     * The release, or album, name.
     */
    QString release() const;
    void setRelease( const QString& release );

    /**
     * The genre of the item.
     */
    QString genre() const;
    void setGenre( const QString& genre );

    /**
     * The track number.
     */
    int trackNumber() const;
    void setTrackNumber( int trackNum );

    /**
     * The disc number of this item.
     */
    int discNumber() const;
    void setDiscNumber( int disc );

    /**
     * The url or the local filename or remote url.
     */
    QString url() const;
    void setUrl( const QString& url );

    /**
     * If this song was marked as a favorite or not
     */
    bool favorite() const;
    void setFavorite( bool fav );

    /**
     * If this song was banned.
     */
    bool banned() const;
    void setBanned( bool banned );

    /**
     * The play count of this item.
     */
    int playCount() const;
    void setPlayCount( int playCount );

    /**
     * The skip count of this item.
     */
    int skipCount() const;
    void setSkipCount( int skipCount );

    /**
     * The rating of this item, from 1 to 10.
     */
    int rating() const;
    void setRating( int rating );

    bool favoriteSet() const;
    bool bannedSet() const;
private:
    QSharedDataPointer<CatalogUpdateEntryData> d;
};

typedef QVector<CatalogUpdateEntry> CatalogUpdateEntries;

}

#endif