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 ApiTraceCallSignature *signature(unsigned id);
37 void addSignature(unsigned id, ApiTraceCallSignature *signature);
39 QList<ApiTraceCall*> calls() const;
40 ApiTraceCall *callAt(int idx) const;
41 ApiTraceCall *callWithIndex(int idx) const;
44 QList<ApiTraceFrame*> frames() const;
45 ApiTraceFrame *frameAt(int idx) const;
46 int numFrames() const;
47 int numCallsInFrame(int idx) const;
49 void callEdited(ApiTraceCall *call);
50 void callReverted(ApiTraceCall *call);
51 void callError(ApiTraceCall *call);
54 bool needsSaving() const;
56 bool isSaving() const;
58 bool hasErrors() const;
61 void setFileName(const QString &name);
62 void setFrameMarker(FrameMarker marker);
66 void startedLoadingTrace();
67 void finishedLoadingTrace();
69 void framesInvalidated();
70 void changed(ApiTraceCall *call);
74 void beginAddingFrames(int oldCount, int numAdded);
75 void endAddingFrames();
76 void callsAdded(int oldCount, int numAdded);
79 void addFrames(const QList<ApiTraceFrame*> &frames);
85 QString m_tempFileName;
87 QList<ApiTraceFrame*> m_frames;
88 QList<ApiTraceCall*> m_calls;
90 FrameMarker m_frameMarker;
92 LoaderThread *m_loader;
95 QSet<ApiTraceCall*> m_editedCalls;
99 QSet<ApiTraceCall*> m_errors;
100 QVector<ApiTraceCallSignature*> m_signatures;