1 /*
2     SPDX-FileCopyrightText: 2009 Joris Guisson <joris.guisson@gmail.com>
3     SPDX-License-Identifier: GPL-2.0-or-later
4 */
5 
6 #ifndef __DBusSettings__
7 #define __DBusSettings__
8 
9 #include <QList>
10 #include <QObject>
11 #include <ktcore_export.h>
12 
13 namespace kt
14 {
15 class CoreInterface;
16 
17 class KTCORE_EXPORT DBusSettings : public QObject
18 {
19     Q_OBJECT
20     Q_CLASSINFO("D-Bus Interface", "org.ktorrent.settings")
21 public:
22     DBusSettings(CoreInterface *core, QObject *parent);
23     ~DBusSettings() override;
24 
25 public Q_SLOTS:
26     Q_SCRIPTABLE int maxDownloads();
27     Q_SCRIPTABLE void setMaxDownloads(int val);
28     Q_SCRIPTABLE int maxSeeds();
29     Q_SCRIPTABLE void setMaxSeeds(int val);
30     Q_SCRIPTABLE int startDownloadsOnLowDiskSpace();
31     Q_SCRIPTABLE void setStartDownloadsOnLowDiskSpace(int val);
32     Q_SCRIPTABLE int maxConnections();
33     Q_SCRIPTABLE void setMaxConnections(int val);
34     Q_SCRIPTABLE int maxTotalConnections();
35     Q_SCRIPTABLE void setMaxTotalConnections(int val);
36     Q_SCRIPTABLE int maxUploadRate();
37     Q_SCRIPTABLE void setMaxUploadRate(int val);
38     Q_SCRIPTABLE int maxDownloadRate();
39     Q_SCRIPTABLE void setMaxDownloadRate(int val);
40     Q_SCRIPTABLE double maxRatio();
41     Q_SCRIPTABLE void setMaxRatio(double val);
42     Q_SCRIPTABLE double greenRatio();
43     Q_SCRIPTABLE void setGreenRatio(double val);
44     Q_SCRIPTABLE int port();
45     Q_SCRIPTABLE void setPort(int val);
46     Q_SCRIPTABLE int udpTrackerPort();
47     Q_SCRIPTABLE void setUdpTrackerPort(int val);
48     Q_SCRIPTABLE bool showSystemTrayIcon();
49     Q_SCRIPTABLE void setShowSystemTrayIcon(bool val);
50     Q_SCRIPTABLE bool showSpeedBarInTrayIcon();
51     Q_SCRIPTABLE void setShowSpeedBarInTrayIcon(bool val);
52     Q_SCRIPTABLE int downloadBandwidth();
53     Q_SCRIPTABLE void setDownloadBandwidth(int val);
54     Q_SCRIPTABLE int uploadBandwidth();
55     Q_SCRIPTABLE void setUploadBandwidth(int val);
56     Q_SCRIPTABLE bool alwaysMinimizeToSystemTray();
57     Q_SCRIPTABLE void setAlwaysMinimizeToSystemTray(bool val);
58     Q_SCRIPTABLE bool showPopups();
59     Q_SCRIPTABLE void setShowPopups(bool val);
60     Q_SCRIPTABLE bool keepSeeding();
61     Q_SCRIPTABLE void setKeepSeeding(bool val);
62     Q_SCRIPTABLE QString tempDir();
63     Q_SCRIPTABLE void setTempDir(QString val);
64     Q_SCRIPTABLE bool useSaveDir();
65     Q_SCRIPTABLE void setUseSaveDir(bool val);
66     Q_SCRIPTABLE QString saveDir();
67     Q_SCRIPTABLE void setSaveDir(QString val);
68     Q_SCRIPTABLE bool useTorrentCopyDir();
69     Q_SCRIPTABLE void setUseTorrentCopyDir(bool val);
70     Q_SCRIPTABLE QString torrentCopyDir();
71     Q_SCRIPTABLE void setTorrentCopyDir(QString val);
72     Q_SCRIPTABLE bool useCustomIP();
73     Q_SCRIPTABLE void setUseCustomIP(bool val);
74     Q_SCRIPTABLE QString lastSaveDir();
75     Q_SCRIPTABLE void setLastSaveDir(QString val);
76     Q_SCRIPTABLE QString customIP();
77     Q_SCRIPTABLE void setCustomIP(QString val);
78     Q_SCRIPTABLE int guiUpdateInterval();
79     Q_SCRIPTABLE void setGuiUpdateInterval(int val);
80     Q_SCRIPTABLE bool dhtSupport();
81     Q_SCRIPTABLE void setDhtSupport(bool val);
82     Q_SCRIPTABLE int dhtPort();
83     Q_SCRIPTABLE void setDhtPort(int val);
84     Q_SCRIPTABLE bool pexEnabled();
85     Q_SCRIPTABLE void setPexEnabled(bool val);
86     Q_SCRIPTABLE int numUploadSlots();
87     Q_SCRIPTABLE void setNumUploadSlots(int val);
88     Q_SCRIPTABLE bool useEncryption();
89     Q_SCRIPTABLE void setUseEncryption(bool val);
90     Q_SCRIPTABLE bool allowUnencryptedConnections();
91     Q_SCRIPTABLE void setAllowUnencryptedConnections(bool val);
92     Q_SCRIPTABLE int typeOfService();
93     Q_SCRIPTABLE void setTypeOfService(int val);
94     Q_SCRIPTABLE int dscp();
95     Q_SCRIPTABLE void setDscp(int val);
96     Q_SCRIPTABLE int maxConnectingSockets();
97     Q_SCRIPTABLE void setMaxConnectingSockets(int val);
98     Q_SCRIPTABLE bool checkWhenFinished();
99     Q_SCRIPTABLE void setCheckWhenFinished(bool val);
100     Q_SCRIPTABLE QList<int> shownColumns();
101     Q_SCRIPTABLE void setShownColumns(QList<int> val);
102     Q_SCRIPTABLE bool useKDEProxySettings();
103     Q_SCRIPTABLE void setUseKDEProxySettings(bool val);
104     Q_SCRIPTABLE QString httpProxy();
105     Q_SCRIPTABLE void setHttpProxy(QString val);
106     Q_SCRIPTABLE int httpProxyPort();
107     Q_SCRIPTABLE void setHttpProxyPort(int val);
108     Q_SCRIPTABLE bool useProxyForWebSeeds();
109     Q_SCRIPTABLE void setUseProxyForWebSeeds(bool val);
110     Q_SCRIPTABLE bool useProxyForTracker();
111     Q_SCRIPTABLE void setUseProxyForTracker(bool val);
112     Q_SCRIPTABLE bool socksEnabled();
113     Q_SCRIPTABLE void setSocksEnabled(bool val);
114     Q_SCRIPTABLE QString socksProxy();
115     Q_SCRIPTABLE void setSocksProxy(QString val);
116     Q_SCRIPTABLE int socksPort();
117     Q_SCRIPTABLE void setSocksPort(int val);
118     Q_SCRIPTABLE int socksVersion();
119     Q_SCRIPTABLE void setSocksVersion(int val);
120     Q_SCRIPTABLE bool socksUsePassword();
121     Q_SCRIPTABLE void setSocksUsePassword(bool val);
122     Q_SCRIPTABLE QString socksUsername();
123     Q_SCRIPTABLE void setSocksUsername(QString val);
124     Q_SCRIPTABLE QString socksPassword();
125     Q_SCRIPTABLE void setSocksPassword(QString val);
126     Q_SCRIPTABLE bool diskPrealloc();
127     Q_SCRIPTABLE void setDiskPrealloc(bool val);
128     Q_SCRIPTABLE bool fullDiskPrealloc();
129     Q_SCRIPTABLE void setFullDiskPrealloc(bool val);
130     Q_SCRIPTABLE int minDiskSpace();
131     Q_SCRIPTABLE void setMinDiskSpace(int val);
132     Q_SCRIPTABLE int cpuUsage();
133     Q_SCRIPTABLE void setCpuUsage(int val);
134     Q_SCRIPTABLE bool useCompletedDir();
135     Q_SCRIPTABLE void setUseCompletedDir(bool val);
136     Q_SCRIPTABLE QString completedDir();
137     Q_SCRIPTABLE void setCompletedDir(QString val);
138     Q_SCRIPTABLE double maxSeedTime();
139     Q_SCRIPTABLE void setMaxSeedTime(double val);
140     Q_SCRIPTABLE QString networkInterface();
141     Q_SCRIPTABLE void setNetworkInterface(const QString &val);
142     Q_SCRIPTABLE bool openMultipleTorrentsSilently();
143     Q_SCRIPTABLE void setOpenMultipleTorrentsSilently(bool val);
144     Q_SCRIPTABLE bool openAllTorrentsSilently();
145     Q_SCRIPTABLE void setOpenAllTorrentsSilently(bool val);
146     Q_SCRIPTABLE bool decreasePriorityOfStalledTorrents();
147     Q_SCRIPTABLE void setDecreasePriorityOfStalledTorrents(bool val);
148     Q_SCRIPTABLE int stallTimer();
149     Q_SCRIPTABLE void setStallTimer(int val);
150     Q_SCRIPTABLE int previewSizeAudio();
151     Q_SCRIPTABLE void setPreviewSizeAudio(int val);
152     Q_SCRIPTABLE int previewSizeVideo();
153     Q_SCRIPTABLE void setPreviewSizeVideo(int val);
154     Q_SCRIPTABLE bool suppressSleep();
155     Q_SCRIPTABLE void setSuppressSleep(bool val);
156     Q_SCRIPTABLE bool manuallyControlTorrents();
157     Q_SCRIPTABLE void setManuallyControlTorrents(bool val);
158     Q_SCRIPTABLE bool webseedsEnabled();
159     Q_SCRIPTABLE void setWebseedsEnabled(bool val);
160     Q_SCRIPTABLE bool lookUpHostnameOfPeers();
161     Q_SCRIPTABLE void setLookUpHostnameOfPeers(bool val);
162     Q_SCRIPTABLE bool utpEnabled();
163     Q_SCRIPTABLE void setUtpEnabled(bool val);
164     Q_SCRIPTABLE bool onlyUseUtp();
165     Q_SCRIPTABLE void setOnlyUseUtp(bool val);
166     Q_SCRIPTABLE int primaryTransportProtocol();
167     Q_SCRIPTABLE void setPrimaryTransportProtocol(int val);
168     Q_SCRIPTABLE bool autoRenameSingleFileTorrents();
169     Q_SCRIPTABLE void setAutoRenameSingleFileTorrents(bool val);
170     Q_SCRIPTABLE int numMagnetDownloadingSlots();
171     Q_SCRIPTABLE void setNumMagnetDownloadingSlots(int val);
172     Q_SCRIPTABLE bool requeueMagnets();
173     Q_SCRIPTABLE void setRequeueMagnets(bool val);
174     Q_SCRIPTABLE int requeueMagnetsTime();
175     Q_SCRIPTABLE void setRequeueMagnetsTime(int val);
176     Q_SCRIPTABLE bool showTotalSpeedInTitle();
177     Q_SCRIPTABLE void setShowTotalSpeedInTitle(bool val);
178 
179     Q_SCRIPTABLE void apply();
180 
181 private:
182     CoreInterface *core;
183 };
184 }
185 
186 #endif
187