]> git.tdb.fi Git - gldbg.git/blobdiff - source/gldbg.h
Add framework necessary to support more modular tools
[gldbg.git] / source / gldbg.h
index 5f75164539153b06554bd41fcae0528b6f639b88..543df05a580265b5d88e395f995ffb2b2a0f0438 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
 */
 
@@ -13,9 +13,13 @@ Distributed under the GPL
 #include <msp/core/application.h>
 #include <msp/fs/path.h>
 #include "commandinterpreter.h"
+#include "glstate.h"
 #include "process.h"
+#include "profiler.h"
 #include "tracer.h"
 
+class Tool;
+
 class GlDbg: public Msp::Application
 {
 private:
@@ -25,7 +29,10 @@ private:
        std::string buffer;
        unsigned buf_offset;
        bool flushing;
+       std::list<Tool *> tools;
        Tracer tracer;
+       GlState glstate;
+       Profiler profiler;
        bool got_sigchld;
 
        static RegApp<GlDbg> reg;
@@ -33,10 +40,13 @@ private:
 public:
        GlDbg(int, char **);
        int main();
+       CommandInterpreter &get_command_interpreter() { return cmd_interp; }
        Tracer &get_tracer() { return tracer; }
+       GlState &get_glstate() { return glstate; }
+       Profiler &get_profiler() { return profiler; }
        Process &get_process() { return process; }
        void launch();
-       void quit();
+       void quit(bool);
 private:
        void tick();
        void check_child();