This file is indexed.

/usr/include/libqapt/debfile.h is in libqapt-dev 2.1.70-0ubuntu4.

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
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
/***************************************************************************
 *   Copyright © 2011 Jonathan Thomas <echidnaman@kubuntu.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) version 3 or any later version        *
 *   accepted by the membership of KDE e.V. (or its successor approved     *
 *   by the membership of KDE e.V.), which shall act as a proxy            *
 *   defined in Section 14 of version 3 of the license.                    *
 *                                                                         *
 *   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 QAPT_DEBFILE_H
#define QAPT_DEBFILE_H

#include <QtCore/QStringList>

#include "dependencyinfo.h"

namespace QApt {

/**
 * DebFilePrivate is a class containing all private members of the DebFile class
 */
class DebFilePrivate;

/**
 * The DebFile class is an interface to obtain data from a Debian package
 * archive.
 *
 * @author Jonathan Thomas
 * @since 1.2
 */
class Q_DECL_EXPORT DebFile
{

public:
   /**
    * Default constructor
    */
    explicit DebFile(const QString &filePath);

   /**
    * Default destructor
    */
    ~DebFile();

    bool isValid() const;

   /**
    * Returns the file path of the archive
    *
    * @return The file path of the archive
    */
    QString filePath() const;

   /**
    * Returns the name of the package in this archive
    *
    * @return The name of the package in this archive
    */
    QString packageName() const;

   /**
    * Returns the source package corresponding to the package in this archive
    *
    * @return The source package
    */
    QString sourcePackage() const;

   /**
    * Returns the version of the package that this archive provides
    *
    * @return The version of the package this DebFile contains
    */
    QString version() const;

   /**
    * Returns the CPU architecture that this archive can be installed on
    *
    * For santiy checks, the "APT::Architecture" APT configuration entry
    * can be compared with the output of this function to confirm that the
    * DebFile is compatible with the host computer. DebFiles with an
    * architecture of "all" can be installed on any architecture.
    *
    * @return The archictecure the DebFile is meant for
    */
    QString architecture() const;

   /**
    * Returns of the maintainer of the package in this archive
    *
    * @return The name and email of the maintainer
    */
    QString maintainer() const;

   /**
    * Returns the categorical section where the archive's package resides
    *
    * @return The section of the archive's package
    */
    QString section() const;

   /**
    * Returns the update priority of the archive's package
    *
    * @return The update priority
    */
    QString priority() const;

   /**
    * Returns the homepage of the archive's package
    *
    * @return The homepage
    */
    QString homepage() const;

   /**
    * Returns the one-line description of the archive's package
    *
    * @return The short description
    */
    QString shortDescription() const;

   /**
    * Returns the full description of the archive's package
    *
    * @return The long description
    */
    QString longDescription() const;

   /**
    * Returns the specified field of the package's debian/control file
    *
    * This function can be used to return data from custom control fields
    * which do not have an official function inside APT to retrieve them.
    *
    * @return The value of the specified control field
    */
    QString controlField(const QLatin1String &name) const;

    /** Overload for QString controlField(const QLatin1String &name) const; **/
    QString controlField(const QString &name) const;

   /**
    * Returns the md5sum of the archive
    *
    * @return This archive's md5sum
    */
    QByteArray md5Sum() const;

   /**
    * Returns a list of files that this archive contains
    *
    * @return The file list as a @c QStringList
    */
    QStringList fileList() const;

   /**
    * Returns a list of potential app icons in this archive
    *
    * @return A @c QStringList of icon paths
    */
    QStringList iconList() const;

   /**
    * Returns the installed size of the package that this archive contains
    *
    * @return The package's installed size as a 64-bit integer
    */
    qint64 installedSize() const;

    QList<DependencyItem> depends() const;

    QList<DependencyItem> preDepends() const;

    QList<DependencyItem> suggests() const;

    QList<DependencyItem> recommends() const;

    QList<DependencyItem> conflicts() const;

    QList<DependencyItem> replaces() const;

    QList<DependencyItem> obsoletes() const;

    QList<DependencyItem> breaks() const;

    QList<DependencyItem> enhances() const;

   /**
    * Extracts the data files of the archive to the given directory.
    *
    * If no target directory is given, the current working directory will be
    * used.
    *
    * @param directory The directory to extract to
    *
    * @return @c true on success, @c false on failure
    */
    bool extractArchive(const QString &directory = QString()) const;

   /**
    * Extracts the given file from the package archive to the given destination
    *
    * @param fileName The file to extract from the archive
    * @param destination The destination to place the extracted file
    *
    * @return @c true on success, @c false on failure
    */
    bool extractFileFromArchive(const QString &fileName, const QString &destination) const;

private:
    DebFilePrivate *const d;
};

}

#endif