]> git.tdb.fi Git - gldbg.git/blobdiff - source/tracer.h
Decouple the existing tools from the debugger core
[gldbg.git] / source / tracer.h
index 51adb39a09f292f7ef4515559551961fd8afb2c7..651bfc1ecf1df7006d7f88170cd7a24bb129c993 100644 (file)
@@ -1,7 +1,7 @@
 /* $Id$
 
 This file is part of gldbg
-Copyright © 2009  Mikko Rasa, Mikkosoft Productions
+Copyright © 2009-2010  Mikko Rasa, Mikkosoft Productions
 Distributed under the GPL
 */
 
@@ -9,10 +9,11 @@ Distributed under the GPL
 #define TRACER_H_
 
 #include <msp/io/base.h>
+#include "tool.h"
 
 struct GlPrint;
 
-class Tracer
+class Tracer: public RegisteredTool<Tracer>
 {
 private:
        GlPrint *glprint;
@@ -21,14 +22,13 @@ private:
        bool enabled;
 
 public:
-       Tracer();
+       Tracer(GlDbg &);
        ~Tracer();
 
-       void set_output(Msp::IO::Base *);
-       void set_output(Msp::IO::Base &);
-       void enable();
-       void disable();
-       int decode(const char *, unsigned);
+       virtual void decode(const char *, unsigned);
+private:
+       void set_output(Msp::IO::Base *, bool);
+       void cmd_trace(const std::string &);
 };
 
 #endif