Changeset View
Changeset View
Standalone View
Standalone View
src/core/slavebase.cpp
Show First 20 Lines • Show All 207 Lines • ▼ Show 20 Line(s) | 201 | { | |||
---|---|---|---|---|---|
208 | // that fail the assertion. For Release builds we'll have made sure that the | 208 | // that fail the assertion. For Release builds we'll have made sure that the | ||
209 | // command is actually finished after the verification regardless of what | 209 | // command is actually finished after the verification regardless of what | ||
210 | // the slave did. | 210 | // the slave did. | ||
211 | if (!finalState()) { | 211 | if (!finalState()) { | ||
212 | q->finished(); | 212 | q->finished(); | ||
213 | } | 213 | } | ||
214 | } | 214 | } | ||
215 | 215 | | |||
216 | void verfifyFinishedNotCalled(const char *cmdName) | ||||
217 | { | ||||
218 | KIO_STATE_ASSERT(m_state != FinishedCalled, | ||||
219 | Q_FUNC_INFO, | ||||
220 | qUtf8Printable(QStringLiteral("%1 called finished(), but it's not supposed to! Please fix the %2 KIO slave") | ||||
221 | .arg(cmdName) | ||||
222 | .arg(QCoreApplication::applicationName()))); | ||||
223 | } | ||||
224 | | ||||
225 | | ||||
216 | void verifyErrorFinishedNotCalled(const char *cmdName) | 226 | void verifyErrorFinishedNotCalled(const char *cmdName) | ||
217 | { | 227 | { | ||
218 | KIO_STATE_ASSERT(!finalState(), | 228 | KIO_STATE_ASSERT(!finalState(), | ||
219 | Q_FUNC_INFO, | 229 | Q_FUNC_INFO, | ||
220 | qUtf8Printable(QStringLiteral("%1 called finished() or error(), but it's not supposed to! Please fix the %2 KIO slave") | 230 | qUtf8Printable(QStringLiteral("%1 called finished() or error(), but it's not supposed to! Please fix the %2 KIO slave") | ||
221 | .arg(cmdName) | 231 | .arg(cmdName) | ||
222 | .arg(QCoreApplication::applicationName()))); | 232 | .arg(QCoreApplication::applicationName()))); | ||
223 | } | 233 | } | ||
▲ Show 20 Lines • Show All 950 Lines • ▼ Show 20 Line(s) | 1180 | case CMD_GET: { | |||
1174 | d->verifyState("get()"); | 1184 | d->verifyState("get()"); | ||
1175 | d->m_state = d->Idle; | 1185 | d->m_state = d->Idle; | ||
1176 | } break; | 1186 | } break; | ||
1177 | case CMD_OPEN: { | 1187 | case CMD_OPEN: { | ||
1178 | stream >> url >> i; | 1188 | stream >> url >> i; | ||
1179 | QIODevice::OpenMode mode = QFlag(i); | 1189 | QIODevice::OpenMode mode = QFlag(i); | ||
1180 | d->m_state = d->InsideMethod; | 1190 | d->m_state = d->InsideMethod; | ||
1181 | open(url, mode); //krazy:exclude=syscalls | 1191 | open(url, mode); //krazy:exclude=syscalls | ||
1192 | d->verfifyFinishedNotCalled("open()"); | ||||
1182 | d->m_state = d->Idle; | 1193 | d->m_state = d->Idle; | ||
1183 | } break; | 1194 | } break; | ||
1184 | case CMD_PUT: { | 1195 | case CMD_PUT: { | ||
1185 | int permissions; | 1196 | int permissions; | ||
1186 | qint8 iOverwrite, iResume; | 1197 | qint8 iOverwrite, iResume; | ||
1187 | stream >> url >> iOverwrite >> iResume >> permissions; | 1198 | stream >> url >> iOverwrite >> iResume >> permissions; | ||
1188 | JobFlags flags; | 1199 | JobFlags flags; | ||
1189 | if (iOverwrite != 0) { | 1200 | if (iOverwrite != 0) { | ||
▲ Show 20 Lines • Show All 167 Lines • ▼ Show 20 Line(s) | |||||
1357 | { | 1368 | { | ||
1358 | QDataStream stream(data); | 1369 | QDataStream stream(data); | ||
1359 | 1370 | | |||
1360 | switch (command) { | 1371 | switch (command) { | ||
1361 | case CMD_READ: { | 1372 | case CMD_READ: { | ||
1362 | KIO::filesize_t bytes; | 1373 | KIO::filesize_t bytes; | ||
1363 | stream >> bytes; | 1374 | stream >> bytes; | ||
1364 | read(bytes); | 1375 | read(bytes); | ||
1376 | d->verfifyFinishedNotCalled("read()"); | ||||
1365 | break; | 1377 | break; | ||
1366 | } | 1378 | } | ||
1367 | case CMD_WRITE: { | 1379 | case CMD_WRITE: { | ||
1368 | write(data); | 1380 | write(data); | ||
1381 | d->verfifyFinishedNotCalled("write()"); | ||||
1369 | break; | 1382 | break; | ||
1370 | } | 1383 | } | ||
1371 | case CMD_SEEK: { | 1384 | case CMD_SEEK: { | ||
1372 | KIO::filesize_t offset; | 1385 | KIO::filesize_t offset; | ||
1373 | stream >> offset; | 1386 | stream >> offset; | ||
1374 | seek(offset); | 1387 | seek(offset); | ||
1388 | d->verfifyFinishedNotCalled("seek()"); | ||||
1375 | break; | 1389 | break; | ||
1376 | } | 1390 | } | ||
1377 | case CMD_NONE: | 1391 | case CMD_NONE: | ||
1378 | break; | 1392 | break; | ||
1379 | case CMD_CLOSE: | 1393 | case CMD_CLOSE: | ||
1380 | close(); // must call finish(), which will set d->inOpenLoop=false | 1394 | close(); // must call finish(), which will set d->inOpenLoop=false | ||
1395 | d->verifyState("close()"); | ||||
1381 | break; | 1396 | break; | ||
1382 | default: | 1397 | default: | ||
1383 | // Some command we don't understand. | 1398 | // Some command we don't understand. | ||
1384 | // Just ignore it, it may come from some future version of KIO. | 1399 | // Just ignore it, it may come from some future version of KIO. | ||
1385 | break; | 1400 | break; | ||
1386 | } | 1401 | } | ||
1387 | } | 1402 | } | ||
1388 | 1403 | | |||
▲ Show 20 Lines • Show All 142 Lines • Show Last 20 Lines |