6 #include "trace_file.hpp"
7 #include "trace_parser.hpp"
13 class TraceLoader : public QObject
17 TraceLoader(QObject *parent=0);
21 ApiTraceCallSignature *signature(unsigned id);
22 void addSignature(unsigned id, ApiTraceCallSignature *signature);
24 ApiTraceEnumSignature *enumSignature(unsigned id);
25 void addEnumSignature(unsigned id, ApiTraceEnumSignature *signature);
28 void loadTrace(const QString &filename);
29 void loadFrame(int frameIdx);
30 void setFrameMarker(ApiTrace::FrameMarker marker);
33 void startedParsing();
34 void parsed(int percent);
35 void finishedParsing();
37 void framesLoaded(const QList<ApiTraceFrame*> &frames);
38 void frameLoaded(int frameIdx,
39 const QVector<ApiTraceCall*> &calls,
40 quint64 binaryDataSize);
47 FrameOffset(const Trace::File::Offset &s)
52 Trace::File::Offset start;
56 bool isCallAFrameMarker(const Trace::Call *call) const;
57 int numberOfFrames() const;
58 int numberOfCallsInFrame(int frameIdx) const;
65 Trace::Parser m_parser;
67 ApiTrace::FrameMarker m_frameMarker;
69 typedef QMap<int, FrameOffset> FrameOffsets;
70 FrameOffsets m_frameOffsets;
72 QHash<QString, QUrl> m_helpHash;
74 QVector<ApiTraceCallSignature*> m_signatures;
75 QVector<ApiTraceEnumSignature*> m_enumSignatures;