This file is indexed.

/usr/include/libktorrent/interfaces/torrentfileinterface.h is in libktorrent-dev 1.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
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
/***************************************************************************
 *   Copyright (C) 2005 by Joris Guisson                                   *
 *   joris.guisson@gmail.com                                               *
 *                                                                         *
 *   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, write to the                         *
 *   Free Software Foundation, Inc.,                                       *
 *   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.             *
 ***************************************************************************/
#ifndef BTTORRENTFILEINTERFACE_H
#define BTTORRENTFILEINTERFACE_H

#include <qobject.h>
#include <qstring.h>
#include <ktorrent_export.h>
#include <util/constants.h>

class QTextCodec;

namespace bt
{

	/**
	 * @author Joris Guisson
	 * @brief Interface for a file in a multifile torrent
	 *
	 * This class is the interface for a file in a multifile torrent.
	*/
	class KTORRENT_EXPORT TorrentFileInterface : public QObject
	{
		Q_OBJECT
	public:
		/**
		 * Constructor, set the path and size.
		 * @param index The index of the file in the torrent
		 * @param path The path 
		 * @param size The size
		 */
		TorrentFileInterface(Uint32 index,const QString & path,Uint64 size);
		virtual ~TorrentFileInterface();
		
		enum FileType
		{
			UNKNOWN,
			AUDIO,
			VIDEO,
			NORMAL
		};

		/// Get the index of the file
		Uint32 getIndex() const {return index;}

		/// Get the path of the file
		QString getPath() const {return path;}
		
		/// Get the path of a file on disk
		QString getPathOnDisk() const {return path_on_disk;}
		
		/// Get the mount point of the file on disk
		QString getMountPoint() const;
		
		/// Set the mount point
		void setMountPoint(const QString & path) {mount_point = path;}
		
		/**
		 * Set the actual path of the file on disk. 
		 * @param p The path
		 */
		void setPathOnDisk(const QString & p) {path_on_disk = p;}
		
		/// Get user modified path (if isn't changed, the normal path is returned)
		QString getUserModifiedPath() const {return user_modified_path.isEmpty() ? path : user_modified_path;}
		
		/// Set the user modified path
		void setUserModifiedPath(const QString & p) {user_modified_path = p;}

		/// Get the size of the file
		Uint64 getSize() const {return size;}

		/// Get the index of the first chunk in which this file lies
		Uint32 getFirstChunk() const {return first_chunk;}
				
		/// Get the last chunk of the file
		Uint32 getLastChunk() const {return last_chunk;}
		
		/// Get the offset at which the file starts in the first chunk
		Uint64 getFirstChunkOffset() const {return first_chunk_off;}
		
		/// Get how many bytes the files takes up of the last chunk
		Uint64 getLastChunkSize() const {return last_chunk_size;}

		/// See if the TorrentFile is null.
		bool isNull() const {return path.isNull();}

		/// Set whether we have to not download this file
		virtual void setDoNotDownload(bool dnd) = 0;

		/// Whether or not we have to not download this file
		virtual bool doNotDownload() const = 0;

		/// Checks if this file is multimedial
		virtual bool isMultimedia() const = 0;

		/// Gets the current priority of the torrent
		virtual Priority getPriority() const {return priority;}

		/// Sets the priority of the torrent
		virtual void setPriority(Priority newpriority = NORMAL_PRIORITY) = 0;
		
		/// Wheather to emit signal when dl status changes or not.
		virtual void setEmitDownloadStatusChanged(bool show) = 0;
		
		/// Emits signal dlStatusChanged. Use it only with FileSelectDialog!
		virtual void emitDownloadStatusChanged() = 0;
		
		/// Did this file exist before the torrent was loaded by KT
		bool isPreExistingFile() const {return preexisting;}
		
		/// Set whether this file is preexisting
		void setPreExisting(bool pe) {preexisting = pe;}
		
		/// Get the % of the file which is downloaded
		float getDownloadPercentage() const;
		
		/// See if preview is available
		bool isPreviewAvailable() const {return preview;}
		
		/// Set the unencoded path
		void setUnencodedPath(const QList<QByteArray> up);
		
		/// Change the text codec
		void changeTextCodec(QTextCodec* codec);
		
		/// Is this a video
		bool isVideo() const {return filetype == VIDEO;}
		
		/// Is this an audio file
		bool isAudio() const {return filetype == AUDIO;}
		
	protected:
		Uint32 index;
		QString path;
		QString path_on_disk;
		QString user_modified_path;
		mutable QString mount_point;
		Uint64 size;
		Uint32 first_chunk;
		Uint32 last_chunk;
		Uint32 num_chunks_downloaded;
		Priority priority;
		bool preexisting;
		bool emit_status_changed;
		bool preview;
		QList<QByteArray> unencoded_path;
		Uint64 first_chunk_off;
		Uint64 last_chunk_size;
		mutable FileType filetype;
	};

}

#endif