499 lines
68 KiB
HTML
499 lines
68 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<title>wxLua: /mnt/share/devel/lua/wxLua/modules/wxluasocket/include/wxldserv.h Source File</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
|
</head>
|
|
<body>
|
|
<!-- Generated by Doxygen 1.6.3 -->
|
|
<div class="navigation" id="top">
|
|
<div class="tabs">
|
|
<ul>
|
|
<li><a href="main.html"><span>Main Page</span></a></li>
|
|
<li><a href="annotated.html"><span>Classes</span></a></li>
|
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
|
<li><a href="dirs.html"><span>Directories</span></a></li>
|
|
</ul>
|
|
</div>
|
|
<div class="tabs">
|
|
<ul>
|
|
<li><a href="files.html"><span>File List</span></a></li>
|
|
<li><a href="globals.html"><span>File Members</span></a></li>
|
|
</ul>
|
|
</div>
|
|
<div class="navpath"><a class="el" href="dir_15d5a205ad383328522db6a6be296af1.html">modules</a> » <a class="el" href="dir_7cd3065828d87458b0d7ef005e985a57.html">wxluasocket</a> » <a class="el" href="dir_a857424e6167482505b0cee7befbe354.html">include</a>
|
|
</div>
|
|
</div>
|
|
<div class="contents">
|
|
<h1>wxldserv.h</h1><a href="wxldserv_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/////////////////////////////////////////////////////////////////////////////</span>
|
|
<a name="l00002"></a>00002 <span class="comment"></span><span class="comment">// Purpose: Implements the debugger end of wxLua debugging session</span>
|
|
<a name="l00003"></a>00003 <span class="comment">// Author: J. Winwood, John Labenski, Ray Gilbert</span>
|
|
<a name="l00004"></a>00004 <span class="comment">// Created: May 2002</span>
|
|
<a name="l00005"></a>00005 <span class="comment">// Copyright: (c) 2002 Lomtick Software. All rights reserved.</span>
|
|
<a name="l00006"></a>00006 <span class="comment">// Licence: wxWidgets licence</span><span class="comment"></span>
|
|
<a name="l00007"></a>00007 <span class="comment">/////////////////////////////////////////////////////////////////////////////</span>
|
|
<a name="l00008"></a>00008 <span class="comment"></span>
|
|
<a name="l00009"></a>00009 <span class="preprocessor">#ifndef WX_LUA_DEBUG_SERVER_H</span>
|
|
<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define WX_LUA_DEBUG_SERVER_H</span>
|
|
<a name="l00011"></a>00011 <span class="preprocessor"></span>
|
|
<a name="l00012"></a>00012 <span class="preprocessor">#include "wx/process.h"</span>
|
|
<a name="l00013"></a>00013 <span class="preprocessor">#include "wx/thread.h"</span>
|
|
<a name="l00014"></a>00014 <span class="preprocessor">#include "<a class="code" href="wxluasocketdefs_8h.html">wxluasocket/include/wxluasocketdefs.h</a>"</span>
|
|
<a name="l00015"></a>00015 <span class="preprocessor">#include "<a class="code" href="wxlsock_8h.html">wxluasocket/include/wxlsock.h</a>"</span>
|
|
<a name="l00016"></a>00016 <span class="preprocessor">#include "<a class="code" href="wxldebug_8h.html">wxluadebug/include/wxldebug.h</a>"</span>
|
|
<a name="l00017"></a>00017 <span class="preprocessor">#include "<a class="code" href="wxlstack_8h.html">wxluadebug/include/wxlstack.h</a>"</span>
|
|
<a name="l00018"></a>00018
|
|
<a name="l00019"></a><a class="code" href="wxldserv_8h.html#ad13880204a9478a6b8d91298273cc179">00019</a> <span class="keyword">class </span><a class="code" href="wxluasocketdefs_8h.html#a59aa1606e0b31648f147e5eb694362d8">WXDLLIMPEXP_WXLUASOCKET</a> <a class="code" href="classwxLuaDebuggerBase.html">wxLuaDebuggerBase</a>;
|
|
<a name="l00020"></a><a class="code" href="wxldserv_8h.html#a00752784c83d5e3a58aef0034151bbd3">00020</a> <span class="keyword">class </span><a class="code" href="wxluasocketdefs_8h.html#a59aa1606e0b31648f147e5eb694362d8">WXDLLIMPEXP_WXLUASOCKET</a> <a class="code" href="classwxLuaDebuggerEvent.html">wxLuaDebuggerEvent</a>;
|
|
<a name="l00021"></a>00021
|
|
<a name="l00022"></a>00022 <span class="comment">// ----------------------------------------------------------------------------</span>
|
|
<a name="l00023"></a>00023 <span class="comment">// wxWindowIds of components used for the debugger</span>
|
|
<a name="l00024"></a>00024 <span class="comment">// ----------------------------------------------------------------------------</span>
|
|
<a name="l00025"></a>00025
|
|
<a name="l00026"></a>00026 <span class="keyword">enum</span>
|
|
<a name="l00027"></a>00027 {
|
|
<a name="l00028"></a><a class="code" href="wxldserv_8h.html#a61dadd085c1777f559549e05962b2c9eac055e452f3a0df829b92a9a4cd2a2748">00028</a> <a class="code" href="wxldserv_8h.html#a61dadd085c1777f559549e05962b2c9eac055e452f3a0df829b92a9a4cd2a2748">ID_WXLUASOCKET_DEBUGGEE_PROCESS</a> = 1500 <span class="comment">// id of the spawned debuggee wxProcess</span>
|
|
<a name="l00029"></a>00029 };
|
|
<a name="l00030"></a>00030
|
|
<a name="l00031"></a>00031 <span class="comment">// ----------------------------------------------------------------------------</span>
|
|
<a name="l00032"></a>00032 <span class="comment">// wxLuaSocketDebuggeeEvents_Type - These are socket events sent from debuggee</span>
|
|
<a name="l00033"></a>00033 <span class="comment">// to debugger to notify the debugger that action has been taken which was</span>
|
|
<a name="l00034"></a>00034 <span class="comment">// probably the result of a previously received</span>
|
|
<a name="l00035"></a>00035 <span class="comment">// wxLuaSocketDebuggerCommands_Type.</span>
|
|
<a name="l00036"></a>00036 <span class="comment">// These socket events should be sent with wxLuaSocketBase::Read/WriteCmd()</span>
|
|
<a name="l00037"></a>00037 <span class="comment">// ----------------------------------------------------------------------------</span>
|
|
<a name="l00038"></a>00038
|
|
<a name="l00039"></a><a class="code" href="wxldserv_8h.html#afc14ddb761260d012c4e36e2c15f0ab4">00039</a> <span class="keyword">enum</span> <a class="code" href="wxldserv_8h.html#afc14ddb761260d012c4e36e2c15f0ab4">wxLuaSocketDebuggeeEvents_Type</a>
|
|
<a name="l00040"></a>00040 {
|
|
<a name="l00041"></a><a class="code" href="wxldserv_8h.html#afc14ddb761260d012c4e36e2c15f0ab4aa5a05e782cac755d4c5d0609db77540c">00041</a> <a class="code" href="wxldserv_8h.html#afc14ddb761260d012c4e36e2c15f0ab4aa5a05e782cac755d4c5d0609db77540c">wxLUASOCKET_DEBUGGEE_EVENT_NONE</a> = 0, <span class="comment">// a socket error probably</span>
|
|
<a name="l00042"></a>00042
|
|
<a name="l00043"></a><a class="code" href="wxldserv_8h.html#afc14ddb761260d012c4e36e2c15f0ab4aabd41ab52b376e5e05356a9bd430ec0d">00043</a> <a class="code" href="wxldserv_8h.html#afc14ddb761260d012c4e36e2c15f0ab4aabd41ab52b376e5e05356a9bd430ec0d">wxLUASOCKET_DEBUGGEE_EVENT_BREAK</a>,
|
|
<a name="l00044"></a><a class="code" href="wxldserv_8h.html#afc14ddb761260d012c4e36e2c15f0ab4a0366561b99c50a9dfd2b98859c1b0f12">00044</a> <a class="code" href="wxldserv_8h.html#afc14ddb761260d012c4e36e2c15f0ab4a0366561b99c50a9dfd2b98859c1b0f12">wxLUASOCKET_DEBUGGEE_EVENT_PRINT</a>,
|
|
<a name="l00045"></a><a class="code" href="wxldserv_8h.html#afc14ddb761260d012c4e36e2c15f0ab4ad0f624aeb39089c40073d97eb1deead2">00045</a> <a class="code" href="wxldserv_8h.html#afc14ddb761260d012c4e36e2c15f0ab4ad0f624aeb39089c40073d97eb1deead2">wxLUASOCKET_DEBUGGEE_EVENT_ERROR</a>,
|
|
<a name="l00046"></a><a class="code" href="wxldserv_8h.html#afc14ddb761260d012c4e36e2c15f0ab4a1cb227999c40e6ea0e3790eb8c1dc488">00046</a> <a class="code" href="wxldserv_8h.html#afc14ddb761260d012c4e36e2c15f0ab4a1cb227999c40e6ea0e3790eb8c1dc488">wxLUASOCKET_DEBUGGEE_EVENT_EXIT</a>,
|
|
<a name="l00047"></a><a class="code" href="wxldserv_8h.html#afc14ddb761260d012c4e36e2c15f0ab4ab22d0f505ad11eb94d60fcd4bd0db193">00047</a> <a class="code" href="wxldserv_8h.html#afc14ddb761260d012c4e36e2c15f0ab4ab22d0f505ad11eb94d60fcd4bd0db193">wxLUASOCKET_DEBUGGEE_EVENT_STACK_ENUM</a>,
|
|
<a name="l00048"></a><a class="code" href="wxldserv_8h.html#afc14ddb761260d012c4e36e2c15f0ab4ad4f4f8908637936f1a0bdef9e2d39e26">00048</a> <a class="code" href="wxldserv_8h.html#afc14ddb761260d012c4e36e2c15f0ab4ad4f4f8908637936f1a0bdef9e2d39e26">wxLUASOCKET_DEBUGGEE_EVENT_STACK_ENTRY_ENUM</a>,
|
|
<a name="l00049"></a><a class="code" href="wxldserv_8h.html#afc14ddb761260d012c4e36e2c15f0ab4a9771f067576e4317c555fe8c484db833">00049</a> <a class="code" href="wxldserv_8h.html#afc14ddb761260d012c4e36e2c15f0ab4a9771f067576e4317c555fe8c484db833">wxLUASOCKET_DEBUGGEE_EVENT_TABLE_ENUM</a>,
|
|
<a name="l00050"></a><a class="code" href="wxldserv_8h.html#afc14ddb761260d012c4e36e2c15f0ab4a25f22e8b98686ed39b8b8c94cb13eacd">00050</a> <a class="code" href="wxldserv_8h.html#afc14ddb761260d012c4e36e2c15f0ab4a25f22e8b98686ed39b8b8c94cb13eacd">wxLUASOCKET_DEBUGGEE_EVENT_EVALUATE_EXPR</a>,
|
|
<a name="l00051"></a>00051
|
|
<a name="l00052"></a><a class="code" href="wxldserv_8h.html#afc14ddb761260d012c4e36e2c15f0ab4abcb633f486f667cc6e1e9b9677be3635">00052</a> <a class="code" href="wxldserv_8h.html#afc14ddb761260d012c4e36e2c15f0ab4abcb633f486f667cc6e1e9b9677be3635">wxLUASOCKET_DEBUGGEE_EVENT__COUNT</a>
|
|
<a name="l00053"></a>00053 };
|
|
<a name="l00054"></a>00054
|
|
<a name="l00055"></a>00055 <span class="comment">// ----------------------------------------------------------------------------</span>
|
|
<a name="l00056"></a>00056 <span class="comment">// wxLuaSocketDebuggerCommands_Type - These are socket commands sent from the</span>
|
|
<a name="l00057"></a>00057 <span class="comment">// debugger to debuggee to direct the debuggee to take action, which will</span>
|
|
<a name="l00058"></a>00058 <span class="comment">// then return with a wxLuaSocketDebuggeeEvents_Type when done.</span>
|
|
<a name="l00059"></a>00059 <span class="comment">// These socket commands should be sent with wxLuaSocketBase::Read/WriteCmd()</span>
|
|
<a name="l00060"></a>00060 <span class="comment">// ----------------------------------------------------------------------------</span>
|
|
<a name="l00061"></a>00061
|
|
<a name="l00062"></a><a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2">00062</a> <span class="keyword">enum</span> <a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2">wxLuaSocketDebuggerCommands_Type</a>
|
|
<a name="l00063"></a>00063 {
|
|
<a name="l00064"></a><a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2a4ec1ed128ed0dd9c56f9008d565cf1ef">00064</a> <a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2a4ec1ed128ed0dd9c56f9008d565cf1ef">wxLUASOCKET_DEBUGGER_CMD_NONE</a> = 0, <span class="comment">// a socket error probably</span>
|
|
<a name="l00065"></a>00065
|
|
<a name="l00066"></a><a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2ab9b73b30ab3ea86b5309ea312a803c0a">00066</a> <a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2ab9b73b30ab3ea86b5309ea312a803c0a">wxLUASOCKET_DEBUGGER_CMD_ADD_BREAKPOINT</a> = 100, <span class="comment">// shifted for debugging</span>
|
|
<a name="l00067"></a><a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2a4af41c34cd495dd6657254b3b5e77644">00067</a> <a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2a4af41c34cd495dd6657254b3b5e77644">wxLUASOCKET_DEBUGGER_CMD_REMOVE_BREAKPOINT</a>,
|
|
<a name="l00068"></a><a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2ae943eb82e073448ace516e9c54bd9e0e">00068</a> <a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2ae943eb82e073448ace516e9c54bd9e0e">wxLUASOCKET_DEBUGGER_CMD_DISABLE_BREAKPOINT</a>,
|
|
<a name="l00069"></a><a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2a7600383dc87f0328e7f6baadb5427b0b">00069</a> <a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2a7600383dc87f0328e7f6baadb5427b0b">wxLUASOCKET_DEBUGGER_CMD_ENABLE_BREAKPOINT</a>,
|
|
<a name="l00070"></a><a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2aa8650d5ad1ba22ee1f74bede2d1d4fa8">00070</a> <a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2aa8650d5ad1ba22ee1f74bede2d1d4fa8">wxLUASOCKET_DEBUGGER_CMD_CLEAR_ALL_BREAKPOINTS</a>,
|
|
<a name="l00071"></a><a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2af1a03396ba8347d3120dfc74c9c663c6">00071</a> <a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2af1a03396ba8347d3120dfc74c9c663c6">wxLUASOCKET_DEBUGGER_CMD_RUN_BUFFER</a>,
|
|
<a name="l00072"></a><a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2a2fd5695c8df7de1fa195815a3e32d99c">00072</a> <a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2a2fd5695c8df7de1fa195815a3e32d99c">wxLUASOCKET_DEBUGGER_CMD_DEBUG_STEP</a>,
|
|
<a name="l00073"></a><a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2a6b0bd874f711c3c29baa391564ff46e7">00073</a> <a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2a6b0bd874f711c3c29baa391564ff46e7">wxLUASOCKET_DEBUGGER_CMD_DEBUG_STEPOVER</a>,
|
|
<a name="l00074"></a><a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2aa844102ba5f425c48a083005dde0953b">00074</a> <a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2aa844102ba5f425c48a083005dde0953b">wxLUASOCKET_DEBUGGER_CMD_DEBUG_STEPOUT</a>,
|
|
<a name="l00075"></a><a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2a15f8fdc346066312118498a2f802c4ac">00075</a> <a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2a15f8fdc346066312118498a2f802c4ac">wxLUASOCKET_DEBUGGER_CMD_DEBUG_CONTINUE</a>,
|
|
<a name="l00076"></a><a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2ae6ba1d01f9c8336b7713f7b702c3e07c">00076</a> <a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2ae6ba1d01f9c8336b7713f7b702c3e07c">wxLUASOCKET_DEBUGGER_CMD_DEBUG_BREAK</a>,
|
|
<a name="l00077"></a><a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2a7e1f206f0d36c765f3fc1f8c4336211f">00077</a> <a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2a7e1f206f0d36c765f3fc1f8c4336211f">wxLUASOCKET_DEBUGGER_CMD_RESET</a>,
|
|
<a name="l00078"></a><a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2a506d42404198e69a576d12372eda6833">00078</a> <a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2a506d42404198e69a576d12372eda6833">wxLUASOCKET_DEBUGGER_CMD_ENUMERATE_STACK</a>,
|
|
<a name="l00079"></a><a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2a6056a12692631d61804580344b5fbec4">00079</a> <a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2a6056a12692631d61804580344b5fbec4">wxLUASOCKET_DEBUGGER_CMD_ENUMERATE_STACK_ENTRY</a>,
|
|
<a name="l00080"></a><a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2a25291dfeff71f8c46cdc3f844d6c2886">00080</a> <a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2a25291dfeff71f8c46cdc3f844d6c2886">wxLUASOCKET_DEBUGGER_CMD_ENUMERATE_TABLE_REF</a>,
|
|
<a name="l00081"></a><a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2a30033938a41b9b6c6f210bc0e09a3b0e">00081</a> <a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2a30033938a41b9b6c6f210bc0e09a3b0e">wxLUASOCKET_DEBUGGER_CMD_CLEAR_DEBUG_REFERENCES</a>,
|
|
<a name="l00082"></a><a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2a9705b33a1e0f1ae3a61b26dcce1c2cab">00082</a> <a class="code" href="wxldserv_8h.html#af4c71025a7e9287b1bb447e386cc2ac2a9705b33a1e0f1ae3a61b26dcce1c2cab">wxLUASOCKET_DEBUGGER_CMD_EVALUATE_EXPR</a>,
|
|
<a name="l00083"></a>00083 };
|
|
<a name="l00084"></a>00084
|
|
<a name="l00085"></a>00085 <span class="comment">// ----------------------------------------------------------------------------</span>
|
|
<a name="l00086"></a>00086 <span class="comment">// wxLuaDebuggerStackDialog - a wxLuaStackDialog for the wxLuaDebuggerBase.</span>
|
|
<a name="l00087"></a>00087 <span class="comment">// Use the function wxLuaDebuggerBase::DisplayStackDialog() to create</span>
|
|
<a name="l00088"></a>00088 <span class="comment">// and show one of these.</span>
|
|
<a name="l00089"></a>00089 <span class="comment">//</span>
|
|
<a name="l00090"></a>00090 <span class="comment">// Note: The wxLuaStackDialog is created by the debugger process and uses</span>
|
|
<a name="l00091"></a>00091 <span class="comment">// the overridden EnumerateXXX functions to get the wxLuaDebugData through the</span>
|
|
<a name="l00092"></a>00092 <span class="comment">// socket connection to the debuggee using the wxLuaDebuggerBase.</span>
|
|
<a name="l00093"></a>00093 <span class="comment">// Note: The wxLuaState of the wxLuaStackDialog is not used in this case</span>
|
|
<a name="l00094"></a>00094 <span class="comment">// since it 'exists' in the independent debuggee process.</span>
|
|
<a name="l00095"></a>00095 <span class="comment">// ----------------------------------------------------------------------------</span>
|
|
<a name="l00096"></a>00096
|
|
<a name="l00097"></a><a class="code" href="classwxLuaDebuggerStackDialog.html">00097</a> <span class="keyword">class </span><a class="code" href="wxluasocketdefs_8h.html#a59aa1606e0b31648f147e5eb694362d8">WXDLLIMPEXP_WXLUASOCKET</a> <a class="code" href="classwxLuaDebuggerStackDialog.html">wxLuaDebuggerStackDialog</a> : <span class="keyword">public</span> <a class="code" href="classwxLuaStackDialog.html">wxLuaStackDialog</a>
|
|
<a name="l00098"></a>00098 {
|
|
<a name="l00099"></a>00099 <span class="keyword">public</span>:
|
|
<a name="l00100"></a>00100 <a class="code" href="classwxLuaDebuggerStackDialog.html">wxLuaDebuggerStackDialog</a>(<a class="code" href="classwxLuaDebuggerBase.html">wxLuaDebuggerBase</a>* luaDebugger,
|
|
<a name="l00101"></a>00101 wxWindow* parent, wxWindowID <span class="keywordtype">id</span> = wxID_ANY,
|
|
<a name="l00102"></a>00102 <span class="keyword">const</span> wxString& title = wxT(<span class="stringliteral">"wxLua Stack"</span>),
|
|
<a name="l00103"></a>00103 <span class="keyword">const</span> wxPoint& pos = wxDefaultPosition,
|
|
<a name="l00104"></a>00104 <span class="keyword">const</span> wxSize& size = wxDefaultSize);
|
|
<a name="l00105"></a>00105
|
|
<a name="l00106"></a>00106 <span class="keyword">virtual</span> ~<a class="code" href="classwxLuaDebuggerStackDialog.html">wxLuaDebuggerStackDialog</a>();
|
|
<a name="l00107"></a>00107
|
|
<a name="l00108"></a>00108 <span class="comment">// overridden functions for the wxLuaStackDialog that forward to the</span>
|
|
<a name="l00109"></a>00109 <span class="comment">// wxLuaDebuggerBase, they return through a wxLuaDebuggerEvent and the</span>
|
|
<a name="l00110"></a>00110 <span class="comment">// wxLuaDebuggerBase::OnDebugStackEnum, OnDebugTableEnum, OnDebugStackEntryEnum</span>
|
|
<a name="l00111"></a>00111 <span class="comment">// functions that then call the FillXXX functions.</span>
|
|
<a name="l00112"></a>00112 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classwxLuaStackDialog.html#a3b6e83cf38477d150b3609c46fc88041">EnumerateStack</a>();
|
|
<a name="l00113"></a>00113 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classwxLuaStackDialog.html#af49526159394da23d289a7ed89c733fb">EnumerateStackEntry</a>(<span class="keywordtype">int</span> nEntry);
|
|
<a name="l00114"></a>00114 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classwxLuaStackDialog.html#a7dc6282f947a6f301bd5d2e780dca950">EnumerateTable</a>(<span class="keywordtype">int</span> nRef, <span class="keywordtype">int</span> nEntry, <span class="keywordtype">long</span> lc_item);
|
|
<a name="l00115"></a>00115 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classwxLuaStackDialog.html#a5140427b843f582cdebf7a43beab87a6">EnumerateGlobalData</a>(<span class="keywordtype">long</span> lc_item);
|
|
<a name="l00116"></a>00116
|
|
<a name="l00117"></a>00117 <span class="comment">// implementation</span>
|
|
<a name="l00118"></a>00118
|
|
<a name="l00119"></a><a class="code" href="classwxLuaDebuggerStackDialog.html#a87d4aa980c167ae29494b915fb2ad563">00119</a> <a class="code" href="classwxLuaDebuggerBase.html">wxLuaDebuggerBase</a>* m_luaDebugger;
|
|
<a name="l00120"></a>00120
|
|
<a name="l00121"></a>00121 <span class="keyword">private</span>:
|
|
<a name="l00122"></a>00122 DECLARE_ABSTRACT_CLASS(<a class="code" href="classwxLuaDebuggerStackDialog.html">wxLuaDebuggerStackDialog</a>)
|
|
<a name="l00123"></a>00123 };
|
|
<a name="l00124"></a>00124
|
|
<a name="l00125"></a>00125 <span class="comment">// ----------------------------------------------------------------------------</span>
|
|
<a name="l00126"></a>00126 <span class="comment">// wxLuaDebuggerProcess - The wxProcess from wxExecute to run a</span>
|
|
<a name="l00127"></a>00127 <span class="comment">// wxLuaDebugTarget as a debuggee. It handles OnTerminate gracefully.</span>
|
|
<a name="l00128"></a>00128 <span class="comment">// ----------------------------------------------------------------------------</span>
|
|
<a name="l00129"></a>00129
|
|
<a name="l00130"></a><a class="code" href="classwxLuaDebuggerProcess.html">00130</a> <span class="keyword">class </span><a class="code" href="classwxLuaDebuggerProcess.html">wxLuaDebuggerProcess</a> : <span class="keyword">public</span> wxProcess
|
|
<a name="l00131"></a>00131 {
|
|
<a name="l00132"></a>00132 <span class="keyword">public</span>:
|
|
<a name="l00133"></a>00133 <span class="comment">// Don't use the debugger as the event handler since we don't want</span>
|
|
<a name="l00134"></a>00134 <span class="comment">// problems when this may exist when the debugger is being deleted.</span>
|
|
<a name="l00135"></a><a class="code" href="classwxLuaDebuggerProcess.html#a5fff676c4049a318b68f91b9aeee5bdc">00135</a> <a class="code" href="classwxLuaDebuggerProcess.html#a5fff676c4049a318b68f91b9aeee5bdc">wxLuaDebuggerProcess</a>(<a class="code" href="classwxLuaDebuggerBase.html">wxLuaDebuggerBase</a>* debugger, wxWindowID <span class="keywordtype">id</span>)
|
|
<a name="l00136"></a>00136 : wxProcess(NULL, id), <a class="code" href="classwxLuaDebuggerProcess.html#aa4ac789642e959ff42e2a2f8defe0957">m_debugger</a>(debugger) {}
|
|
<a name="l00137"></a>00137
|
|
<a name="l00138"></a>00138 <span class="comment">// don't send event, but delete this and NULL debugger's pointer to this</span>
|
|
<a name="l00139"></a>00139 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classwxLuaDebuggerProcess.html#ae3596e2b1ea7cebb3b52f3f05ebbac19">OnTerminate</a>(<span class="keywordtype">int</span> pid, <span class="keywordtype">int</span> status);
|
|
<a name="l00140"></a>00140
|
|
<a name="l00141"></a><a class="code" href="classwxLuaDebuggerProcess.html#aa4ac789642e959ff42e2a2f8defe0957">00141</a> <a class="code" href="classwxLuaDebuggerBase.html">wxLuaDebuggerBase</a>* <a class="code" href="classwxLuaDebuggerProcess.html#aa4ac789642e959ff42e2a2f8defe0957">m_debugger</a>;
|
|
<a name="l00142"></a>00142 };
|
|
<a name="l00143"></a>00143
|
|
<a name="l00144"></a>00144 <span class="comment">// ----------------------------------------------------------------------------</span>
|
|
<a name="l00145"></a>00145 <span class="comment">// wxLuaDebuggerBase - Socket debugger interface base class.</span>
|
|
<a name="l00146"></a>00146 <span class="comment">// This base class sends wxLUASOCKET_DEBUGGER_CMD_XXX commands through the</span>
|
|
<a name="l00147"></a>00147 <span class="comment">// socket to the debuggee. The debuggee then responds through the socket with</span>
|
|
<a name="l00148"></a>00148 <span class="comment">// a wxLUASOCKET_DEBUGGEE_EVENT_XXX event which is turned into a</span>
|
|
<a name="l00149"></a>00149 <span class="comment">// wxLuaDebuggerEvent of type wxEVT_WXLUA_DEBUGGER_XXX which is processed by</span>
|
|
<a name="l00150"></a>00150 <span class="comment">// this class. Use wxEvtHandler::Connect(...) (or subclass and use an event</span>
|
|
<a name="l00151"></a>00151 <span class="comment">// table) to intercept these events and act on them.</span>
|
|
<a name="l00152"></a>00152 <span class="comment">// ----------------------------------------------------------------------------</span>
|
|
<a name="l00153"></a>00153
|
|
<a name="l00154"></a><a class="code" href="classwxLuaDebuggerBase.html">00154</a> <span class="keyword">class </span><a class="code" href="wxluasocketdefs_8h.html#a59aa1606e0b31648f147e5eb694362d8">WXDLLIMPEXP_WXLUASOCKET</a> <a class="code" href="classwxLuaDebuggerBase.html">wxLuaDebuggerBase</a> : <span class="keyword">public</span> wxEvtHandler
|
|
<a name="l00155"></a>00155 {
|
|
<a name="l00156"></a>00156 <span class="keyword">public</span>:
|
|
<a name="l00157"></a>00157 <a class="code" href="wxldserv_8h.html#ad13880204a9478a6b8d91298273cc179">wxLuaDebuggerBase</a>(<span class="keywordtype">int</span> port_number);
|
|
<a name="l00158"></a>00158 <span class="keyword">virtual</span> ~<a class="code" href="classwxLuaDebuggerBase.html">wxLuaDebuggerBase</a>();
|
|
<a name="l00159"></a>00159
|
|
<a name="l00160"></a>00160 <span class="comment">// Start the debugger server to listen for a debuggee. After creation</span>
|
|
<a name="l00161"></a>00161 <span class="comment">// you must call StartServer to actually start the server. returns success</span>
|
|
<a name="l00162"></a>00162 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> StartServer() = 0;
|
|
<a name="l00163"></a>00163 <span class="comment">// Stop the debugger server, returns success</span>
|
|
<a name="l00164"></a>00164 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> StopServer() = 0;
|
|
<a name="l00165"></a>00165 <span class="comment">// Start a debuggee client to be debugged by this, returns success</span>
|
|
<a name="l00166"></a>00166 <span class="comment">// By default it starts a new wxLuaDebuggerProcess</span>
|
|
<a name="l00167"></a>00167 <span class="keyword">virtual</span> <span class="keywordtype">long</span> StartClient();
|
|
<a name="l00168"></a>00168
|
|
<a name="l00169"></a>00169 <span class="comment">// These functions all send socket commands wxLUASOCKET_DEBUGGER_CMD_XXX</span>
|
|
<a name="l00170"></a>00170 <span class="comment">// and the appropriate data to the debuggee.</span>
|
|
<a name="l00171"></a>00171
|
|
<a name="l00172"></a>00172 <span class="keywordtype">bool</span> AddBreakPoint(<span class="keyword">const</span> wxString &fileName, <span class="keywordtype">int</span> lineNumber);
|
|
<a name="l00173"></a>00173 <span class="keywordtype">bool</span> RemoveBreakPoint(<span class="keyword">const</span> wxString &fileName, <span class="keywordtype">int</span> lineNumber);
|
|
<a name="l00174"></a>00174 <span class="keywordtype">bool</span> DisableBreakPoint(<span class="keyword">const</span> wxString &fileName, <span class="keywordtype">int</span> lineNumber);
|
|
<a name="l00175"></a>00175 <span class="keywordtype">bool</span> EnableBreakPoint(<span class="keyword">const</span> wxString &fileName, <span class="keywordtype">int</span> lineNumber);
|
|
<a name="l00176"></a>00176 <span class="keywordtype">bool</span> ClearAllBreakPoints();
|
|
<a name="l00177"></a>00177 <span class="keywordtype">bool</span> Run(<span class="keyword">const</span> wxString &fileName, <span class="keyword">const</span> wxString &buffer);
|
|
<a name="l00178"></a>00178 <span class="keywordtype">bool</span> Step();
|
|
<a name="l00179"></a>00179 <span class="keywordtype">bool</span> StepOver();
|
|
<a name="l00180"></a>00180 <span class="keywordtype">bool</span> StepOut();
|
|
<a name="l00181"></a>00181 <span class="keywordtype">bool</span> Continue();
|
|
<a name="l00182"></a>00182 <span class="keywordtype">bool</span> Break();
|
|
<a name="l00183"></a>00183 <span class="keywordtype">bool</span> Reset();
|
|
<a name="l00184"></a>00184 <span class="keywordtype">bool</span> EnumerateStack();
|
|
<a name="l00185"></a>00185 <span class="keywordtype">bool</span> EnumerateStackEntry(<span class="keywordtype">int</span> stackEntry);
|
|
<a name="l00186"></a>00186 <span class="keywordtype">bool</span> EnumerateTable(<span class="keywordtype">int</span> tableRef, <span class="keywordtype">int</span> nIndex, <span class="keywordtype">long</span> nItemNode);
|
|
<a name="l00187"></a>00187 <span class="keywordtype">bool</span> ClearDebugReferences();
|
|
<a name="l00188"></a>00188 <span class="keywordtype">bool</span> EvaluateExpr(<span class="keywordtype">int</span> exprRef, <span class="keyword">const</span> wxString &strExpression);
|
|
<a name="l00189"></a>00189
|
|
<a name="l00190"></a>00190 <span class="comment">// Handle the wxLuaSocketDebuggeeEvents_Type event sent by the debuggee.</span>
|
|
<a name="l00191"></a>00191 <span class="comment">// returns the input event_type if ok or -1 on error</span>
|
|
<a name="l00192"></a>00192 <span class="comment">// On success a wxLuaDebuggerEvent is generated with the equivalent</span>
|
|
<a name="l00193"></a>00193 <span class="comment">// wxEVT_WXLUA_DEBUGGER_XXX to the input wxLUASOCKET_DEBUGGEE_EVENT_XXX</span>
|
|
<a name="l00194"></a>00194 <span class="keyword">virtual</span> <span class="keywordtype">int</span> HandleDebuggeeEvent(<span class="keywordtype">int</span> event_type);
|
|
<a name="l00195"></a>00195
|
|
<a name="l00196"></a>00196 <span class="comment">// Get the debugger socket to read/write data to the debuggee</span>
|
|
<a name="l00197"></a>00197 <span class="keyword">virtual</span> <a class="code" href="classwxLuaSocketBase.html">wxLuaSocketBase</a>* GetSocketBase() = 0;
|
|
<a name="l00198"></a>00198 <span class="comment">// Check if the socket is connected and if not send a</span>
|
|
<a name="l00199"></a>00199 <span class="comment">// wxEVT_WXLUA_DEBUGGER_DEBUGGEE_DISCONNECTED event with a socket error msg</span>
|
|
<a name="l00200"></a>00200 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> CheckSocketConnected(<span class="keywordtype">bool</span> send_event = <span class="keyword">true</span>, <span class="keyword">const</span> wxString& msg = wxEmptyString);
|
|
<a name="l00201"></a>00201 <span class="comment">// Check if the input is true (ie. return of a socket read) and if not send a</span>
|
|
<a name="l00202"></a>00202 <span class="comment">// wxEVT_WXLUA_DEBUGGER_DEBUGGEE_DISCONNECTED with a read error msg</span>
|
|
<a name="l00203"></a>00203 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> CheckSocketRead(<span class="keywordtype">bool</span> read_ok, <span class="keyword">const</span> wxString& msg = wxEmptyString);
|
|
<a name="l00204"></a>00204 <span class="comment">// Check if the input is true (eg. return of a socket write) and if not send a</span>
|
|
<a name="l00205"></a>00205 <span class="comment">// wxEVT_WXLUA_DEBUGGER_DEBUGGEE_DISCONNECTED with a write error msg</span>
|
|
<a name="l00206"></a>00206 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> CheckSocketWrite(<span class="keywordtype">bool</span> write_ok, <span class="keyword">const</span> wxString& msg = wxEmptyString);
|
|
<a name="l00207"></a>00207
|
|
<a name="l00208"></a>00208 <span class="comment">// Get the socket error message or ""</span>
|
|
<a name="l00209"></a>00209 <span class="keyword">virtual</span> wxString GetSocketErrorMsg() = 0;
|
|
<a name="l00210"></a>00210
|
|
<a name="l00211"></a>00211 <span class="comment">// Send the event to this wxEvtHandler</span>
|
|
<a name="l00212"></a><a class="code" href="classwxLuaDebuggerBase.html#a20ee359e60353b525f5d31a723ec0e09">00212</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classwxLuaDebuggerBase.html#a20ee359e60353b525f5d31a723ec0e09">SendEvent</a>(wxEvent& event) { AddPendingEvent(event); }
|
|
<a name="l00213"></a>00213
|
|
<a name="l00214"></a>00214 <span class="comment">// Get/Set the wxLuaStackDialog to show the stack of the debugged program</span>
|
|
<a name="l00215"></a><a class="code" href="classwxLuaDebuggerBase.html#a37183afc4304bcae566591857ca9c9f1">00215</a> <a class="code" href="classwxLuaStackDialog.html">wxLuaStackDialog</a>* <a class="code" href="classwxLuaDebuggerBase.html#a37183afc4304bcae566591857ca9c9f1">GetStackDialog</a>() { <span class="keywordflow">return</span> m_stackDialog; }
|
|
<a name="l00216"></a><a class="code" href="classwxLuaDebuggerBase.html#a6740d0cf9b704b8148bcdcde2e68c10a">00216</a> <span class="keywordtype">void</span> <a class="code" href="classwxLuaDebuggerBase.html#a6740d0cf9b704b8148bcdcde2e68c10a">SetStackDialog</a>(<a class="code" href="classwxLuaStackDialog.html">wxLuaStackDialog</a> *stackDialog) { m_stackDialog = stackDialog; }
|
|
<a name="l00217"></a>00217 <span class="comment">// Create and display a wxLuaDebuggerStackDialog for the debuggee process</span>
|
|
<a name="l00218"></a>00218 <span class="keywordtype">bool</span> DisplayStackDialog(wxWindow *parent, wxWindowID <span class="keywordtype">id</span> = wxID_ANY);
|
|
<a name="l00219"></a>00219
|
|
<a name="l00220"></a>00220 <span class="comment">// Handle the stack dialog events using the internal wxLuaStackDialog</span>
|
|
<a name="l00221"></a>00221 <span class="keywordtype">void</span> OnDebugStackEnum(<a class="code" href="classwxLuaDebuggerEvent.html">wxLuaDebuggerEvent</a> &event);
|
|
<a name="l00222"></a>00222 <span class="keywordtype">void</span> OnDebugTableEnum(<a class="code" href="classwxLuaDebuggerEvent.html">wxLuaDebuggerEvent</a> &event);
|
|
<a name="l00223"></a>00223 <span class="keywordtype">void</span> OnDebugStackEntryEnum(<a class="code" href="classwxLuaDebuggerEvent.html">wxLuaDebuggerEvent</a> &event);
|
|
<a name="l00224"></a>00224
|
|
<a name="l00225"></a>00225 <span class="comment">// Handle the wxProcess debuggee termination</span>
|
|
<a name="l00226"></a>00226 <span class="keywordtype">void</span> OnEndDebugeeProcess(wxProcessEvent& event);
|
|
<a name="l00227"></a>00227
|
|
<a name="l00228"></a>00228 <span class="comment">// Get the port number the socket is using</span>
|
|
<a name="l00229"></a><a class="code" href="classwxLuaDebuggerBase.html#ab966455913f1a6f1ea11b478f9288339">00229</a> <span class="keywordtype">int</span> <a class="code" href="classwxLuaDebuggerBase.html#ab966455913f1a6f1ea11b478f9288339">GetPortNumber</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_port_number; }
|
|
<a name="l00230"></a>00230
|
|
<a name="l00231"></a>00231 <span class="comment">// Get the wxLuaDebuggerProcess used to run the debuggee in</span>
|
|
<a name="l00232"></a><a class="code" href="classwxLuaDebuggerBase.html#ad71ff38e025b64872b117a0701bd8ca5">00232</a> <a class="code" href="classwxLuaDebuggerProcess.html">wxLuaDebuggerProcess</a>* <a class="code" href="classwxLuaDebuggerBase.html#ad71ff38e025b64872b117a0701bd8ca5">GetDebuggeeProcess</a>() { <span class="keywordflow">return</span> m_debuggeeProcess; }
|
|
<a name="l00233"></a><a class="code" href="classwxLuaDebuggerBase.html#ac6f83d41fb563289a8ff21bd135e249b">00233</a> <span class="keywordtype">long</span> <a class="code" href="classwxLuaDebuggerBase.html#ac6f83d41fb563289a8ff21bd135e249b">GetDebuggeeProcessId</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_debuggeeProcessID; }
|
|
<a name="l00234"></a>00234 <span class="keywordtype">bool</span> KillDebuggee();
|
|
<a name="l00235"></a>00235
|
|
<a name="l00236"></a>00236 <span class="comment">// Set the program name to start the debuggee target with</span>
|
|
<a name="l00237"></a>00237 <span class="comment">// Note: If the the program name is empty when this class is created, it</span>
|
|
<a name="l00238"></a>00238 <span class="comment">// will be initialized to wxGetApp().argv[0].</span>
|
|
<a name="l00239"></a>00239 <span class="comment">// If you set it to some other value it will not be changed.</span>
|
|
<a name="l00240"></a><a class="code" href="classwxLuaDebuggerBase.html#afbfb3e977a8ef08a6cf78f8142c6f99c">00240</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classwxLuaDebuggerBase.html#afbfb3e977a8ef08a6cf78f8142c6f99c">SetProgramName</a>(<span class="keyword">const</span> wxString& name) { sm_programName = name; }
|
|
<a name="l00241"></a><a class="code" href="classwxLuaDebuggerBase.html#a3c4e6f01771ba06d284da71f6d77a065">00241</a> <span class="keyword">static</span> wxString <a class="code" href="classwxLuaDebuggerBase.html#a3c4e6f01771ba06d284da71f6d77a065">GetProgramName</a>() { <span class="keywordflow">return</span> sm_programName; }
|
|
<a name="l00242"></a>00242
|
|
<a name="l00243"></a>00243 <span class="comment">// Get/Set the network name to use to start the debuggee target with.</span>
|
|
<a name="l00244"></a>00244 <span class="comment">// Note: If the the network name is empty when this class is created, it</span>
|
|
<a name="l00245"></a>00245 <span class="comment">// will be initialized to wxGetHostName() in MSW and 'localhost' in UNIX.</span>
|
|
<a name="l00246"></a>00246 <span class="comment">// If you set it to some other value it will not be changed.</span>
|
|
<a name="l00247"></a><a class="code" href="classwxLuaDebuggerBase.html#a7f9f1615d1c48455388c89fcdd1ed59c">00247</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classwxLuaDebuggerBase.html#a7f9f1615d1c48455388c89fcdd1ed59c">SetNetworkName</a>(<span class="keyword">const</span> wxString& name) { sm_networkName = name; }
|
|
<a name="l00248"></a><a class="code" href="classwxLuaDebuggerBase.html#a1429a9a31bc737c6a39ae233dbdc680b">00248</a> <span class="keyword">static</span> wxString <a class="code" href="classwxLuaDebuggerBase.html#a1429a9a31bc737c6a39ae233dbdc680b">GetNetworkName</a>() { <span class="keywordflow">return</span> sm_networkName; }
|
|
<a name="l00249"></a>00249
|
|
<a name="l00250"></a>00250 <span class="comment">// implementation</span>
|
|
<a name="l00251"></a>00251
|
|
<a name="l00252"></a><a class="code" href="classwxLuaDebuggerBase.html#a58aa1eaebd2371a22a65f33967298c5c">00252</a> <span class="keywordtype">int</span> m_port_number; <span class="comment">// the socket port to listen to</span>
|
|
<a name="l00253"></a><a class="code" href="classwxLuaDebuggerBase.html#afa47538d246bb164fbec9abb7d9a872e">00253</a> <a class="code" href="classwxLuaStackDialog.html">wxLuaStackDialog</a> *m_stackDialog; <span class="comment">// the stack dialog to</span>
|
|
<a name="l00254"></a><a class="code" href="classwxLuaDebuggerBase.html#a2ab9f3a1d23d1fb715a02eb488a81bed">00254</a> <a class="code" href="classwxLuaDebuggerProcess.html">wxLuaDebuggerProcess</a> *m_debuggeeProcess; <span class="comment">// wxProcess of the debuggee</span>
|
|
<a name="l00255"></a><a class="code" href="classwxLuaDebuggerBase.html#a442741106781b3411f1323fb4dd61a81">00255</a> <span class="keywordtype">long</span> m_debuggeeProcessID; <span class="comment">// id of the debuggee wxProcess</span>
|
|
<a name="l00256"></a>00256
|
|
<a name="l00257"></a><a class="code" href="classwxLuaDebuggerBase.html#acc589798cdc32e931206744a70c858ac">00257</a> wxCriticalSection m_acceptSockCritSect; <span class="comment">// for deleting accepted socket</span>
|
|
<a name="l00258"></a><a class="code" href="classwxLuaDebuggerBase.html#a8b2b2cb42f0382ec1d17abd6d184bc3c">00258</a> wxCriticalSection m_processCritSect; <span class="comment">// for deleting the client process</span>
|
|
<a name="l00259"></a>00259
|
|
<a name="l00260"></a><a class="code" href="classwxLuaDebuggerBase.html#a9768c37fcbc6aa0ca8a72b4486b664ac">00260</a> <span class="keyword">static</span> wxString sm_programName; <span class="comment">// name of the program to run for debuggee</span>
|
|
<a name="l00261"></a><a class="code" href="classwxLuaDebuggerBase.html#aabf8bac0e3f28caf584270fabd44ea02">00261</a> <span class="keyword">static</span> wxString sm_networkName; <span class="comment">// name of the network to use for the debuggee</span>
|
|
<a name="l00262"></a>00262
|
|
<a name="l00263"></a><a class="code" href="classwxLuaDebuggerBase.html#a1b985ded8a4ffc9136cf9a3f96d18773">00263</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwxLuaDebuggerProcess.html">wxLuaDebuggerProcess</a>;
|
|
<a name="l00264"></a>00264
|
|
<a name="l00265"></a>00265 <span class="keyword">private</span>:
|
|
<a name="l00266"></a>00266 DECLARE_EVENT_TABLE();
|
|
<a name="l00267"></a>00267 DECLARE_ABSTRACT_CLASS(<a class="code" href="classwxLuaDebuggerBase.html">wxLuaDebuggerBase</a>)
|
|
<a name="l00268"></a>00268 };
|
|
<a name="l00269"></a>00269
|
|
<a name="l00270"></a><a class="code" href="wxldserv_8h.html#a60950cfec7e1d9c9a78234f0a3a6c8ad">00270</a> <span class="preprocessor">#define WXLUASOCKET_USE_C_SOCKET</span>
|
|
<a name="l00271"></a>00271 <span class="preprocessor"></span><span class="preprocessor">#ifdef WXLUASOCKET_USE_C_SOCKET</span>
|
|
<a name="l00272"></a>00272 <span class="preprocessor"></span>
|
|
<a name="l00273"></a>00273 <span class="comment">// ----------------------------------------------------------------------------</span>
|
|
<a name="l00274"></a>00274 <span class="comment">// wxLuaDebuggerCServer - a socket server for a Lua program to communicate with a</span>
|
|
<a name="l00275"></a>00275 <span class="comment">// wxLuaDebugTarget run in C++.</span>
|
|
<a name="l00276"></a>00276 <span class="comment">// ----------------------------------------------------------------------------</span>
|
|
<a name="l00277"></a>00277
|
|
<a name="l00278"></a><a class="code" href="classwxLuaDebuggerCServer.html">00278</a> <span class="keyword">class </span><a class="code" href="wxluasocketdefs_8h.html#a59aa1606e0b31648f147e5eb694362d8">WXDLLIMPEXP_WXLUASOCKET</a> <a class="code" href="classwxLuaDebuggerCServer.html">wxLuaDebuggerCServer</a> : <span class="keyword">public</span> <a class="code" href="classwxLuaDebuggerBase.html">wxLuaDebuggerBase</a>
|
|
<a name="l00279"></a>00279 {
|
|
<a name="l00280"></a>00280 <span class="keyword">protected</span>:
|
|
<a name="l00281"></a>00281 <span class="comment">// ----------------------------------------------------------------------------</span>
|
|
<a name="l00282"></a>00282 <span class="comment">// wxLuaDebuggerCServer::LuaThread - a wxThread for the wxLuaDebuggerCServer</span>
|
|
<a name="l00283"></a>00283 <span class="comment">// ----------------------------------------------------------------------------</span>
|
|
<a name="l00284"></a><a class="code" href="classwxLuaDebuggerCServer_1_1LuaThread.html">00284</a> <span class="keyword">class </span><a class="code" href="classwxLuaDebuggerCServer_1_1LuaThread.html">LuaThread</a> : <span class="keyword">public</span> wxThread
|
|
<a name="l00285"></a>00285 {
|
|
<a name="l00286"></a>00286 <span class="keyword">public</span>:
|
|
<a name="l00287"></a><a class="code" href="classwxLuaDebuggerCServer_1_1LuaThread.html#a011b3dcfe67aac468d1512151a8a4ae1">00287</a> <a class="code" href="classwxLuaDebuggerCServer_1_1LuaThread.html">LuaThread</a>(<a class="code" href="classwxLuaDebuggerCServer.html">wxLuaDebuggerCServer</a> *pServer) : wxThread(wxTHREAD_JOINABLE),
|
|
<a name="l00288"></a>00288 m_pServer(pServer) {}
|
|
<a name="l00289"></a>00289
|
|
<a name="l00290"></a>00290 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *Entry(); <span class="comment">// thread execution starts here</span>
|
|
<a name="l00291"></a>00291 <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnExit(); <span class="comment">// called when the thread exits</span>
|
|
<a name="l00292"></a>00292
|
|
<a name="l00293"></a><a class="code" href="classwxLuaDebuggerCServer_1_1LuaThread.html#ae2d4e2296fe788d868e2100d97ca49f9">00293</a> <a class="code" href="classwxLuaDebuggerCServer.html">wxLuaDebuggerCServer</a> *m_pServer;
|
|
<a name="l00294"></a>00294 };
|
|
<a name="l00295"></a>00295
|
|
<a name="l00296"></a>00296 <span class="keyword">public</span>:
|
|
<a name="l00297"></a>00297 <a class="code" href="classwxLuaDebuggerCServer.html">wxLuaDebuggerCServer</a>(<span class="keywordtype">int</span> port_number);
|
|
<a name="l00298"></a>00298 <span class="keyword">virtual</span> ~<a class="code" href="classwxLuaDebuggerCServer.html">wxLuaDebuggerCServer</a>();
|
|
<a name="l00299"></a>00299
|
|
<a name="l00300"></a>00300 <span class="comment">// Start the debugger server to listen for a debuggee. After creation</span>
|
|
<a name="l00301"></a>00301 <span class="comment">// you must call StartServer to actually start the server. returns success</span>
|
|
<a name="l00302"></a>00302 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classwxLuaDebuggerBase.html#a244012a9c0f9061932cae7377d3e57e3">StartServer</a>();
|
|
<a name="l00303"></a>00303 <span class="comment">// Stop the debugger server, returns success</span>
|
|
<a name="l00304"></a>00304 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classwxLuaDebuggerBase.html#adfba82759bff194ba5812a213bada964">StopServer</a>();
|
|
<a name="l00305"></a>00305 <span class="comment">// Start a debuggee client to be debugged by this, returns process ID</span>
|
|
<a name="l00306"></a>00306 <span class="comment">// is > 0 on success.</span>
|
|
<a name="l00307"></a>00307 <span class="keyword">virtual</span> <span class="keywordtype">long</span> <a class="code" href="classwxLuaDebuggerBase.html#a5ad5bcbca9ee05b70059fa1aba620957">StartClient</a>();
|
|
<a name="l00308"></a>00308
|
|
<a name="l00309"></a><a class="code" href="classwxLuaDebuggerCServer.html#aa9d96c119e62855e57043ebe6629c1fb">00309</a> <span class="keyword">virtual</span> <a class="code" href="classwxLuaSocketBase.html">wxLuaSocketBase</a>* <a class="code" href="classwxLuaDebuggerCServer.html#aa9d96c119e62855e57043ebe6629c1fb">GetSocketBase</a>() { <span class="keywordflow">return</span> m_acceptedSocket; }
|
|
<a name="l00310"></a>00310
|
|
<a name="l00311"></a>00311 <span class="keyword">virtual</span> wxString <a class="code" href="classwxLuaDebuggerBase.html#ad63e9f30ad5f8f2c15a844f0b6ad8e60">GetSocketErrorMsg</a>();
|
|
<a name="l00312"></a>00312
|
|
<a name="l00313"></a>00313 <span class="comment">// implementation</span>
|
|
<a name="l00314"></a>00314
|
|
<a name="l00315"></a>00315 <span class="comment">// The thread function for the running LuaThread, only to be called by the</span>
|
|
<a name="l00316"></a>00316 <span class="comment">// thread.</span>
|
|
<a name="l00317"></a>00317 <span class="keywordtype">void</span> ThreadFunction();
|
|
<a name="l00318"></a>00318
|
|
<a name="l00319"></a>00319 <span class="keywordtype">bool</span> WaitForConnect(<span class="keywordtype">int</span> timeOut);
|
|
<a name="l00320"></a>00320
|
|
<a name="l00321"></a><a class="code" href="classwxLuaDebuggerCServer.html#a9d3c0ff69e33473a9b031e22409683ff">00321</a> <a class="code" href="classwxLuaCSocket.html">wxLuaSocket</a> *m_serverSocket;
|
|
<a name="l00322"></a><a class="code" href="classwxLuaDebuggerCServer.html#ab53ae1eabcd6be8e1d5a8d84e8ae09bc">00322</a> <a class="code" href="classwxLuaCSocket.html">wxLuaSocket</a> *m_acceptedSocket;
|
|
<a name="l00323"></a><a class="code" href="classwxLuaDebuggerCServer.html#a1f295c06f848b980fb614966df6d74b4">00323</a> <a class="code" href="classwxLuaDebuggerCServer_1_1LuaThread.html">wxLuaDebuggerCServer::LuaThread</a> *m_pThread;
|
|
<a name="l00324"></a><a class="code" href="classwxLuaDebuggerCServer.html#a3e3489bbf4ce9d2917a8409384d81d4d">00324</a> <span class="keywordtype">bool</span> m_shutdown;
|
|
<a name="l00325"></a>00325
|
|
<a name="l00326"></a>00326 <span class="keyword">private</span>:
|
|
<a name="l00327"></a>00327 DECLARE_ABSTRACT_CLASS(<a class="code" href="classwxLuaDebuggerCServer.html">wxLuaDebuggerCServer</a>)
|
|
<a name="l00328"></a>00328 };
|
|
<a name="l00329"></a>00329
|
|
<a name="l00330"></a><a class="code" href="wxldserv_8h.html#ae503bb6b95ac9662fdc5eb7b3b24655c">00330</a> <span class="keyword">typedef</span> <a class="code" href="classwxLuaDebuggerCServer.html">wxLuaDebuggerCServer</a> <a class="code" href="classwxLuaDebuggerCServer.html">wxLuaDebuggerServer</a>;
|
|
<a name="l00331"></a>00331
|
|
<a name="l00332"></a>00332 <span class="preprocessor">#else // !WXLUASOCKET_USE_C_SOCKET</span>
|
|
<a name="l00333"></a>00333 <span class="preprocessor"></span>
|
|
<a name="l00334"></a>00334 <span class="comment">// ----------------------------------------------------------------------------</span>
|
|
<a name="l00335"></a>00335 <span class="comment">// wxLuaDebuggerwxServer - a socket server for a Lua program to communicate with a</span>
|
|
<a name="l00336"></a>00336 <span class="comment">// wxLuaDebugTarget run in C++.</span>
|
|
<a name="l00337"></a>00337 <span class="comment">// ----------------------------------------------------------------------------</span>
|
|
<a name="l00338"></a>00338
|
|
<a name="l00339"></a>00339 <span class="keyword">class </span><a class="code" href="wxluasocketdefs_8h.html#a59aa1606e0b31648f147e5eb694362d8">WXDLLIMPEXP_WXLUASOCKET</a> wxLuaDebuggerwxSocketServer : <span class="keyword">public</span> <a class="code" href="classwxLuaDebuggerBase.html">wxLuaDebuggerBase</a>
|
|
<a name="l00340"></a>00340 {
|
|
<a name="l00341"></a>00341 <span class="keyword">public</span>:
|
|
<a name="l00342"></a>00342 wxLuaDebuggerwxSocketServer(<span class="keywordtype">int</span> port_number);
|
|
<a name="l00343"></a>00343 <span class="keyword">virtual</span> ~wxLuaDebuggerwxSocketServer();
|
|
<a name="l00344"></a>00344
|
|
<a name="l00345"></a>00345 <span class="comment">// Start the debugger server to listen for a debuggee. After creation</span>
|
|
<a name="l00346"></a>00346 <span class="comment">// you must call StartServer to actually start the server. returns success</span>
|
|
<a name="l00347"></a>00347 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classwxLuaDebuggerBase.html#a244012a9c0f9061932cae7377d3e57e3">StartServer</a>();
|
|
<a name="l00348"></a>00348 <span class="comment">// Stop the debugger server, returns success</span>
|
|
<a name="l00349"></a>00349 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classwxLuaDebuggerBase.html#adfba82759bff194ba5812a213bada964">StopServer</a>();
|
|
<a name="l00350"></a>00350 <span class="comment">// Start a debuggee client to be debugged by this, returns success</span>
|
|
<a name="l00351"></a>00351 <span class="keyword">virtual</span> <span class="keywordtype">long</span> <a class="code" href="classwxLuaDebuggerBase.html#a5ad5bcbca9ee05b70059fa1aba620957">StartClient</a>();
|
|
<a name="l00352"></a>00352
|
|
<a name="l00353"></a>00353 <span class="keyword">virtual</span> <a class="code" href="classwxLuaSocketBase.html">wxLuaSocketBase</a>* <a class="code" href="classwxLuaDebuggerBase.html#a18a13e697f4d5bef7033f6a1bb48288d">GetSocketBase</a>() { <span class="keywordflow">return</span> m_acceptedSocket; }
|
|
<a name="l00354"></a>00354
|
|
<a name="l00355"></a>00355 <span class="keyword">virtual</span> wxString <a class="code" href="classwxLuaDebuggerBase.html#ad63e9f30ad5f8f2c15a844f0b6ad8e60">GetSocketErrorMsg</a>();
|
|
<a name="l00356"></a>00356
|
|
<a name="l00357"></a>00357 <span class="comment">// implementation</span>
|
|
<a name="l00358"></a>00358
|
|
<a name="l00359"></a>00359 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classwxLuaDebuggerBase.html#a20ee359e60353b525f5d31a723ec0e09">SendEvent</a>(wxEvent& event) { ProcessEvent(event); }
|
|
<a name="l00360"></a>00360
|
|
<a name="l00361"></a>00361 <span class="keywordtype">void</span> OnServerEvent(wxSocketEvent& event);
|
|
<a name="l00362"></a>00362 <span class="keywordtype">void</span> OnSocketEvent(wxSocketEvent& event);
|
|
<a name="l00363"></a>00363
|
|
<a name="l00364"></a>00364 <span class="keyword">protected</span>:
|
|
<a name="l00365"></a>00365 wxSocketServer *m_serverSocket;
|
|
<a name="l00366"></a>00366 <a class="code" href="classwxLuawxSocket.html">wxLuawxSocket</a> *m_acceptedSocket;
|
|
<a name="l00367"></a>00367
|
|
<a name="l00368"></a>00368 <span class="keyword">private</span>:
|
|
<a name="l00369"></a>00369 <a class="code" href="classwxLuaDebuggerBase.html#a06e23d7538e1d5339447c8a432ced923">DECLARE_EVENT_TABLE</a>();
|
|
<a name="l00370"></a>00370 DECLARE_ABSTRACT_CLASS(wxLuaDebuggerwxSocketServer)
|
|
<a name="l00371"></a>00371 };
|
|
<a name="l00372"></a>00372
|
|
<a name="l00373"></a>00373 <span class="keyword">typedef</span> wxLuaDebuggerwxSocketServer <a class="code" href="classwxLuaDebuggerCServer.html">wxLuaDebuggerServer</a>;
|
|
<a name="l00374"></a>00374
|
|
<a name="l00375"></a>00375 <span class="preprocessor">#endif // WXLUASOCKET_USE_C_SOCKET</span>
|
|
<a name="l00376"></a>00376 <span class="preprocessor"></span>
|
|
<a name="l00377"></a>00377 <span class="comment">// ----------------------------------------------------------------------------</span>
|
|
<a name="l00378"></a>00378 <span class="comment">// wxLuaDebuggerEvent - wxEvent sent from the wxLuaDebuggerXXX to notify when</span>
|
|
<a name="l00379"></a>00379 <span class="comment">// the debuggee has taken action or status of the debugger.</span>
|
|
<a name="l00380"></a>00380 <span class="comment">// ----------------------------------------------------------------------------</span>
|
|
<a name="l00381"></a>00381
|
|
<a name="l00382"></a><a class="code" href="classwxLuaDebuggerEvent.html">00382</a> <span class="keyword">class </span><a class="code" href="wxluasocketdefs_8h.html#a59aa1606e0b31648f147e5eb694362d8">WXDLLIMPEXP_WXLUASOCKET</a> <a class="code" href="classwxLuaDebuggerEvent.html">wxLuaDebuggerEvent</a> : <span class="keyword">public</span> wxEvent
|
|
<a name="l00383"></a>00383 {
|
|
<a name="l00384"></a>00384 <span class="keyword">public</span>:
|
|
<a name="l00385"></a>00385 <a class="code" href="wxldserv_8h.html#a00752784c83d5e3a58aef0034151bbd3">wxLuaDebuggerEvent</a>(<span class="keyword">const</span> <a class="code" href="classwxLuaDebuggerEvent.html">wxLuaDebuggerEvent</a>& event);
|
|
<a name="l00386"></a>00386 <a class="code" href="wxldserv_8h.html#a00752784c83d5e3a58aef0034151bbd3">wxLuaDebuggerEvent</a>(wxEventType eventType = wxEVT_NULL,
|
|
<a name="l00387"></a>00387 wxObject* eventObject = NULL,
|
|
<a name="l00388"></a>00388 <span class="keywordtype">int</span> lineNumber = 0,
|
|
<a name="l00389"></a>00389 <span class="keyword">const</span> wxString &fileName = wxEmptyString,
|
|
<a name="l00390"></a>00390 <span class="keywordtype">bool</span> enabledFlag = <span class="keyword">false</span>);
|
|
<a name="l00391"></a>00391
|
|
<a name="l00392"></a>00392 <span class="keywordtype">void</span> SetMessage(<span class="keyword">const</span> wxString &message);
|
|
<a name="l00393"></a>00393 <span class="keywordtype">void</span> SetDebugData(<span class="keywordtype">long</span> nReference, <span class="keyword">const</span> <a class="code" href="classwxLuaDebugData.html">wxLuaDebugData</a>& pDebugData = <a class="code" href="wxldebug_8cpp.html#a25502c55f5eb032e2ddeec59f550ccd3">wxNullLuaDebugData</a>);
|
|
<a name="l00394"></a>00394
|
|
<a name="l00395"></a><a class="code" href="classwxLuaDebuggerEvent.html#a71779918fc860b210a02f54d4b1ae03a">00395</a> <span class="keywordtype">int</span> <a class="code" href="classwxLuaDebuggerEvent.html#a71779918fc860b210a02f54d4b1ae03a">GetLineNumber</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_line_number;}
|
|
<a name="l00396"></a><a class="code" href="classwxLuaDebuggerEvent.html#a53851538624ca6a6b4b751955ca2430a">00396</a> wxString <a class="code" href="classwxLuaDebuggerEvent.html#a53851538624ca6a6b4b751955ca2430a">GetFileName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_fileName; }
|
|
<a name="l00397"></a><a class="code" href="classwxLuaDebuggerEvent.html#a759bb36aad1a5db89987adf97fefe4fb">00397</a> wxString <a class="code" href="classwxLuaDebuggerEvent.html#a759bb36aad1a5db89987adf97fefe4fb">GetMessage</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_strMessage; } <span class="comment">// check HasMessage</span>
|
|
<a name="l00398"></a><a class="code" href="classwxLuaDebuggerEvent.html#a562e82bfc5dc941e8b55639345595c41">00398</a> <span class="keywordtype">bool</span> <a class="code" href="classwxLuaDebuggerEvent.html#a562e82bfc5dc941e8b55639345595c41">HasMessage</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_has_message; }
|
|
<a name="l00399"></a><a class="code" href="classwxLuaDebuggerEvent.html#a3a18ecad49cdecd2a952e91519ec28be">00399</a> <span class="keywordtype">long</span> <a class="code" href="classwxLuaDebuggerEvent.html#a3a18ecad49cdecd2a952e91519ec28be">GetReference</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_lua_ref; } <span class="comment">// Lua reference</span>
|
|
<a name="l00400"></a><a class="code" href="classwxLuaDebuggerEvent.html#ad8d63072b6b74c0e0c6fc2dd994b5f10">00400</a> <a class="code" href="classwxLuaDebugData.html">wxLuaDebugData</a> <a class="code" href="classwxLuaDebuggerEvent.html#ad8d63072b6b74c0e0c6fc2dd994b5f10">GetDebugData</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_debugData; }
|
|
<a name="l00401"></a><a class="code" href="classwxLuaDebuggerEvent.html#ae2c2edfea5988f11e44e6938cd41fc3f">00401</a> <span class="keywordtype">bool</span> <a class="code" href="classwxLuaDebuggerEvent.html#ae2c2edfea5988f11e44e6938cd41fc3f">GetEnabledFlag</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_enabled_flag; }
|
|
<a name="l00402"></a>00402
|
|
<a name="l00403"></a>00403 <span class="keyword">protected</span>:
|
|
<a name="l00404"></a><a class="code" href="classwxLuaDebuggerEvent.html#ac9a4f9daf0a016e6ef3929cb08ae6e40">00404</a> <span class="keyword">virtual</span> wxEvent* <a class="code" href="classwxLuaDebuggerEvent.html#ac9a4f9daf0a016e6ef3929cb08ae6e40">Clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="wxldserv_8h.html#a00752784c83d5e3a58aef0034151bbd3">wxLuaDebuggerEvent</a>(*<span class="keyword">this</span>); }
|
|
<a name="l00405"></a>00405
|
|
<a name="l00406"></a><a class="code" href="classwxLuaDebuggerEvent.html#a11d7d23d063af70ae6ed3306fca0313a">00406</a> <span class="keywordtype">int</span> m_line_number;
|
|
<a name="l00407"></a><a class="code" href="classwxLuaDebuggerEvent.html#a9aef2e4d41d56c0a00572ad31ee3203c">00407</a> wxString m_fileName;
|
|
<a name="l00408"></a><a class="code" href="classwxLuaDebuggerEvent.html#a14adf406c7caddfb763535fbe48b81e2">00408</a> wxString m_strMessage;
|
|
<a name="l00409"></a><a class="code" href="classwxLuaDebuggerEvent.html#aff2282a96bbea095fe10473f25f8a9c7">00409</a> <span class="keywordtype">bool</span> m_has_message;
|
|
<a name="l00410"></a><a class="code" href="classwxLuaDebuggerEvent.html#a877c7dc11708fc7071188772abb622b1">00410</a> <span class="keywordtype">long</span> m_lua_ref;
|
|
<a name="l00411"></a><a class="code" href="classwxLuaDebuggerEvent.html#a5960d032f91e2585b57759e1f091625d">00411</a> <a class="code" href="classwxLuaDebugData.html">wxLuaDebugData</a> m_debugData;
|
|
<a name="l00412"></a><a class="code" href="classwxLuaDebuggerEvent.html#a891ca84ae896211736dc4b72deb6f6b9">00412</a> <span class="keywordtype">bool</span> m_enabled_flag;
|
|
<a name="l00413"></a>00413
|
|
<a name="l00414"></a>00414 <span class="keyword">private</span>:
|
|
<a name="l00415"></a>00415 DECLARE_DYNAMIC_CLASS(<a class="code" href="classwxLuaDebuggerEvent.html">wxLuaDebuggerEvent</a>)
|
|
<a name="l00416"></a>00416 };
|
|
<a name="l00417"></a>00417
|
|
<a name="l00418"></a><a class="code" href="wxldserv_8h.html#abe0f288310034326c4ab3aafa7d889de">00418</a> <span class="keyword">typedef</span> void (wxEvtHandler::*<a class="code" href="wxldserv_8h.html#abe0f288310034326c4ab3aafa7d889de">wxLuaDebuggerEventFunction</a>)(<a class="code" href="classwxLuaDebuggerEvent.html">wxLuaDebuggerEvent</a>&);
|
|
<a name="l00419"></a>00419
|
|
<a name="l00420"></a>00420 BEGIN_DECLARE_EVENT_TYPES()
|
|
<a name="l00421"></a>00421 <span class="comment">// The debuggee has connected to the debugger through the socket connection</span>
|
|
<a name="l00422"></a>00422 DECLARE_EXPORTED_EVENT_TYPE(<a class="code" href="wxluasocketdefs_8h.html#a59aa1606e0b31648f147e5eb694362d8">WXDLLIMPEXP_WXLUASOCKET</a>, wxEVT_WXLUA_DEBUGGER_DEBUGGEE_CONNECTED, 2510)
|
|
<a name="l00423"></a>00423 <span class="comment">// The debuggee has disconnected to the debugger through the socket connection</span>
|
|
<a name="l00424"></a>00424 <span class="comment">// check Has/GetMessage for a description why</span>
|
|
<a name="l00425"></a>00425 DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_WXLUASOCKET, wxEVT_WXLUA_DEBUGGER_DEBUGGEE_DISCONNECTED, 2510)
|
|
<a name="l00426"></a>00426 <span class="comment">// The debuggee has sent a wxLUASOCKET_DEBUGGEE_EVENT_BREAK</span>
|
|
<a name="l00427"></a>00427 DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_WXLUASOCKET, wxEVT_WXLUA_DEBUGGER_BREAK, 2511)
|
|
<a name="l00428"></a>00428 <span class="comment">// The debuggee has sent a wxLUASOCKET_DEBUGGEE_EVENT_PRINT</span>
|
|
<a name="l00429"></a>00429 DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_WXLUASOCKET, wxEVT_WXLUA_DEBUGGER_PRINT, 2512)
|
|
<a name="l00430"></a>00430 <span class="comment">// The debuggee has sent a wxEVT_WXLUA_DEBUGGER_ERROR</span>
|
|
<a name="l00431"></a>00431 DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_WXLUASOCKET, wxEVT_WXLUA_DEBUGGER_ERROR, 2513)
|
|
<a name="l00432"></a>00432 <span class="comment">// The debuggee has sent a wxEVT_WXLUA_DEBUGGER_EXIT</span>
|
|
<a name="l00433"></a>00433 DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_WXLUASOCKET, wxEVT_WXLUA_DEBUGGER_EXIT, 2514)
|
|
<a name="l00434"></a>00434 <span class="comment">// The debuggee has sent a wxLUASOCKET_DEBUGGEE_EVENT_STACK_ENUM</span>
|
|
<a name="l00435"></a>00435 DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_WXLUASOCKET, wxEVT_WXLUA_DEBUGGER_STACK_ENUM, 2515)
|
|
<a name="l00436"></a>00436 <span class="comment">// The debuggee has sent a wxLUASOCKET_DEBUGGEE_EVENT_STACK_ENTRY_ENUM</span>
|
|
<a name="l00437"></a>00437 DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_WXLUASOCKET, wxEVT_WXLUA_DEBUGGER_STACK_ENTRY_ENUM, 2516)
|
|
<a name="l00438"></a>00438 <span class="comment">// The debuggee has sent a wxLUASOCKET_DEBUGGEE_EVENT_TABLE_ENUM</span>
|
|
<a name="l00439"></a>00439 DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_WXLUASOCKET, wxEVT_WXLUA_DEBUGGER_TABLE_ENUM, 2517)
|
|
<a name="l00440"></a>00440 <span class="comment">// The debuggee has sent a wxLUASOCKET_DEBUGGEE_EVENT_EVALUATE_EXPR</span>
|
|
<a name="l00441"></a>00441 DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_WXLUASOCKET, wxEVT_WXLUA_DEBUGGER_EVALUATE_EXPR, 2518)
|
|
<a name="l00442"></a>00442
|
|
<a name="l00443"></a>00443 <span class="comment">//DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_WXLUASOCKET, wxEVT_WXLUA_DEBUGGER_STARTDEBUGGER, 2519)</span>
|
|
<a name="l00444"></a>00444 <span class="comment">//DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_WXLUASOCKET, wxEVT_WXLUA_DEBUGGER_STOPDEBUGGER, 2520)</span>
|
|
<a name="l00445"></a>00445 END_DECLARE_EVENT_TYPES()
|
|
<a name="l00446"></a>00446
|
|
<a name="l00447"></a><a class="code" href="wxldserv_8h.html#a7bb6d679e31b47baa2b22f00d39a3291">00447</a> <span class="preprocessor">#define wxLuaDebuggerEventHandler(func) \</span>
|
|
<a name="l00448"></a>00448 <span class="preprocessor"> (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxLuaDebuggerEventFunction, &func)</span>
|
|
<a name="l00449"></a>00449 <span class="preprocessor"></span>
|
|
<a name="l00450"></a><a class="code" href="wxldserv_8h.html#ab1b333f4eda4282a143aa79f8423191d">00450</a> <span class="preprocessor">#define EVT_WXLUA_DEBUGGER_DEBUGGEE_CONNECTED(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_WXLUA_DEBUGGER_DEBUGGEE_CONNECTED, id, -1, wxLuaDebuggerEventHandler(fn), (wxObject *) NULL),</span>
|
|
<a name="l00451"></a><a class="code" href="wxldserv_8h.html#a1bed0515821b5c78bb1349dbc95a4ea7">00451</a> <span class="preprocessor"></span><span class="preprocessor">#define EVT_WXLUA_DEBUGGER_DEBUGGEE_DISCONNECTED(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_WXLUA_DEBUGGER_DEBUGGEE_DISCONNECTED, id, -1, wxLuaDebuggerEventHandler(fn), (wxObject *) NULL),</span>
|
|
<a name="l00452"></a><a class="code" href="wxldserv_8h.html#ae95840eae3802539e712b6998b7d1ea0">00452</a> <span class="preprocessor"></span><span class="preprocessor">#define EVT_WXLUA_DEBUGGER_BREAK(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_WXLUA_DEBUGGER_BREAK, id, -1, wxLuaDebuggerEventHandler(fn), (wxObject *) NULL),</span>
|
|
<a name="l00453"></a><a class="code" href="wxldserv_8h.html#a0f37a07ee009c560c86ad27c9718c224">00453</a> <span class="preprocessor"></span><span class="preprocessor">#define EVT_WXLUA_DEBUGGER_PRINT(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_WXLUA_DEBUGGER_PRINT, id, -1, wxLuaDebuggerEventHandler(fn), (wxObject *) NULL),</span>
|
|
<a name="l00454"></a><a class="code" href="wxldserv_8h.html#aa3fdc9fa55b0ea183d10865fcfea7e0e">00454</a> <span class="preprocessor"></span><span class="preprocessor">#define EVT_WXLUA_DEBUGGER_ERROR(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_WXLUA_DEBUGGER_ERROR, id, -1, wxLuaDebuggerEventHandler(fn), (wxObject *) NULL),</span>
|
|
<a name="l00455"></a><a class="code" href="wxldserv_8h.html#a2393d6235c384380914a78579750f179">00455</a> <span class="preprocessor"></span><span class="preprocessor">#define EVT_WXLUA_DEBUGGER_EXIT(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_WXLUA_DEBUGGER_EXIT, id, -1, wxLuaDebuggerEventHandler(fn), (wxObject *) NULL),</span>
|
|
<a name="l00456"></a><a class="code" href="wxldserv_8h.html#aca08ba904aea7335c76d43ab46bedc1e">00456</a> <span class="preprocessor"></span><span class="preprocessor">#define EVT_WXLUA_DEBUGGER_STACK_ENUM(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_WXLUA_DEBUGGER_STACK_ENUM, id, -1, wxLuaDebuggerEventHandler(fn), (wxObject *) NULL),</span>
|
|
<a name="l00457"></a><a class="code" href="wxldserv_8h.html#a5c821119b88cb9bbf1665873c79bd205">00457</a> <span class="preprocessor"></span><span class="preprocessor">#define EVT_WXLUA_DEBUGGER_STACK_ENTRY_ENUM(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_WXLUA_DEBUGGER_STACK_ENTRY_ENUM, id, -1, wxLuaDebuggerEventHandler(fn), (wxObject *) NULL),</span>
|
|
<a name="l00458"></a><a class="code" href="wxldserv_8h.html#a60b702303762602ae942551650380ceb">00458</a> <span class="preprocessor"></span><span class="preprocessor">#define EVT_WXLUA_DEBUGGER_TABLE_ENUM(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_WXLUA_DEBUGGER_TABLE_ENUM, id, -1, wxLuaDebuggerEventHandler(fn), (wxObject *) NULL),</span>
|
|
<a name="l00459"></a><a class="code" href="wxldserv_8h.html#a30f30693c6b747bfffe47ef0309c7dbf">00459</a> <span class="preprocessor"></span><span class="preprocessor">#define EVT_WXLUA_DEBUGGER_EVALUATE_EXPR(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_WXLUA_DEBUGGER_EVALUATE_EXPR, id, -1, wxLuaDebuggerEventHandler(fn), (wxObject *) NULL),</span>
|
|
<a name="l00460"></a>00460 <span class="preprocessor"></span><span class="comment">//#define EVT_WXLUA_DEBUGGER_STARTDEBUGGER(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_WXLUA_DEBUGGER_STARTDEBUGGER, id, -1, wxLuaDebuggerEventHandler(fn), (wxObject *) NULL),</span>
|
|
<a name="l00461"></a>00461 <span class="comment">//#define EVT_WXLUA_DEBUGGER_STOPDEBUGGER(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_WXLUA_DEBUGGER_STOPDEBUGGER, id, -1, wxLuaDebuggerEventHandler(fn), (wxObject *) NULL),</span>
|
|
<a name="l00462"></a>00462
|
|
<a name="l00463"></a>00463 <span class="preprocessor">#endif // WX_LUA_DEBUG_SERVER_H</span>
|
|
</pre></div></div>
|
|
<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue Jul 13 10:30:39 2010 for wxLua by
|
|
<a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
|
|
</body>
|
|
</html>
|