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);
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);
63 void startedLoadingTrace();
64 void finishedLoadingTrace();
66 void framesInvalidated();
67 void changed(ApiTraceCall *call);
71 void beginAddingFrames(int oldCount, int numAdded);
72 void endAddingFrames();
73 void callsAdded(int oldCount, int numAdded);
76 void addFrames(const QList<ApiTraceFrame*> &frames);
82 QString m_tempFileName;
84 QList<ApiTraceFrame*> m_frames;
85 QList<ApiTraceCall*> m_calls;
87 FrameMarker m_frameMarker;
89 LoaderThread *m_loader;
92 QSet<ApiTraceCall*> m_editedCalls;
96 QSet<ApiTraceCall*> m_errors;