]> git.tdb.fi Git - gldbg.git/blobdiff - source/gldbg.h
Fix several problems reported by valgrind
[gldbg.git] / source / gldbg.h
index 99f0863c2c3f72cf91852ea0e356781aed23994c..9f77430e753ec54f13f31b7d504cd14831086dbb 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;
@@ -38,6 +30,7 @@ private:
 
        typedef std::list<Breakpoint> BreakList;
 
+       bool done;
        CommandInterpreter cmd_interp;
        Process process;
        int sock_fd;
@@ -51,7 +44,7 @@ private:
        const Breakpoint *current_break;
        ToolList break_holders;
 
-       static RegApp<GlDbg> reg;
+       static GlDbg *instance;
 
 public:
        GlDbg(int, char **);
@@ -63,6 +56,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 +68,8 @@ private:
        void check_child();
        void read_stream();
        Breakpoint *get_breakpoint(unsigned short, unsigned char);
-       virtual void sighandler(int);
+
+       static void sighandler(int);
 };
 
 #endif