public slots:
void loadTrace(const QString &filename);
void loadFrame(ApiTraceFrame *frame);
- void setFrameMarker(ApiTrace::FrameMarker marker);
- void searchNext(int startFrame,
- const QString &str,
- Qt::CaseSensitivity sensitivity);
- void searchPrev(int startFrame,
- const QString &str,
- Qt::CaseSensitivity sensitivity);
void findFrameStart(ApiTraceFrame *frame);
void findFrameEnd(ApiTraceFrame *frame);
+ void findCallIndex(int index);
+ void search(const ApiTrace::SearchRequest &request);
signals:
void startedParsing();
void parsed(int percent);
+ void guessedApi(int api);
void finishedParsing();
void framesLoaded(const QList<ApiTraceFrame*> &frames);
const QVector<ApiTraceCall*> &calls,
quint64 binaryDataSize);
- void searchResult(ApiTrace::SearchResult result, ApiTraceCall *call);
+ void searchResult(const ApiTrace::SearchRequest &request,
+ ApiTrace::SearchResult result,
+ ApiTraceCall *call);
void foundFrameStart(ApiTraceFrame *frame);
void foundFrameEnd(ApiTraceFrame *frame);
+ void foundCallIndex(ApiTraceCall *call);
private:
struct FrameBookmark {
FrameBookmark()
: numberOfCalls(0)
{}
- FrameBookmark(const Trace::ParseBookmark &s)
+ FrameBookmark(const trace::ParseBookmark &s)
: start(s),
numberOfCalls(0)
{}
- Trace::ParseBookmark start;
+ trace::ParseBookmark start;
int numberOfCalls;
};
- bool isCallAFrameMarker(const Trace::Call *call) const;
int numberOfFrames() const;
int numberOfCallsInFrame(int frameIdx) const;
void loadHelpFile();
+ void guessApi(const trace::Call *call);
void scanTrace();
void parseTrace();
+ void searchNext(const ApiTrace::SearchRequest &request);
+ void searchPrev(const ApiTrace::SearchRequest &request);
+
int callInFrame(int callIdx) const;
- bool callContains(Trace::Call *call,
+ bool callContains(trace::Call *call,
const QString &str,
Qt::CaseSensitivity sensitivity);
QVector<ApiTraceCall*> fetchFrameContents(ApiTraceFrame *frame);
- bool searchCallsBackwards(const QList<Trace::Call*> &calls,
+ bool searchCallsBackwards(const QList<trace::Call*> &calls,
int frameIdx,
- const QString &str,
- Qt::CaseSensitivity sensitivity);
+ const ApiTrace::SearchRequest &request);
private:
- Trace::Parser m_parser;
- QString m_fileName;
- ApiTrace::FrameMarker m_frameMarker;
+ trace::Parser m_parser;
typedef QMap<int, FrameBookmark> FrameBookmarks;
FrameBookmarks m_frameBookmarks;