home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 mARCH / PCWK3A99.iso / Linux / DDD331 / DDD-3_1_.000 / DDD-3_1_ / ddd-3.1.1 / ddd / comm-manag.h < prev    next >
C/C++ Source or Header  |  1998-12-06  |  3KB  |  87 lines

  1. // $Id: comm-manag.h,v 1.24.4.1 1998/12/06 15:36:19 zeller Exp $
  2. // GDB communication manager.
  3.  
  4. // Copyright (C) 1995 Technische Universitaet Braunschweig, Germany.
  5. // Written by Dorothea Luetkehaus <luetke@ips.cs.tu-bs.de>.
  6. // 
  7. // This file is part of DDD.
  8. // 
  9. // DDD is free software; you can redistribute it and/or
  10. // modify it under the terms of the GNU General Public
  11. // License as published by the Free Software Foundation; either
  12. // version 2 of the License, or (at your option) any later version.
  13. // 
  14. // DDD is distributed in the hope that it will be useful,
  15. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  17. // See the GNU General Public License for more details.
  18. // 
  19. // You should have received a copy of the GNU General Public
  20. // License along with DDD -- see the file COPYING.
  21. // If not, write to the Free Software Foundation, Inc.,
  22. // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  23. // 
  24. // DDD is the data display debugger.
  25. // For details, see the DDD World-Wide-Web page, 
  26. // `http://www.cs.tu-bs.de/softech/ddd/',
  27. // or send a mail to the DDD developers <ddd@ips.cs.tu-bs.de>.
  28.  
  29.  
  30. //-----------------------------------------------------------------------------
  31. // GDB communication manager
  32. // Name conventions:
  33. // ...OA  : an OAProc used in GDBAgent::on_answer
  34. // ...OAC : an OACProc used in GDBAgent::on_answer_completion()
  35. //-----------------------------------------------------------------------------
  36.  
  37. #ifndef _DDD_comm_manag_h
  38. #define _DDD_comm_manag_h
  39.  
  40. #ifdef __GNUG__
  41. #pragma interface
  42. #endif
  43.  
  44. #include "GDBAgent.h"
  45.  
  46. // Note: `Command.h' is the preferred way of interacting with GDB.
  47.  
  48. // Call gdb->start() with required parameters
  49. void start_gdb(bool config = true);
  50.  
  51. // Send user command CMD to GDB.  Invoke CALLBACK with DATA upon
  52. // completion of CMD; invoke EXTRA_CALLBACK with DATA when all extra
  53. // commands (see CHECK) are done.  If ECHO and VERBOSE are set, issue
  54. // command in GDB console.  If VERBOSE is set, issue answer in GDB
  55. // console.  If PROMPT is set, issue prompt.  If CHECK is set, add
  56. // extra GDB commands to get GDB state.
  57. void send_gdb_command(string cmd, Widget origin,
  58.               OQCProc callback, OACProc extra_callback, void *data,
  59.               bool echo, bool verbose, bool prompt, bool check);
  60.  
  61. // Send user input CMD to GDB (unchanged).
  62. void send_gdb_ctrl(string cmd, Widget origin = 0);
  63.  
  64. // Return FALSE if ANSWER is an error message indicating an unknown command
  65. bool is_known_command(const string& answer);
  66.  
  67. // Send commands to initialize a session.  If TRY_SOURCE is set, try
  68. // the GDB `source' command.
  69. void init_session(const string& restart, const string& settings,
  70.           bool try_source = false);
  71.  
  72. // Let DDD handle COMMAND
  73. void internal_command(const string& command, OQCProc callback, void *data,
  74.               bool echo, bool verbose, bool do_prompt);
  75.  
  76. string internal_command(const string& command);
  77. bool is_internal_command(const string& command);
  78.  
  79. // Return GDB output that has not been echoed yet
  80. string buffered_gdb_output();
  81.  
  82. // True if the debuggee is running
  83. extern bool debuggee_running;
  84.  
  85. #endif // _DDD_comm_manag_h
  86. // DON'T ADD ANYTHING BEHIND THIS #endif
  87.