|
|
@ -95,18 +95,19 @@ namespace BitTorrent |
|
|
|
class TrackerEntry; |
|
|
|
class TrackerEntry; |
|
|
|
struct CreateTorrentParams; |
|
|
|
struct CreateTorrentParams; |
|
|
|
|
|
|
|
|
|
|
|
class SessionSettingsEnums |
|
|
|
// Using `Q_ENUM_NS()` without a wrapper namespace in our case is not advised
|
|
|
|
|
|
|
|
// since `Q_NAMESPACE` cannot be used when the same namespace resides at different files.
|
|
|
|
|
|
|
|
// https://www.kdab.com/new-qt-5-8-meta-object-support-namespaces/#comment-143779
|
|
|
|
|
|
|
|
namespace SessionSettingsEnums |
|
|
|
{ |
|
|
|
{ |
|
|
|
Q_GADGET |
|
|
|
Q_NAMESPACE |
|
|
|
|
|
|
|
|
|
|
|
public: |
|
|
|
|
|
|
|
// TODO: remove `SessionSettingsEnums` wrapper when we can use `Q_ENUM_NS` directly (QT >= 5.8 only)
|
|
|
|
|
|
|
|
enum class ChokingAlgorithm : int |
|
|
|
enum class ChokingAlgorithm : int |
|
|
|
{ |
|
|
|
{ |
|
|
|
FixedSlots = 0, |
|
|
|
FixedSlots = 0, |
|
|
|
RateBased = 1 |
|
|
|
RateBased = 1 |
|
|
|
}; |
|
|
|
}; |
|
|
|
Q_ENUM(ChokingAlgorithm) |
|
|
|
Q_ENUM_NS(ChokingAlgorithm) |
|
|
|
|
|
|
|
|
|
|
|
enum class SeedChokingAlgorithm : int |
|
|
|
enum class SeedChokingAlgorithm : int |
|
|
|
{ |
|
|
|
{ |
|
|
@ -114,14 +115,14 @@ namespace BitTorrent |
|
|
|
FastestUpload = 1, |
|
|
|
FastestUpload = 1, |
|
|
|
AntiLeech = 2 |
|
|
|
AntiLeech = 2 |
|
|
|
}; |
|
|
|
}; |
|
|
|
Q_ENUM(SeedChokingAlgorithm) |
|
|
|
Q_ENUM_NS(SeedChokingAlgorithm) |
|
|
|
|
|
|
|
|
|
|
|
enum class MixedModeAlgorithm : int |
|
|
|
enum class MixedModeAlgorithm : int |
|
|
|
{ |
|
|
|
{ |
|
|
|
TCP = 0, |
|
|
|
TCP = 0, |
|
|
|
Proportional = 1 |
|
|
|
Proportional = 1 |
|
|
|
}; |
|
|
|
}; |
|
|
|
Q_ENUM(MixedModeAlgorithm) |
|
|
|
Q_ENUM_NS(MixedModeAlgorithm) |
|
|
|
|
|
|
|
|
|
|
|
enum class BTProtocol : int |
|
|
|
enum class BTProtocol : int |
|
|
|
{ |
|
|
|
{ |
|
|
@ -129,12 +130,9 @@ namespace BitTorrent |
|
|
|
TCP = 1, |
|
|
|
TCP = 1, |
|
|
|
UTP = 2 |
|
|
|
UTP = 2 |
|
|
|
}; |
|
|
|
}; |
|
|
|
Q_ENUM(BTProtocol) |
|
|
|
Q_ENUM_NS(BTProtocol) |
|
|
|
}; |
|
|
|
} |
|
|
|
using ChokingAlgorithm = SessionSettingsEnums::ChokingAlgorithm; |
|
|
|
using namespace SessionSettingsEnums; |
|
|
|
using SeedChokingAlgorithm = SessionSettingsEnums::SeedChokingAlgorithm; |
|
|
|
|
|
|
|
using MixedModeAlgorithm = SessionSettingsEnums::MixedModeAlgorithm; |
|
|
|
|
|
|
|
using BTProtocol = SessionSettingsEnums::BTProtocol; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
struct SessionMetricIndices |
|
|
|
struct SessionMetricIndices |
|
|
|
{ |
|
|
|
{ |
|
|
|