]> git.tdb.fi Git - gldbg.git/blobdiff - source/gldbg.h
Retain user-set breakpoints and send them to the process on startup
[gldbg.git] / source / gldbg.h
index 99f0863c2c3f72cf91852ea0e356781aed23994c..3a2bcd1a718535fdba44b00f6d2018f423df74a3 100644 (file)
@@ -1,24 +1,16 @@
-/* $Id$
-
-This file is part of gldbg
-Copyright © 2009-2010  Mikko Rasa, Mikkosoft Productions
-Distributed under the GPL
-*/
-
 #ifndef GLDBG_H_
 #define GLDBG_H_
 
+#include <list>
 #include <string>
 #include <vector>
-#include <msp/core/application.h>
-#include <msp/fs/path.h>
 #include "commandinterpreter.h"
 #include "packet.h"
 #include "process.h"
 
 class Tool;
 
-class GlDbg: public Msp::Application
+class GlDbg
 {
 private:
        typedef std::list<Tool *> ToolList;
@@ -51,7 +43,7 @@ private:
        const Breakpoint *current_break;
        ToolList break_holders;
 
-       static RegApp<GlDbg> reg;
+       static GlDbg *instance;
 
 public:
        GlDbg(int, char **);
@@ -63,6 +55,9 @@ public:
        void launch();
        void send(GlPacket *);
        void hold();
+private:
+       void send_breakpoint(unsigned short, unsigned char, unsigned char);
+public:
        void set_breakpoint(unsigned short, unsigned char, Tool *);
        void clear_breakpoint(unsigned short, unsigned char, Tool *);
        void resume_from_break(Tool *);
@@ -72,7 +67,8 @@ private:
        void check_child();
        void read_stream();
        Breakpoint *get_breakpoint(unsigned short, unsigned char);
-       virtual void sighandler(int);
+
+       static void sighandler(int);
 };
 
 #endif