1 #ifndef TRACE_LOADER_HPP
2 #define TRACE_LOADER_HPP
4 #include "trace_file.hpp"
5 #include "trace_parser.hpp"
20 FrameMarker_SwapBuffers,
29 Loader::FrameMarker frameMarker() const;
30 void setFrameMarker(Loader::FrameMarker marker);
32 int numberOfFrames() const;
33 int numberOfCallsInFrame(int frameIdx);
35 bool open(const char *filename);
38 std::vector<Trace::Call*> frame(int idx);
45 FrameOffset(const File::Offset &s,
46 const File::Offset &e)
56 bool isCallAFrameMarker(const Trace::Call *call) const;
59 Trace::Parser m_parser;
60 FrameMarker m_frameMarker;
62 std::map<int, Trace::Frame*> m_frameCache;
63 std::queue<Trace::Frame*> m_loadedFrames;
65 std::map<int, FrameOffset> m_frameOffsets;
72 #endif // TRACE_LOADER_HPP