X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=trace_parser.hpp;h=4fff9ad1157129e0da8458f8cca87e68687197ec;hb=d4ca4e2090572b9bf8430c9d4ece5cb9c9b6528e;hp=78ea4273778bcc6489a3863682622a0b43b7527c;hpb=57dbaf5831f6a26df951de609f54910366ed8a48;p=apitrace diff --git a/trace_parser.hpp b/trace_parser.hpp index 78ea427..4fff9ad 100644 --- a/trace_parser.hpp +++ b/trace_parser.hpp @@ -28,9 +28,7 @@ #include -#include #include -#include #include "trace_format.hpp" #include "trace_model.hpp" @@ -38,31 +36,32 @@ namespace Trace { +class File; class Parser { protected: - void *file; + File *file; typedef std::list CallList; CallList calls; - typedef std::vector FunctionMap; + typedef std::vector FunctionMap; FunctionMap functions; - typedef std::vector StructMap; + typedef std::vector StructMap; StructMap structs; - typedef std::vector EnumMap; + typedef std::vector EnumMap; EnumMap enums; - typedef std::vector BitmaskMap; + typedef std::vector BitmaskMap; BitmaskMap bitmasks; unsigned next_call_no; public: - static unsigned long long version; + unsigned long long version; Parser(); @@ -79,7 +78,7 @@ protected: Call *parse_leave(void); - void parse_call_details(Call *call); + bool parse_call_details(Call *call); void parse_arg(Call *call); @@ -107,7 +106,7 @@ protected: Value *parse_opaque(); - std::string read_string(void); + const char * read_string(void); unsigned long long read_uint(void);