4 #include "apitracecall.h"
13 class ApiTrace : public QObject
18 FrameMarker_SwapBuffers,
23 static bool isCallAFrameMarker(const ApiTraceCall *call,
31 QString fileName() const;
33 FrameMarker frameMarker() const;
35 ApiTraceState defaultState() const;
37 QVector<ApiTraceCall*> calls() const;
38 ApiTraceCall *callWithIndex(int idx) const;
41 QList<ApiTraceFrame*> frames() const;
42 ApiTraceFrame *frameAt(int idx) const;
43 int numFrames() const;
44 int numCallsInFrame(int idx) const;
46 void callEdited(ApiTraceCall *call);
47 void callReverted(ApiTraceCall *call);
48 void callError(ApiTraceCall *call);
51 bool needsSaving() const;
53 bool isSaving() const;
55 bool hasErrors() const;
58 void setFileName(const QString &name);
59 void setFrameMarker(FrameMarker marker);
61 void loadFrame(ApiTraceFrame *frame);
64 void loadTrace(const QString &name);
65 void requestFrame(ApiTraceFrame *frame);
66 void startedLoadingTrace();
67 void loaded(int percent);
68 void finishedLoadingTrace();
70 void framesInvalidated();
71 void changed(ApiTraceCall *call);
75 void beginAddingFrames(int oldCount, int numAdded);
76 void endAddingFrames();
77 void callsAdded(int oldCount, int numAdded);
78 void beginLoadingFrame(ApiTraceFrame *frame, int numAdded);
79 void endLoadingFrame(ApiTraceFrame *frame);
82 void addFrames(const QList<ApiTraceFrame*> &frames);
84 void finishedParsing();
85 void frameLoadFinished(ApiTraceFrame *frame);
91 QString m_tempFileName;
93 QList<ApiTraceFrame*> m_frames;
94 QVector<ApiTraceCall*> m_calls;
96 FrameMarker m_frameMarker;
98 TraceLoader *m_loader;
99 QThread *m_loaderThread;
100 SaverThread *m_saver;
102 QSet<ApiTraceCall*> m_editedCalls;
106 QSet<ApiTraceCall*> m_errors;