qnetworkreplyfileimpl.cpp

Absolute File Name:/home/qt/qt5_coco/qt5/qtbase/src/network/access/qnetworkreplyfileimpl.cpp
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5QNetworkReplyFileImplPrivate::QNetworkReplyFileImplPrivate()-
6 : QNetworkReplyPrivate(), realFileSize(0)-
7{-
8}
executed 30 times by 2 tests: end of block
Executed by:
  • tst_QNetworkReply
  • tst_QXmlStream
30
9-
10QNetworkReplyFileImpl::~QNetworkReplyFileImpl()-
11{-
12}-
13-
14QNetworkReplyFileImpl::QNetworkReplyFileImpl(QObject *parent, const QNetworkRequest &req, const QNetworkAccessManager::Operation op)-
15 : QNetworkReply(*new QNetworkReplyFileImplPrivate(), parent)-
16{-
17 setRequest(req);-
18 setUrl(req.url());-
19 setOperation(op);-
20 setFinished(true);-
21 QNetworkReply::open(QIODevice::ReadOnly);-
22-
23 QNetworkReplyFileImplPrivate *d = (QNetworkReplyFileImplPrivate*) d_func();-
24-
25 QUrl url = req.url();-
26 if (url.host() == QLatin1String("localhost")
url.host() == ...g("localhost")Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_QNetworkReply
FALSEevaluated 29 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_QXmlStream
)
1-29
27 url.setHost(QString());
executed 1 time by 1 test: url.setHost(QString());
Executed by:
  • tst_QNetworkReply
1
28-
29-
30-
31 if (!url.host().isEmpty()
!url.host().isEmpty()Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_QNetworkReply
FALSEevaluated 29 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_QXmlStream
) {
1-29
32-
33 QString msg = QCoreApplication::translate("QNetworkAccessFileBackend", "Request for opening non-local file %1").arg(url.toString());-
34 setError(QNetworkReply::ProtocolInvalidOperationError, msg);-
35 QMetaObject::invokeMethod(this, "error", Qt::QueuedConnection,-
36 QArgument<QNetworkReply::NetworkError >("QNetworkReply::NetworkError", QNetworkReply::ProtocolInvalidOperationError));-
37 QMetaObject::invokeMethod(this, "finished", Qt::QueuedConnection);-
38 return;
executed 1 time by 1 test: return;
Executed by:
  • tst_QNetworkReply
1
39 }-
40-
41 if (url.path().isEmpty()
url.path().isEmpty()Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_QNetworkReply
FALSEevaluated 28 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_QXmlStream
)
1-28
42 url.setPath(QLatin1String("/"));
executed 1 time by 1 test: url.setPath(QLatin1String("/"));
Executed by:
  • tst_QNetworkReply
1
43 setUrl(url);-
44-
45-
46 QString fileName = url.toLocalFile();-
47 if (fileName.isEmpty()
fileName.isEmpty()Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • tst_QNetworkReply
FALSEevaluated 27 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_QXmlStream
) {
2-27
48 if (url.scheme() == QLatin1String("qrc")
url.scheme() =...1String("qrc")Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • tst_QNetworkReply
FALSEnever evaluated
) {
0-2
49 fileName = QLatin1Char(':') + url.path();-
50 }
executed 2 times by 1 test: end of block
Executed by:
  • tst_QNetworkReply
else {
2
51-
52-
53-
54-
55-
56 fileName = url.toString(QUrl::RemoveAuthority | QUrl::RemoveFragment | QUrl::RemoveQuery);-
57 }
never executed: end of block
0
58 }-
59-
60 QFileInfo fi(fileName);-
61 if (fi.isDir()
fi.isDir()Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • tst_QNetworkReply
FALSEevaluated 26 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_QXmlStream
) {
3-26
62 QString msg = QCoreApplication::translate("QNetworkAccessFileBackend", "Cannot open %1: Path is a directory").arg(url.toString());-
63 setError(QNetworkReply::ContentOperationNotPermittedError, msg);-
64 QMetaObject::invokeMethod(this, "error", Qt::QueuedConnection,-
65 QArgument<QNetworkReply::NetworkError >("QNetworkReply::NetworkError", QNetworkReply::ContentOperationNotPermittedError));-
66 QMetaObject::invokeMethod(this, "finished", Qt::QueuedConnection);-
67 return;
executed 3 times by 1 test: return;
Executed by:
  • tst_QNetworkReply
3
68 }-
69-
70 d->realFile.setFileName(fileName);-
71 bool opened = d->realFile.open(QIODevice::ReadOnly | QIODevice::Unbuffered);-
72-
73-
74 if (!opened
!openedDescription
TRUEevaluated 3 times by 1 test
Evaluated by:
  • tst_QNetworkReply
FALSEevaluated 23 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_QXmlStream
) {
3-23
75 QString msg = QCoreApplication::translate("QNetworkAccessFileBackend", "Error opening %1: %2")-
76 .arg(d->realFile.fileName(), d->realFile.errorString());-
77-
78 if (d->realFile.exists()
d->realFile.exists()Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • tst_QNetworkReply
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tst_QNetworkReply
) {
1-2
79 setError(QNetworkReply::ContentAccessDenied, msg);-
80 QMetaObject::invokeMethod(this, "error", Qt::QueuedConnection,-
81 QArgument<QNetworkReply::NetworkError >("QNetworkReply::NetworkError", QNetworkReply::ContentAccessDenied));-
82 }
executed 2 times by 1 test: end of block
Executed by:
  • tst_QNetworkReply
else {
2
83 setError(QNetworkReply::ContentNotFoundError, msg);-
84 QMetaObject::invokeMethod(this, "error", Qt::QueuedConnection,-
85 QArgument<QNetworkReply::NetworkError >("QNetworkReply::NetworkError", QNetworkReply::ContentNotFoundError));-
86 }
executed 1 time by 1 test: end of block
Executed by:
  • tst_QNetworkReply
1
87 QMetaObject::invokeMethod(this, "finished", Qt::QueuedConnection);-
88 return;
executed 3 times by 1 test: return;
Executed by:
  • tst_QNetworkReply
3
89 }-
90-
91 setHeader(QNetworkRequest::LastModifiedHeader, fi.lastModified());-
92 d->realFileSize = fi.size();-
93 setHeader(QNetworkRequest::ContentLengthHeader, d->realFileSize);-
94-
95 QMetaObject::invokeMethod(this, "metaDataChanged", Qt::QueuedConnection);-
96 QMetaObject::invokeMethod(this, "downloadProgress", Qt::QueuedConnection,-
97 QArgument<qint64 >("qint64", d->realFileSize), QArgument<qint64 >("qint64", d->realFileSize));-
98 QMetaObject::invokeMethod(this, "readyRead", Qt::QueuedConnection);-
99 QMetaObject::invokeMethod(this, "finished", Qt::QueuedConnection);-
100}
executed 23 times by 2 tests: end of block
Executed by:
  • tst_QNetworkReply
  • tst_QXmlStream
