Changeset View
Changeset View
Standalone View
Standalone View
src/core/statjob.cpp
Show All 26 Lines | |||||
27 | #include <QTimer> | 27 | #include <QTimer> | ||
28 | 28 | | |||
29 | using namespace KIO; | 29 | using namespace KIO; | ||
30 | 30 | | |||
31 | class KIO::StatJobPrivate: public SimpleJobPrivate | 31 | class KIO::StatJobPrivate: public SimpleJobPrivate | ||
32 | { | 32 | { | ||
33 | public: | 33 | public: | ||
34 | inline StatJobPrivate(const QUrl &url, int command, const QByteArray &packedArgs) | 34 | inline StatJobPrivate(const QUrl &url, int command, const QByteArray &packedArgs) | ||
35 | : SimpleJobPrivate(url, command, packedArgs), m_bSource(true), m_details(2) | 35 | : SimpleJobPrivate(url, command, packedArgs), m_bSource(true), m_details(KIO::StatDefaultDetails) | ||
36 | {} | 36 | {} | ||
37 | 37 | | |||
38 | UDSEntry m_statResult; | 38 | UDSEntry m_statResult; | ||
39 | QUrl m_redirectionURL; | 39 | QUrl m_redirectionURL; | ||
40 | bool m_bSource; | 40 | bool m_bSource; | ||
41 | short int m_details; | 41 | KIO::StatDetails m_details; | ||
42 | void slotStatEntry(const KIO::UDSEntry &entry); | 42 | void slotStatEntry(const KIO::UDSEntry &entry); | ||
43 | void slotRedirection(const QUrl &url); | 43 | void slotRedirection(const QUrl &url); | ||
44 | 44 | | |||
45 | /** | 45 | /** | ||
46 | * @internal | 46 | * @internal | ||
47 | * Called by the scheduler when a @p slave gets to | 47 | * Called by the scheduler when a @p slave gets to | ||
48 | * work on this job. | 48 | * work on this job. | ||
49 | * @param slave the slave that starts working on this job | 49 | * @param slave the slave that starts working on this job | ||
Show All 29 Lines | 78 | { | |||
79 | d_func()->m_bSource = source; | 79 | d_func()->m_bSource = source; | ||
80 | } | 80 | } | ||
81 | 81 | | |||
82 | void StatJob::setSide(StatSide side) | 82 | void StatJob::setSide(StatSide side) | ||
83 | { | 83 | { | ||
84 | d_func()->m_bSource = side == SourceSide; | 84 | d_func()->m_bSource = side == SourceSide; | ||
85 | } | 85 | } | ||
86 | 86 | | |||
87 | void StatJob::setDetails(short int details) | 87 | void StatJob::setDetails(KIO::StatDetails details) | ||
88 | { | 88 | { | ||
89 | d_func()->m_details = details; | 89 | d_func()->m_details = details; | ||
90 | } | 90 | } | ||
91 | 91 | | |||
92 | void StatJob::setDetails(KIO::StatDetail detail) | ||||
93 | { | ||||
94 | d_func()->m_details = detail; | ||||
95 | } | ||||
96 | | ||||
97 | void StatJob::setDetails(short int details) | ||||
dfaure: When the declaration is in #if, the definition should be too (with s/ENABLED/BUILD/).
#if… | |||||
98 | { | ||||
99 | // for backward compatibility | ||||
100 | d_func()->m_details = detailsToStatDetails(details); | ||||
101 | } | ||||
102 | | ||||
103 | KIO::StatDetails KIO::detailsToStatDetails(int details) | ||||
104 | { | ||||
105 | KIO::StatDetails detailsFlag = KIO::StatDetail::Basic; | ||||
106 | if (details > 0) { | ||||
107 | detailsFlag |= KIO::StatDetail::User | KIO::StatDetail::Time; | ||||
108 | } | ||||
109 | if (details > 1) { | ||||
110 | detailsFlag |= KIO::StatDetail::ResolveSymlink | KIO::StatDetail::Acl; | ||||
111 | } | ||||
112 | if (details > 2) { | ||||
113 | detailsFlag |= KIO::StatDetail::Inode; | ||||
114 | } | ||||
115 | return detailsFlag; | ||||
116 | } | ||||
117 | | ||||
92 | const UDSEntry &StatJob::statResult() const | 118 | const UDSEntry &StatJob::statResult() const | ||
93 | { | 119 | { | ||
94 | return d_func()->m_statResult; | 120 | return d_func()->m_statResult; | ||
95 | } | 121 | } | ||
96 | 122 | | |||
97 | QUrl StatJob::mostLocalUrl() const | 123 | QUrl StatJob::mostLocalUrl() const | ||
98 | { | 124 | { | ||
99 | if (!url().isLocalFile()) { | 125 | if (!url().isLocalFile()) { | ||
▲ Show 20 Lines • Show All 71 Lines • ▼ Show 20 Line(s) | 196 | { | |||
171 | Q_D(StatJob); | 197 | Q_D(StatJob); | ||
172 | SimpleJob::slotMetaData(_metaData); | 198 | SimpleJob::slotMetaData(_metaData); | ||
173 | storeSSLSessionFromJob(d->m_redirectionURL); | 199 | storeSSLSessionFromJob(d->m_redirectionURL); | ||
174 | } | 200 | } | ||
175 | 201 | | |||
176 | StatJob *KIO::stat(const QUrl &url, JobFlags flags) | 202 | StatJob *KIO::stat(const QUrl &url, JobFlags flags) | ||
177 | { | 203 | { | ||
178 | // Assume sideIsSource. Gets are more common than puts. | 204 | // Assume sideIsSource. Gets are more common than puts. | ||
179 | return stat(url, StatJob::SourceSide, 2, flags); | 205 | return stat(url, StatJob::SourceSide, KIO::StatDefaultDetails, flags); | ||
180 | } | 206 | } | ||
181 | 207 | | |||
182 | StatJob *KIO::mostLocalUrl(const QUrl &url, JobFlags flags) | 208 | StatJob *KIO::mostLocalUrl(const QUrl &url, JobFlags flags) | ||
183 | { | 209 | { | ||
184 | StatJob *job = stat(url, StatJob::SourceSide, 2, flags); | 210 | StatJob *job = stat(url, StatJob::SourceSide, KIO::StatDefaultDetails, flags); | ||
185 | if (url.isLocalFile()) { | 211 | if (url.isLocalFile()) { | ||
186 | QTimer::singleShot(0, job, &StatJob::slotFinished); | 212 | QTimer::singleShot(0, job, &StatJob::slotFinished); | ||
187 | Scheduler::cancelJob(job); // deletes the slave if not 0 | 213 | Scheduler::cancelJob(job); // deletes the slave if not 0 | ||
188 | } | 214 | } | ||
189 | return job; | 215 | return job; | ||
190 | } | 216 | } | ||
191 | 217 | | |||
192 | StatJob *KIO::stat(const QUrl &url, bool sideIsSource, short int details, JobFlags flags) | 218 | StatJob *KIO::stat(const QUrl &url, bool sideIsSource, short int details, JobFlags flags) | ||
193 | { | 219 | { | ||
194 | //qCDebug(KIO_CORE) << "stat" << url; | 220 | //qCDebug(KIO_CORE) << "stat" << url; | ||
195 | KIO_ARGS << url; | 221 | KIO_ARGS << url; | ||
196 | StatJob *job = StatJobPrivate::newJob(url, CMD_STAT, packedArgs, flags); | 222 | StatJob *job = StatJobPrivate::newJob(url, CMD_STAT, packedArgs, flags); | ||
197 | job->setSide(sideIsSource ? StatJob::SourceSide : StatJob::DestinationSide); | 223 | job->setSide(sideIsSource ? StatJob::SourceSide : StatJob::DestinationSide); | ||
198 | job->setDetails(details); | 224 | job->setDetails(details); | ||
199 | return job; | 225 | return job; | ||
200 | } | 226 | } | ||
201 | 227 | | |||
228 | StatJob *KIO::stat(const QUrl &url, KIO::StatJob::StatSide side, KIO::StatDetails details, JobFlags flags) | ||||
229 | { | ||||
230 | //qCDebug(KIO_CORE) << "stat" << url; | ||||
231 | KIO_ARGS << url; | ||||
232 | StatJob *job = StatJobPrivate::newJob(url, CMD_STAT, packedArgs, flags); | ||||
233 | job->setSide(side); | ||||
234 | job->setDetails(details); | ||||
235 | return job; | ||||
236 | } | ||||
237 | | ||||
202 | StatJob *KIO::stat(const QUrl &url, KIO::StatJob::StatSide side, short int details, JobFlags flags) | 238 | StatJob *KIO::stat(const QUrl &url, KIO::StatJob::StatSide side, short int details, JobFlags flags) | ||
203 | { | 239 | { | ||
204 | //qCDebug(KIO_CORE) << "stat" << url; | 240 | //qCDebug(KIO_CORE) << "stat" << url; | ||
205 | KIO_ARGS << url; | 241 | KIO_ARGS << url; | ||
206 | StatJob *job = StatJobPrivate::newJob(url, CMD_STAT, packedArgs, flags); | 242 | StatJob *job = StatJobPrivate::newJob(url, CMD_STAT, packedArgs, flags); | ||
207 | job->setSide(side); | 243 | job->setSide(side); | ||
208 | job->setDetails(details); | 244 | job->setDetails(details); | ||
209 | return job; | 245 | return job; | ||
210 | } | 246 | } | ||
211 | 247 | | |||
212 | #include "moc_statjob.cpp" | 248 | #include "moc_statjob.cpp" |
When the declaration is in #if, the definition should be too (with s/ENABLED/BUILD/).
#if KIOCORE_BUILD_DEPRECATED_SINCE(5, 68)