KDevelop API Documentation

gdbcommand.h

Go to the documentation of this file.
00001 /***************************************************************************
00002     begin                : Sun Aug 8 1999
00003     copyright            : (C) 1999 by John Birch
00004     email                : jbb@kdevelop.org
00005  ***************************************************************************/
00006 
00007 /***************************************************************************
00008  *                                                                         *
00009  *   This program is free software; you can redistribute it and/or modify  *
00010  *   it under the terms of the GNU General Public License as published by  *
00011  *   the Free Software Foundation; either version 2 of the License, or     *
00012  *   (at your option) any later version.                                   *
00013  *                                                                         *
00014  ***************************************************************************/
00015 
00016 #ifndef _GDBCOMMAND_H_
00017 #define _GDBCOMMAND_H_
00018 
00019 #include "dbgcommand.h"
00020 
00021 namespace GDBDebugger
00022 {
00023 
00024 class Breakpoint;
00025 class VarItem;
00026 
00027 // sigh - namespace's don't work on some of the older compilers
00028 enum GDBCmd
00029 {
00030   BLOCK_START     = '\32',
00031   SRC_POSITION    = '\32',    // Hmmm, same value may not work for all compilers
00032 
00033   ARGS            = 'A',
00034 
00035   BPLIST          = 'B',
00036   SET_BREAKPT     = 'b',
00037 
00038   DATAREQUEST     = 'D',
00039   DISASSEMBLE     = 'd',
00040 
00041   FRAME           = 'F',
00042   FILE_START      = 'f',
00043 
00044   INITIALISE      = 'I',
00045   IDLE            = 'i',
00046 
00047   BACKTRACE       = 'K',
00048 
00049   LOCALS          = 'L',
00050   LIBRARIES       = 'l',
00051 
00052   MEMDUMP         = 'M',
00053 
00054   RUN             = 'R',
00055   REGISTERS       = 'r',
00056 
00057   PROGRAM_STOP    = 'S',
00058   SHARED_CONT     = 's',
00059 
00060   INFOTHREAD      = 'T',
00061   SWITCHTHREAD    = 't',
00062 
00063   USERCMD         = 'U',
00064 
00065   SETWATCH        = 'W',
00066   UNSETWATCH      = 'w',
00067 
00068   DETACH          = 'z',
00069 
00070   WAIT            = '0',
00071 
00072   WHATIS          = 'H'
00073 };
00074 
00075 #define RUNCMD      (true)
00076 #define NOTRUNCMD   (false)
00077 #define INFOCMD     (true)
00078 #define NOTINFOCMD  (false)
00079 
00084 class GDBCommand : public DbgCommand
00085 {
00086 public:
00087     GDBCommand(const QCString& command, bool isRunCmd=false, bool isInfoCmd=true,
00088                char prompt=WAIT);
00089     virtual ~GDBCommand();
00090 
00091 private:
00092     static QCString idlePrompt_;
00093 };
00094 
00095 /***************************************************************************/
00096 /***************************************************************************/
00097 /***************************************************************************/
00098 class GDBItemCommand : public GDBCommand
00099 {
00100 public:
00101     GDBItemCommand(VarItem *item, const QCString &command,
00102                    bool isRunCmd=false, char prompt=DATAREQUEST);
00103     virtual ~GDBItemCommand();
00104 
00105     VarItem *getItem()      { return item_; }
00106 
00107 private:
00108     VarItem *item_;
00109 };
00110 
00111 /***************************************************************************/
00112 /***************************************************************************/
00113 /***************************************************************************/
00114 class GDBPointerCommand : public GDBItemCommand
00115 {
00116 public:
00117   GDBPointerCommand(VarItem *item);
00118   virtual ~GDBPointerCommand();
00119 };
00120 
00121 /***************************************************************************/
00122 /***************************************************************************/
00123 /***************************************************************************/
00124 //class GDBReferenceCommand : public GDBItemCommand
00125 //{
00126 //public:
00127 //  GDBReferenceCommand(VarItem* item);
00128 //  virtual ~GDBReferenceCommand();
00129 //};
00130 
00131 /***************************************************************************/
00132 /***************************************************************************/
00133 /***************************************************************************/
00134 class GDBSetBreakpointCommand : public GDBCommand
00135 {
00136 public:
00137     GDBSetBreakpointCommand(const QCString& setCommand, int key);
00138     virtual ~GDBSetBreakpointCommand();
00139 
00140     int getKey() const        { return key_; }
00141 
00142 private:
00143     int key_;
00144 };
00145 
00146 /***************************************************************************/
00147 /***************************************************************************/
00148 /***************************************************************************/
00149 
00150 }
00151 
00152 #endif
KDE Logo
This file is part of the documentation for KDevelop Version 3.1.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Tue Feb 22 09:22:29 2005 by doxygen 1.3.9.1 written by Dimitri van Heesch, © 1997-2003