23
101-
102void QNetworkReplyFileImpl::close()-
103{-
104 QNetworkReplyFileImplPrivate * const d = d_func();-
105 QNetworkReply::close();-
106 d->realFile.close();-
107}
never executed: end of block
0
108-
109void QNetworkReplyFileImpl::abort()-
110{-
111 QNetworkReplyFileImplPrivate * const d = d_func();-
112 QNetworkReply::close();-
113 d->realFile.close();-
114}
executed 1 time by 1 test: end of block
Executed by:
  • tst_QNetworkReply
1
115-
116qint64 QNetworkReplyFileImpl::bytesAvailable() const-
117{-
118 const QNetworkReplyFileImplPrivate * const d = d_func();-
119 if (!d->realFile.isOpen()
!d->realFile.isOpen()Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • tst_QNetworkReply
FALSEevaluated 184 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_QXmlStream
)
2-184
120 return
executed 2 times by 1 test: return QNetworkReply::bytesAvailable();
Executed by:
  • tst_QNetworkReply
QNetworkReply::bytesAvailable();
executed 2 times by 1 test: return QNetworkReply::bytesAvailable();
Executed by:
  • tst_QNetworkReply
2
121 return
executed 184 times by 2 tests: return QNetworkReply::bytesAvailable() + d->realFile.bytesAvailable();
Executed by:
  • tst_QNetworkReply
  • tst_QXmlStream
QNetworkReply::bytesAvailable() + d->realFile.bytesAvailable();
executed 184 times by 2 tests: return QNetworkReply::bytesAvailable() + d->realFile.bytesAvailable();
Executed by:
  • tst_QNetworkReply
  • tst_QXmlStream
184
122}-
123-
124bool QNetworkReplyFileImpl::isSequential () const-
125{-
126 return
executed 183 times by 2 tests: return true;
Executed by:
  • tst_QNetworkReply
  • tst_QXmlStream
true;
executed 183 times by 2 tests: return true;
Executed by:
  • tst_QNetworkReply
  • tst_QXmlStream
183
127}-
128-
129qint64 QNetworkReplyFileImpl::size() const-
130{-
131 const QNetworkReplyFileImplPrivate * const d = d_func();-
132 return
never executed: return d->realFileSize;
d->realFileSize;
never executed: return d->realFileSize;
0
133}-
134-
135-
136-
137-
138qint64 QNetworkReplyFileImpl::readData(char *data, qint64 maxlen)-
139{-
140 QNetworkReplyFileImplPrivate * const d = d_func();-
141 if (!d->realFile.isOpen()
!d->realFile.isOpen()Description
TRUEevaluated 17 times by 1 test
Evaluated by:
  • tst_QNetworkReply
FALSEevaluated 166 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_QXmlStream
)
17-166
142 return
executed 17 times by 1 test: return -1;
Executed by:
  • tst_QNetworkReply
-1;
executed 17 times by 1 test: return -1;
Executed by:
  • tst_QNetworkReply
17
143 qint64 ret = d->realFile.read(data, maxlen);-
144 if (bytesAvailable() == 0
bytesAvailable() == 0Description
TRUEevaluated 15 times by 1 test
Evaluated by:
  • tst_QNetworkReply
FALSEevaluated 151 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_QXmlStream
&& d->realFile.isOpen()
d->realFile.isOpen()Description
TRUEevaluated 15 times by 1 test
Evaluated by:
  • tst_QNetworkReply
FALSEnever evaluated
)
0-151
145 d->realFile.close();
executed 15 times by 1 test: d->realFile.close();
Executed by:
  • tst_QNetworkReply
15
146 if (ret == 0
ret == 0Description
TRUEevaluated 3 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_QXmlStream
FALSEevaluated 163 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_QXmlStream
&& bytesAvailable() == 0
bytesAvailable() == 0Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • tst_QNetworkReply
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tst_QXmlStream
)
1-163
147 return
executed 2 times by 1 test: return -1;
Executed by:
  • tst_QNetworkReply
-1;
executed 2 times by 1 test: return -1;
Executed by:
  • tst_QNetworkReply
2
148 else {-
149 setAttribute(QNetworkRequest::HttpStatusCodeAttribute, 200);-
150 setAttribute(QNetworkRequest::HttpReasonPhraseAttribute, QLatin1String("OK"));-
151 return
executed 164 times by 2 tests: return ret;
Executed by:
  • tst_QNetworkReply
  • tst_QXmlStream
ret;
executed 164 times by 2 tests: return ret;
Executed by:
  • tst_QNetworkReply
  • tst_QXmlStream
164
152 }-
153}-
154-
155-
156-
157-
Switch to Source codePreprocessed file

Generated by Squish Coco Non-Commercial 4.3.0-BETA-master-30-08-2018-4cb69e9