file = NULL;
next_call_no = 0;
version = 0;
- m_supportsSeeking = false;
}
if (!file->open(filename, File::Read)) {
return false;
}
- m_supportsSeeking = file->supportsOffsets();
version = read_uint();
if (version > TRACE_VERSION) {
}
+void Parser::getBookmark(ParseBookmark &bookmark) {
+ bookmark.offset = file->currentOffset();
+ bookmark.next_call_no = next_call_no;
+}
+
+
+void Parser::setBookmark(const ParseBookmark &bookmark) {
+ file->setCurrentOffset(bookmark.offset);
+ next_call_no = bookmark.next_call_no;
+}
+
+
Call *Parser::parse_call(void) {
do {
int c = read_byte();
Call * Parser::scan_call()
{
- assert(m_supportsSeeking);
do {
int c = read_byte();
switch(c) {
EnumMap enums;
BitmaskMap bitmasks;
- bool m_supportsSeeking;
-
unsigned next_call_no;
public:
return file->supportsOffsets();
}
- void getBookmark(ParseBookmark &bookmark) {
- bookmark.offset = file->currentOffset();
- bookmark.next_call_no = next_call_no;
- }
+ void getBookmark(ParseBookmark &bookmark);
- void setBookmark(const ParseBookmark &bookmark) {
- file->setCurrentOffset(bookmark.offset);
- next_call_no = bookmark.next_call_no;
- }
+ void setBookmark(const ParseBookmark &bookmark);
int percentRead()
{