]> git.cworth.org Git - apitrace/blobdiff - trace_writer.hpp
Add support for GL_APPLE_flush_render
[apitrace] / trace_writer.hpp
index 3b7955e62ef222840b75b85a55381710f461c12d..4f9cd2b27a32e913bad5889fe32c750afa099a6f 100644 (file)
 #ifndef _TRACE_WRITER_HPP_
 #define _TRACE_WRITER_HPP_
 
+
 #include <stddef.h>
 
 #include <vector>
 
-namespace Trace {
-
-    typedef unsigned Id;
+#include "trace_model.hpp"
 
-    struct FunctionSig {
-        Id id;
-        const char *name;
-        unsigned num_args;
-        const char **arg_names;
-    };
 
-    struct StructSig {
-        Id id;
-        const char *name;
-        unsigned num_members;
-        const char **member_names;
-    };
-
-    struct EnumSig {
-        Id id;
-        const char *name;
-        signed long long value;
-    };
-
-    struct BitmaskFlag {
-        const char *name;
-        unsigned long long value;
-    };
-
-    struct BitmaskSig {
-        Id id;
-        unsigned num_flags;
-        const BitmaskFlag *flags;
-    };
+namespace Trace {
 
     class Writer {
     protected:
@@ -122,6 +93,8 @@ namespace Trace {
         void writeNull(void);
         void writeOpaque(const void *ptr);
 
+        void writeCall(Call *call);
+
     protected:
         void inline _write(const void *sBuffer, size_t dwBytesToWrite);
         void inline _writeByte(char c);