22 #ifndef BT_MAGNETLINK_H
23 #define BT_MAGNETLINK_H
25 #include <ktorrent_export.h>
26 #include <util/sha1hash.h>
40 class KTORRENT_EXPORT MagnetLink
42 friend class MagnetDownloader;
45 MagnetLink(
const MagnetLink & mlink);
46 MagnetLink(
const QUrl& mlink);
47 MagnetLink(
const QString & mlink);
51 MagnetLink & operator = (
const MagnetLink & mlink);
54 bool operator == (
const MagnetLink & mlink)
const;
57 bool isValid()
const {
return !magnet_string.isEmpty();}
60 QString toString()
const {
return magnet_string;}
63 QString displayName()
const {
return name;}
66 QString subPath()
const {
return path;}
69 QString torrent()
const {
return torrent_url;}
72 QList<QUrl> trackers()
const {
return tracker_urls;}
75 const SHA1Hash & infoHash()
const {
return info_hash;}
78 void parse(
const QUrl& mlink);
79 Uint8 charToHex(
const QChar & ch);
80 QString base32ToHexString(
const QString &s);
83 QString magnet_string;
86 QList<QUrl> tracker_urls;
93 #endif // BT_MAGNETLINK_H