Valgrind: Make Parser's API similar to the ThreadedParser's API

Change-Id: I39634c881dac44fc857a4aa2049e9c2618daec9b
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Jarek Kobus
2023-08-08 20:05:56 +02:00
parent e84369bbfa
commit 7630801293
5 changed files with 45 additions and 43 deletions

View File

@@ -56,8 +56,7 @@ namespace {
} // namespace anon
namespace Valgrind {
namespace XmlProtocol {
namespace Valgrind::XmlProtocol {
enum class Tool {
Unknown,
@@ -82,8 +81,9 @@ class Parser::Private
public:
explicit Private(Parser *qq);
void parse(QIODevice *device);
void start();
QString errorString;
std::unique_ptr<QIODevice> m_device;
private:
void parseError();
@@ -108,8 +108,6 @@ private:
Tool tool = Tool::Unknown;
QXmlStreamReader reader;
private:
Parser *const q;
};
@@ -608,10 +606,9 @@ Suppression Parser::Private::parseSuppression()
return supp;
}
void Parser::Private::parse(QIODevice *device)
void Parser::Private::start()
{
QTC_ASSERT(device, return);
reader.setDevice(device);
reader.setDevice(m_device.get());
errorString.clear();
bool success = true;
@@ -660,10 +657,17 @@ QString Parser::errorString() const
return d->errorString;
}
void Parser::parse(QIODevice *device)
void Parser::setIODevice(QIODevice *device)
{
d->parse(device);
QTC_ASSERT(device, return);
QTC_ASSERT(device->isOpen(), return);
d->m_device.reset(device);
}
} // namespace XmlParser
} // namespace Valgrind
void Parser::start()
{
QTC_ASSERT(d->m_device, return);
d->start();
}
} // namespace Valgrind::XmlProtocol