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);
74 void frameLoaded(ApiTraceFrame *frame);
76 void beginAddingFrames(int oldCount, int numAdded);
77 void endAddingFrames();
78 void callsAdded(int oldCount, int numAdded);
81 void addFrames(const QList<ApiTraceFrame*> &frames);
87 QString m_tempFileName;
89 QList<ApiTraceFrame*> m_frames;
90 QVector<ApiTraceCall*> m_calls;
92 FrameMarker m_frameMarker;
94 TraceLoader *m_loader;
95 QThread *m_loaderThread;
98 QSet<ApiTraceCall*> m_editedCalls;
102 QSet<ApiTraceCall*> m_errors;