Files
bullock/src/processdata.hpp

62 lines
977 B
C++

/*
* Copyright 2018 gtalent2@gmail.com
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#pragma once
#include <QJsonObject>
#include <QObject>
#include <QStringList>
#include <QVector>
struct Field {
QString name;
QString type;
QString value;
QVector<Field> fields;
Field(QJsonObject field = {});
};
struct Frame {
QString arch;
QString file;
int line = 0;
QVector<Field> fields;
Frame(QJsonObject frame = {});
};
struct TraceEvent {
QString channel;
QString logMsg;
QVector<Frame> frames;
TraceEvent(QJsonObject tp = {});
QString file() const;
int line() const;
};
struct ProcessData: public QObject {
Q_OBJECT
public:
QString cmd;
QVector<TraceEvent> traceEvents;
signals:
/**
* Emitted whenever a new TraceEvent is added.
*/
void traceEvent(const TraceEvent&);
};