#include <iostream>
#include <list>
-#include <string>
#include "trace_format.hpp"
#include "trace_model.hpp"
namespace Trace {
+class File;
class Parser
{
protected:
- void *file;
+ File *file;
typedef std::list<Call *> CallList;
CallList calls;
- typedef std::vector<Call::Signature *> FunctionMap;
+ typedef std::vector<FunctionSig *> FunctionMap;
FunctionMap functions;
- typedef std::vector<Struct::Signature *> StructMap;
+ typedef std::vector<StructSig *> StructMap;
StructMap structs;
- typedef std::vector<Enum::Signature *> EnumMap;
+ typedef std::vector<EnumSig *> EnumMap;
EnumMap enums;
- typedef std::vector<Bitmask::Signature *> BitmaskMap;
+ typedef std::vector<BitmaskSig *> BitmaskMap;
BitmaskMap bitmasks;
unsigned next_call_no;
Value *parse_opaque();
- std::string read_string(void);
+ const char * read_string(void);
unsigned long long read_uint(void);