4 #include "apitracecall.h"
12 class ApiTrace : public QObject
17 FrameMarker_SwapBuffers,
22 static bool isCallAFrameMarker(const ApiTraceCall *call,
30 QString fileName() const;
32 FrameMarker frameMarker() const;
34 ApiTraceState defaultState() const;
36 QList<ApiTraceCall*> calls() const;
37 ApiTraceCall *callAt(int idx) 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);
50 bool needsSaving() const;
52 bool isSaving() const;
55 void setFileName(const QString &name);
56 void setFrameMarker(FrameMarker marker);
60 void startedLoadingTrace();
61 void finishedLoadingTrace();
63 void framesInvalidated();
64 void changed(ApiTraceCall *call);
68 void framesAdded(int oldCount, int numAdded);
69 void callsAdded(int oldCount, int numAdded);
72 void addFrames(const QList<ApiTraceFrame*> &frames);
78 QString m_tempFileName;
80 QList<ApiTraceFrame*> m_frames;
81 QList<ApiTraceCall*> m_calls;
83 FrameMarker m_frameMarker;
85 LoaderThread *m_loader;
88 QSet<ApiTraceCall*> m_editedCalls;