Update of /cvsroot/wxlua/wxLua/modules/wxluasocket/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv31238/wxLua/modules/wxluasocket/src Modified Files: dservice.cpp wxldserv.cpp wxldtarg.cpp wxlhandl.cpp wxlsock.cpp wxluasocket.cpp wxluasocket_bind.cpp Log Message: Index: dservice.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxluasocket/src/dservice.cpp,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** dservice.cpp 15 Sep 2006 00:10:56 -0000 1.22 --- dservice.cpp 28 Sep 2006 22:26:06 -0000 1.23 *************** *** 34,38 **** #include "wxluasocket/include/dservice.h" - #include "wxluasocket/include/wxlhandl.h" #include "wx/listimpl.cpp" --- 34,37 ---- *************** *** 227,231 **** { unsigned char debugCommand = 0; // wxLuaSocketDebuggerCommands_Type ! if (!debugSocket->ReadByte(debugCommand)) break; --- 226,230 ---- { unsigned char debugCommand = 0; // wxLuaSocketDebuggerCommands_Type ! if (!debugSocket->ReadCmd(debugCommand)) break; *************** *** 393,398 **** debuggee->Continue(); ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_STOPDEBUGGER); ! wxLuaHandler::GetHandler().ProcessEvent(debugEvent); } --- 392,397 ---- debuggee->Continue(); ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_STOPDEBUGGER, this); ! ProcessEvent(debugEvent); } *************** *** 455,462 **** if (!IsDebugger()) { ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_STARTDEBUGGER); // started debug process ! if (!wxLuaHandler::GetHandler().ProcessEvent(debugEvent)) return false; --- 454,461 ---- if (!IsDebugger()) { ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_STARTDEBUGGER, this); // started debug process ! if (!ProcessEvent(debugEvent)) return false; *************** *** 474,478 **** { wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; ! dSocket->WriteByte(wxLUASOCKET_DEBUGGEE_EVENT_BREAK); #if wxCHECK_VERSION(2,3,0) dSocket->WriteString(fileName.GetFullPath()); --- 473,477 ---- { wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; ! dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_BREAK); #if wxCHECK_VERSION(2,3,0) dSocket->WriteString(fileName.GetFullPath()); *************** *** 500,504 **** { wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; ! dSocket->WriteByte(wxLUASOCKET_DEBUGGEE_EVENT_ERROR); dSocket->WriteString(errorMsg); --- 499,503 ---- { wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; ! dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_ERROR); dSocket->WriteString(errorMsg); *************** *** 521,525 **** { wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; ! dSocket->WriteByte(wxLUASOCKET_DEBUGGEE_EVENT_ERROR); dSocket->WriteString(errorMsg); --- 520,524 ---- { wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; ! dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_ERROR); dSocket->WriteString(errorMsg); *************** *** 542,546 **** { wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; ! dSocket->WriteByte(wxLUASOCKET_DEBUGGEE_EVENT_EXIT); if (!dSocket->Error()) --- 541,545 ---- { wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; ! dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_EXIT); if (!dSocket->Error()) *************** *** 562,566 **** { wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; ! dSocket->WriteByte(wxLUASOCKET_DEBUGGEE_EVENT_STACK_ENUM); dSocket->WriteDebugData(debugData); --- 561,565 ---- { wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; ! dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_STACK_ENUM); dSocket->WriteDebugData(debugData); *************** *** 583,587 **** { wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; ! dSocket->WriteByte(wxLUASOCKET_DEBUGGEE_EVENT_STACK_ENTRY_ENUM); dSocket->WriteInt32(entryRef); dSocket->WriteDebugData(debugData); --- 582,586 ---- { wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; ! dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_STACK_ENTRY_ENUM); dSocket->WriteInt32(entryRef); dSocket->WriteDebugData(debugData); *************** *** 605,609 **** { wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; ! dSocket->WriteByte(wxLUASOCKET_DEBUGGEE_EVENT_TABLE_ENUM); dSocket->WriteLong(itemNode); dSocket->WriteDebugData(debugData); --- 604,608 ---- { wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; ! dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_TABLE_ENUM); dSocket->WriteLong(itemNode); dSocket->WriteDebugData(debugData); *************** *** 627,631 **** { wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; ! dSocket->WriteByte(wxLUASOCKET_DEBUGGEE_EVENT_EVALUATE_EXPR); dSocket->WriteInt32(exprRef); dSocket->WriteString(strResult); --- 626,630 ---- { wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; ! dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_EVALUATE_EXPR); dSocket->WriteInt32(exprRef); dSocket->WriteString(strResult); *************** *** 651,660 **** { wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; ! dSocket->WriteByte(wxLUASOCKET_DEBUGGEE_EVENT_BREAKPOINT_ADDED); ! #if wxCHECK_VERSION(2,3,0) dSocket->WriteString(breakPoint.GetFileName().GetFullPath()); - #else - dSocket->WriteString(breakPoint.GetFileName()); - #endif dSocket->WriteInt32(breakPoint.GetLine()); dSocket->WriteInt32((int)breakPoint.GetEnabled()); --- 650,655 ---- { wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; ! dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_BREAKPOINT_ADDED); dSocket->WriteString(breakPoint.GetFileName().GetFullPath()); dSocket->WriteInt32(breakPoint.GetLine()); dSocket->WriteInt32((int)breakPoint.GetEnabled()); *************** *** 681,690 **** { wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; ! dSocket->WriteByte(wxLUASOCKET_DEBUGGEE_EVENT_BREAKPOINT_REMOVED); ! #if wxCHECK_VERSION(2,3,0) dSocket->WriteString(breakPoint.GetFileName().GetFullPath()); - #else - dSocket->WriteString(breakPoint.GetFileName()); - #endif dSocket->WriteInt32(breakPoint.GetLine()); dSocket->WriteInt32((int)breakPoint.GetEnabled()); --- 676,681 ---- { wxLuaDebugSocket* dSocket = m_debuggerSocketList[i]; ! dSocket->WriteCmd(wxLUASOCKET_DEBUGGEE_EVENT_BREAKPOINT_REMOVED); dSocket->WriteString(breakPoint.GetFileName().GetFullPath()); dSocket->WriteInt32(breakPoint.GetLine()); dSocket->WriteInt32((int)breakPoint.GetEnabled()); *************** *** 790,795 **** // Events from Debug Service unsigned char debuggeeEvent = 0; // wxLuaSocketDebuggeeEvents_Type ! if (m_debuggerSocket->ReadByte(debuggeeEvent)) ! HandleDebugEvent((wxLuaSocketDebuggeeEvents_Type) debuggeeEvent); // Enable input events again. --- 781,786 ---- // Events from Debug Service unsigned char debuggeeEvent = 0; // wxLuaSocketDebuggeeEvents_Type ! if (m_debuggerSocket->ReadCmd(debuggeeEvent)) ! HandleDebuggeeEvent((wxLuaSocketDebuggeeEvents_Type) debuggeeEvent); // Enable input events again. *************** *** 837,841 **** lua_setglobal(L, "print"); ! wxLuaHandler::GetHandler().EnterLuaCriticalSection(); } --- 828,832 ---- lua_setglobal(L, "print"); ! EnterLuaCriticalSection(); } *************** *** 855,859 **** } ! wxLuaHandler::GetHandler().LeaveLuaCriticalSection(); // Unhook --- 846,850 ---- } ! LeaveLuaCriticalSection(); // Unhook *************** *** 958,962 **** // release the critical section so // the other thread can access LUA ! wxLuaHandler::GetHandler().LeaveLuaCriticalSection(); // Wait for Debugger To Send Command --- 949,953 ---- // release the critical section so // the other thread can access LUA ! LeaveLuaCriticalSection(); // Wait for Debugger To Send Command *************** *** 975,979 **** // acquire the critical section again ! wxLuaHandler::GetHandler().EnterLuaCriticalSection(); } --- 966,970 ---- // acquire the critical section again ! EnterLuaCriticalSection(); } *************** *** 1024,1034 **** // Notify Debuggee ! #if wxCHECK_VERSION(2,3,0) ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_BREAKPOINT_ADDED, lineNumber, fileName.GetFullPath()); ! #else ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_BREAKPOINT_ADDED, lineNumber, fileName); ! #endif ! ! wxLuaHandler::GetHandler().AddPendingEvent(debugEvent); } } --- 1015,1020 ---- // Notify Debuggee ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_BREAKPOINT_ADDED, this, lineNumber, fileName.GetFullPath()); ! m_debugService->AddPendingEvent(debugEvent); } } *************** *** 1050,1059 **** // Notify Debuggee ! #if wxCHECK_VERSION(2,3,0) ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_BREAKPOINT_REMOVED, lineNumber, fileName.GetFullPath()); ! #else ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_BREAKPOINT_REMOVED, lineNumber, fileName); ! #endif ! wxLuaHandler::GetHandler().AddPendingEvent(debugEvent); delete breakPoint; --- 1036,1041 ---- // Notify Debuggee ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_BREAKPOINT_REMOVED, this, lineNumber, fileName.GetFullPath()); ! m_debugService->AddPendingEvent(debugEvent); delete breakPoint; *************** *** 1141,1147 **** wxLuaDebugData debugData; ! wxLuaHandler::GetHandler().EnterLuaCriticalSection(); debugData.EnumerateStack(m_wxlState); ! wxLuaHandler::GetHandler().LeaveLuaCriticalSection(); return m_debugService->NotifyStackEnumeration(debugData); --- 1123,1129 ---- wxLuaDebugData debugData; ! EnterLuaCriticalSection(); debugData.EnumerateStack(m_wxlState); ! LeaveLuaCriticalSection(); return m_debugService->NotifyStackEnumeration(debugData); *************** *** 1152,1158 **** wxLuaDebugData debugData; ! wxLuaHandler::GetHandler().EnterLuaCriticalSection(); debugData.EnumerateStackEntry(m_wxlState, stackRef, m_references); ! wxLuaHandler::GetHandler().LeaveLuaCriticalSection(); return m_debugService->NotifyStackEntryEnumeration(stackRef, debugData); --- 1134,1140 ---- wxLuaDebugData debugData; ! EnterLuaCriticalSection(); debugData.EnumerateStackEntry(m_wxlState, stackRef, m_references); ! LeaveLuaCriticalSection(); return m_debugService->NotifyStackEntryEnumeration(stackRef, debugData); *************** *** 1163,1169 **** wxLuaDebugData debugData; ! wxLuaHandler::GetHandler().EnterLuaCriticalSection(); debugData.EnumerateTable(m_wxlState, tableRef, nIndex, m_references); ! wxLuaHandler::GetHandler().LeaveLuaCriticalSection(); return m_debugService->NotifyTableEnumeration(nItemNode, debugData); --- 1145,1151 ---- wxLuaDebugData debugData; ! EnterLuaCriticalSection(); debugData.EnumerateTable(m_wxlState, tableRef, nIndex, m_references); ! LeaveLuaCriticalSection(); return m_debugService->NotifyTableEnumeration(nItemNode, debugData); *************** *** 1175,1179 **** int nReference = LUA_NOREF; ! wxLuaHandler::GetHandler().EnterLuaCriticalSection(); { lua_State* L = m_wxlState.GetLuaState(); --- 1157,1161 ---- int nReference = LUA_NOREF; ! EnterLuaCriticalSection(); { lua_State* L = m_wxlState.GetLuaState(); *************** *** 1325,1329 **** } } ! wxLuaHandler::GetHandler().LeaveLuaCriticalSection(); return m_debugService->NotifyEvaluateExpr(exprRef, strResult); --- 1307,1311 ---- } } ! LeaveLuaCriticalSection(); return m_debugService->NotifyEvaluateExpr(exprRef, strResult); Index: wxluasocket.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxluasocket/src/wxluasocket.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** wxluasocket.cpp 15 Sep 2006 00:10:56 -0000 1.5 --- wxluasocket.cpp 28 Sep 2006 22:26:06 -0000 1.6 *************** *** 44,65 **** } - // %override wxLua_wxLuaDebuggerServerCompile_constructor - // %constructor wxLua_wxLuaDebuggerServerCompile_constructor(const wxString &buffer, const wxString &fileName) - static int LUACALL wxLua_wxLuaDebuggerServerCompile_constructor(lua_State *L) - { - wxLuaState wxlState(L); - // const wxString &fileName - wxString fileName = lua2wx(wxlState.GetStringType(2)); - // const wxString &buffer - wxString buffer = lua2wx(wxlState.GetStringType(1)); - // compile the file - wxLuaDebuggerBase debuggerBase; - bool fResult = debuggerBase.Compile(buffer, fileName); - // push result - lua_pushboolean(L, fResult); - // return the number of parameters - return 1; - } - // bool StartClient() static int LUACALL wxLua_wxLuaDebuggerServer_StartClient(lua_State *L) --- 44,47 ---- *************** *** 319,323 **** static WXLUAMETHOD s_wxLuaDebuggerServer_methods[] = { { LuaConstructor, "wxLuaDebuggerServer", wxLua_wxLuaDebuggerServer_constructor, 1, 1, { &s_wxluaarg_Number, 0 } }, - { LuaConstructor, "wxLuaDebuggerServerCompile", wxLua_wxLuaDebuggerServerCompile_constructor, 2, 2, { &s_wxluaarg_String, &s_wxluaarg_String, 0 } }, { LuaMethod, "StartClient", wxLua_wxLuaDebuggerServer_StartClient, 0, 0, { 0 } }, { LuaMethod, "StartServerThread", wxLua_wxLuaDebuggerServer_StartServerThread, 0, 0, { 0 } }, --- 301,304 ---- Index: wxluasocket_bind.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxluasocket/src/wxluasocket_bind.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** wxluasocket_bind.cpp 15 Sep 2006 00:10:56 -0000 1.5 --- wxluasocket_bind.cpp 28 Sep 2006 22:26:06 -0000 1.6 *************** *** 128,132 **** { { "wxLuaDebuggerEvent", wxLuaDebuggerEvent_methods, wxLuaDebuggerEvent_methodCount, -1, CLASSINFO(wxLuaDebuggerEvent), &s_wxluatag_wxLuaDebuggerEvent, "wxEvent" }, ! { "wxLuaDebuggerServer", wxLuaDebuggerServer_methods, wxLuaDebuggerServer_methodCount, -1, NULL, &s_wxluatag_wxLuaDebuggerServer, NULL }, { 0, 0, 0, 0, 0, 0, 0 }, }; --- 128,132 ---- { { "wxLuaDebuggerEvent", wxLuaDebuggerEvent_methods, wxLuaDebuggerEvent_methodCount, -1, CLASSINFO(wxLuaDebuggerEvent), &s_wxluatag_wxLuaDebuggerEvent, "wxEvent" }, ! { "wxLuaDebuggerServer", wxLuaDebuggerServer_methods, wxLuaDebuggerServer_methodCount, -1, CLASSINFO(wxLuaDebuggerServer), &s_wxluatag_wxLuaDebuggerServer, "wxEvtHandler" }, { 0, 0, 0, 0, 0, 0, 0 }, }; Index: wxldserv.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxluasocket/src/wxldserv.cpp,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** wxldserv.cpp 25 Sep 2006 22:24:46 -0000 1.21 --- wxldserv.cpp 28 Sep 2006 22:26:06 -0000 1.22 *************** *** 24,28 **** #include "wx/thread.h" #include "wxluasocket/include/wxldserv.h" - #include "wxluasocket/include/wxlhandl.h" #include "wxluadebug/include/staktree.h" --- 24,27 ---- *************** *** 63,79 **** } ! wxLuaDebuggerEvent::wxLuaDebuggerEvent(wxEventType eventType, int lineNumber, ! const wxString &file, bool enabledFlag) ! :wxEvent(0, eventType), ! m_lineNumber(lineNumber), ! m_fileName(file), ! m_fHasMessage(false), ! m_nReference(-1), ! m_fEnabledFlag(enabledFlag) ! { ! } ! ! wxLuaDebuggerEvent::~wxLuaDebuggerEvent() { } --- 62,77 ---- } ! wxLuaDebuggerEvent::wxLuaDebuggerEvent(wxEventType eventType, ! wxObject* eventObject, ! int lineNumber, ! const wxString &file, bool enabledFlag) ! :wxEvent(0, eventType), ! m_lineNumber(lineNumber), ! m_fileName(file), ! m_fHasMessage(false), ! m_nReference(-1), ! m_fEnabledFlag(enabledFlag) { + SetEventObject(eventObject); } *************** *** 95,101 **** wxLuaDebuggerServerInterface::wxLuaDebuggerServerInterface(wxLuaDebuggerServer* server) ! :wxLuaInterface(wxNullLuaState) { m_pServer = server; } --- 93,100 ---- wxLuaDebuggerServerInterface::wxLuaDebuggerServerInterface(wxLuaDebuggerServer* server) ! :wxLuaInterface(wxNullLuaState) { m_pServer = server; + wxCHECK_RET(m_pServer != NULL, wxT("Invalid wxLuaDebuggerServer in wxLuaDebuggerServerInterface")); } *************** *** 105,109 **** { m_pServer->CleanupDebugReferences(); - wxLuaHandler::GetHandler().SetStackDialog(NULL); } } --- 104,107 ---- *************** *** 138,141 **** --- 136,145 ---- IMPLEMENT_ABSTRACT_CLASS(wxLuaDebuggerBase, wxEvtHandler) + BEGIN_EVENT_TABLE(wxLuaDebuggerBase, wxEvtHandler) + EVT_WXLUA_DEBUGGER_STACK_ENUM( wxLuaDebuggerBase::OnDebugStackEnum) + EVT_WXLUA_DEBUGGER_STACK_ENTRY_ENUM(wxLuaDebuggerBase::OnDebugStackEntryEnum) + EVT_WXLUA_DEBUGGER_TABLE_ENUM( wxLuaDebuggerBase::OnDebugTableEnum) + END_EVENT_TABLE() + bool wxLuaDebuggerBase::AddBreakPoint(const wxString &fileName, int lineNumber) { *************** *** 145,149 **** { if (GetSocketBase()->IsConnected() && ! GetSocketBase()->WriteByte(wxLUASOCKET_DEBUGGER_CMD_ADD_BREAKPOINT) && GetSocketBase()->WriteString(fileName) && GetSocketBase()->WriteInt32(lineNumber)) --- 149,153 ---- { if (GetSocketBase()->IsConnected() && ! GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_ADD_BREAKPOINT) && GetSocketBase()->WriteString(fileName) && GetSocketBase()->WriteInt32(lineNumber)) *************** *** 166,170 **** { if (GetSocketBase()->IsConnected() && ! GetSocketBase()->WriteByte(wxLUASOCKET_DEBUGGER_CMD_REMOVE_BREAKPOINT) && GetSocketBase()->WriteString(fileName) && GetSocketBase()->WriteInt32(lineNumber)) --- 170,174 ---- { if (GetSocketBase()->IsConnected() && ! GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_REMOVE_BREAKPOINT) && GetSocketBase()->WriteString(fileName) && GetSocketBase()->WriteInt32(lineNumber)) *************** *** 186,190 **** try { ! if (GetSocketBase()->WriteByte(wxLUASOCKET_DEBUGGER_CMD_DISABLE_BREAKPOINT) && GetSocketBase()->WriteString(fileName) && GetSocketBase()->WriteInt32(lineNumber)) --- 190,194 ---- try { ! if (GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_DISABLE_BREAKPOINT) && GetSocketBase()->WriteString(fileName) && GetSocketBase()->WriteInt32(lineNumber)) *************** *** 206,210 **** try { ! if (GetSocketBase()->WriteByte(wxLUASOCKET_DEBUGGER_CMD_ENABLE_BREAKPOINT) && GetSocketBase()->WriteString(fileName) && GetSocketBase()->WriteInt32(lineNumber)) --- 210,214 ---- try { ! if (GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_ENABLE_BREAKPOINT) && GetSocketBase()->WriteString(fileName) && GetSocketBase()->WriteInt32(lineNumber)) *************** *** 227,231 **** { if (GetSocketBase()->IsConnected() && ! GetSocketBase()->WriteByte(wxLUASOCKET_DEBUGGER_CMD_CLEAR_ALL_BREAKPOINTS)) { return true; --- 231,235 ---- { if (GetSocketBase()->IsConnected() && ! GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_CLEAR_ALL_BREAKPOINTS)) { return true; *************** *** 245,249 **** try { ! if (GetSocketBase()->WriteByte(wxLUASOCKET_DEBUGGER_CMD_RUN_BUFFER) && GetSocketBase()->WriteString(fileName) && GetSocketBase()->WriteString(buffer)) --- 249,253 ---- try { ! if (GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_RUN_BUFFER) && GetSocketBase()->WriteString(fileName) && GetSocketBase()->WriteString(buffer)) *************** *** 265,269 **** try { ! return GetSocketBase()->WriteByte(wxLUASOCKET_DEBUGGER_CMD_DEBUG_STEP); } catch(wxLuaSocketException &) --- 269,273 ---- try { ! return GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_DEBUG_STEP); } catch(wxLuaSocketException &) *************** *** 280,284 **** try { ! return GetSocketBase()->WriteByte(wxLUASOCKET_DEBUGGER_CMD_DEBUG_STEPOVER); } catch(wxLuaSocketException &) --- 284,288 ---- try { ! return GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_DEBUG_STEPOVER); } catch(wxLuaSocketException &) *************** *** 295,299 **** try { ! return GetSocketBase()->WriteByte(wxLUASOCKET_DEBUGGER_CMD_DEBUG_STEPOUT); } catch(wxLuaSocketException &) --- 299,303 ---- try { ! return GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_DEBUG_STEPOUT); } catch(wxLuaSocketException &) *************** *** 310,314 **** try { ! return GetSocketBase()->WriteByte(wxLUASOCKET_DEBUGGER_CMD_DEBUG_CONTINUE); } catch(wxLuaSocketException &) --- 314,318 ---- try { ! return GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_DEBUG_CONTINUE); } catch(wxLuaSocketException &) *************** *** 325,329 **** try { ! return GetSocketBase()->WriteByte(wxLUASOCKET_DEBUGGER_CMD_DEBUG_BREAK); } catch(wxLuaSocketException &) --- 329,333 ---- try { ! return GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_DEBUG_BREAK); } catch(wxLuaSocketException &) *************** *** 340,344 **** try { ! return GetSocketBase()->WriteByte(wxLUASOCKET_DEBUGGER_CMD_RESET); } catch(wxLuaSocketException &) --- 344,348 ---- try { ! return GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_RESET); } catch(wxLuaSocketException &) *************** *** 355,359 **** try { ! return GetSocketBase()->WriteByte(wxLUASOCKET_DEBUGGER_CMD_ENUMERATE_STACK); } catch(wxLuaSocketException &) --- 359,363 ---- try { ! return GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_ENUMERATE_STACK); } catch(wxLuaSocketException &) *************** *** 370,374 **** try { ! if (GetSocketBase()->WriteByte(wxLUASOCKET_DEBUGGER_CMD_ENUMERATE_STACK_ENTRY) && GetSocketBase()->WriteInt32(stackEntry)) { --- 374,378 ---- try { ! if (GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_ENUMERATE_STACK_ENTRY) && GetSocketBase()->WriteInt32(stackEntry)) { *************** *** 389,393 **** try { ! if (GetSocketBase()->WriteByte(wxLUASOCKET_DEBUGGER_CMD_ENUMERATE_TABLE_REF) && GetSocketBase()->WriteInt32(tableRef) && GetSocketBase()->WriteInt32(nIndex) && --- 393,397 ---- try { ! if (GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_ENUMERATE_TABLE_REF) && GetSocketBase()->WriteInt32(tableRef) && GetSocketBase()->WriteInt32(nIndex) && *************** *** 410,414 **** try { ! if (GetSocketBase()->WriteByte(wxLUASOCKET_DEBUGGER_CMD_CLEAR_DEBUG_REFERENCES)) { return true; --- 414,418 ---- try { ! if (GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_CLEAR_DEBUG_REFERENCES)) { return true; *************** *** 428,432 **** try { ! if (GetSocketBase()->WriteByte(wxLUASOCKET_DEBUGGER_CMD_EVALUATE_EXPR) && GetSocketBase()->WriteInt32(exprRef) && GetSocketBase()->WriteString(strExpression)) --- 432,436 ---- try { ! if (GetSocketBase()->WriteCmd(wxLUASOCKET_DEBUGGER_CMD_EVALUATE_EXPR) && GetSocketBase()->WriteInt32(exprRef) && GetSocketBase()->WriteString(strExpression)) *************** *** 444,507 **** bool wxLuaDebuggerBase::Compile(const wxString &fileName, const wxString &buffer) { ! bool fErrorsSeen = false; ! lua_State *L = lua_open(); ! ! // load some useful libraries, loads all of them ! luaL_openlibs(L); ! ! wxLuaCharBuffer charbuf(buffer); ! int status = luaL_loadbuffer(L, charbuf.GetData(), ! charbuf.Length(), ! wx2lua(fileName)); ! switch (status) ! { ! case LUA_ERRRUN: ! NotifyError(_("Error while compiling chunk\n")); ! fErrorsSeen = true; ! break; ! case LUA_ERRSYNTAX: ! { ! wxString strError(_("Syntax error during pre-compilation: ")); ! strError += lua2wx(lua_tostring(L, -1)); ! strError += wxT("\n"); ! NotifyError(strError); ! } ! fErrorsSeen = true; ! break; ! case LUA_ERRMEM: ! NotifyError(_("Memory allocation error\n")); ! fErrorsSeen = true; ! break; ! case LUA_ERRERR: ! NotifyError(_("Generic error or an error occurred while running the error handler\n")); ! fErrorsSeen = true; ! break; ! case LUA_ERRFILE: ! { ! wxString strError(_("Error occurred while opening file: ")); ! strError += lua2wx(lua_tostring(L, -1)); ! strError += wxT("\n"); ! NotifyError(strError); ! } ! fErrorsSeen = true; ! break; ! default: ! NotifyError(_("Compiled OK\n")); ! break; ! } ! lua_close(L); ! return !fErrorsSeen; ! } ! void wxLuaDebuggerBase::NotifyError(const wxString &msg) ! { ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_ERROR); ! debugEvent.SetMessage(msg); ! wxLuaHandler::GetHandler().AddPendingEvent(debugEvent); } ! int wxLuaDebuggerBase::HandleDebugEvent(wxLuaSocketDebuggeeEvents_Type event_type) { wxCHECK_MSG(GetSocketBase(), event_type, wxT("Invalid socket")); --- 448,467 ---- bool wxLuaDebuggerBase::Compile(const wxString &fileName, const wxString &buffer) { ! wxLuaState wxlState(true); // new clean state to compile in ! wxString errMsg; ! int line_num = -1; ! int ret = wxlState.CompileString(buffer, fileName, &errMsg, &line_num); ! if (errMsg.IsEmpty()) ! errMsg = _T("Compiled ok.\n"); ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_ERROR, this); ! debugEvent.SetMessage(errMsg); ! AddPendingEvent(debugEvent); ! return ret == -1; } ! int wxLuaDebuggerBase::HandleDebuggeeEvent(wxLuaSocketDebuggeeEvents_Type event_type) { wxCHECK_MSG(GetSocketBase(), event_type, wxT("Invalid socket")); *************** *** 517,522 **** GetSocketBase()->ReadInt32(lineNumber)) { ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_BREAK, lineNumber, fileName); ! wxLuaHandler::GetHandler().AddPendingEvent(debugEvent); } break; --- 477,482 ---- GetSocketBase()->ReadInt32(lineNumber)) { ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_BREAK, this, lineNumber, fileName); ! AddPendingEvent(debugEvent); } break; *************** *** 528,534 **** if (GetSocketBase()->ReadString(strMessage)) { ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_PRINT); debugEvent.SetMessage(strMessage); ! wxLuaHandler::GetHandler().AddPendingEvent(debugEvent); } break; --- 488,494 ---- if (GetSocketBase()->ReadString(strMessage)) { ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_PRINT, this); debugEvent.SetMessage(strMessage); ! AddPendingEvent(debugEvent); } break; *************** *** 540,546 **** if (GetSocketBase()->ReadString(strMessage)) { ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_ERROR); debugEvent.SetMessage(strMessage); ! wxLuaHandler::GetHandler().AddPendingEvent(debugEvent); } break; --- 500,506 ---- if (GetSocketBase()->ReadString(strMessage)) { ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_ERROR, this); debugEvent.SetMessage(strMessage); ! AddPendingEvent(debugEvent); } break; *************** *** 548,553 **** case wxLUASOCKET_DEBUGGEE_EVENT_EXIT: { ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_EXIT); ! wxLuaHandler::GetHandler().AddPendingEvent(debugEvent); break; } --- 508,513 ---- case wxLUASOCKET_DEBUGGEE_EVENT_EXIT: { ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_EXIT, this); ! AddPendingEvent(debugEvent); break; } *************** *** 558,564 **** if (GetSocketBase()->ReadDebugData(debugData)) { ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_STACK_ENUM); debugEvent.SetDebugData(-1, debugData); ! wxLuaHandler::GetHandler().AddPendingEvent(debugEvent); } break; --- 518,524 ---- if (GetSocketBase()->ReadDebugData(debugData)) { ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_STACK_ENUM, this); debugEvent.SetDebugData(-1, debugData); ! AddPendingEvent(debugEvent); } break; *************** *** 572,578 **** GetSocketBase()->ReadDebugData(debugData)) { ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_STACK_ENTRY_ENUM); debugEvent.SetDebugData(stackRef, debugData); ! wxLuaHandler::GetHandler().AddPendingEvent(debugEvent); } break; --- 532,538 ---- GetSocketBase()->ReadDebugData(debugData)) { ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_STACK_ENTRY_ENUM, this); debugEvent.SetDebugData(stackRef, debugData); ! AddPendingEvent(debugEvent); } break; *************** *** 586,592 **** GetSocketBase()->ReadDebugData(debugData)) { ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_TABLE_ENUM); debugEvent.SetDebugData(itemNode, debugData); ! wxLuaHandler::GetHandler().AddPendingEvent(debugEvent); } break; --- 546,552 ---- GetSocketBase()->ReadDebugData(debugData)) { ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_TABLE_ENUM, this); debugEvent.SetDebugData(itemNode, debugData); ! AddPendingEvent(debugEvent); } break; *************** *** 600,607 **** GetSocketBase()->ReadString(strResult)) { ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_EVALUATE_EXPR); debugEvent.SetMessage(strResult); debugEvent.SetDebugData(exprRef); ! wxLuaHandler::GetHandler().AddPendingEvent(debugEvent); } break; --- 560,567 ---- GetSocketBase()->ReadString(strResult)) { ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_EVALUATE_EXPR, this); debugEvent.SetMessage(strResult); debugEvent.SetDebugData(exprRef); ! AddPendingEvent(debugEvent); } break; *************** *** 617,622 **** GetSocketBase()->ReadInt32(enabled)) { ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_BREAKPOINT_ADDED, line, fileName, enabled ? true : false); ! wxLuaHandler::GetHandler().AddPendingEvent(debugEvent); } break; --- 577,582 ---- GetSocketBase()->ReadInt32(enabled)) { ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_BREAKPOINT_ADDED, this, line, fileName, enabled ? true : false); ! AddPendingEvent(debugEvent); } break; *************** *** 630,635 **** GetSocketBase()->ReadInt32(line)) { ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_BREAKPOINT_REMOVED, line, fileName); ! wxLuaHandler::GetHandler().AddPendingEvent(debugEvent); } break; --- 590,595 ---- GetSocketBase()->ReadInt32(line)) { ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_BREAKPOINT_REMOVED, this, line, fileName); ! AddPendingEvent(debugEvent); } break; *************** *** 641,644 **** --- 601,626 ---- } + void wxLuaDebuggerBase::OnDebugStackEnum(wxLuaDebuggerEvent &event) + { + if (GetStackDialog() != NULL) + GetStackDialog()->FillStackCombobox(event.GetDebugData()); + else + event.Skip(); + } + void wxLuaDebuggerBase::OnDebugStackEntryEnum(wxLuaDebuggerEvent &event) + { + if (GetStackDialog() != NULL) + GetStackDialog()->FillStackEntry(event.GetReference(), event.GetDebugData()); + else + event.Skip(); + } + void wxLuaDebuggerBase::OnDebugTableEnum(wxLuaDebuggerEvent &event) + { + if (GetStackDialog() != NULL) + GetStackDialog()->FillTableEntry(wxTreeItemId((wxTreeItemIdValue)event.GetReference()), event.GetDebugData()); + else + event.Skip(); + } + // ---------------------------------------------------------------------------- // wxLuaDebuggerServer::LuaThread *************** *** 666,670 **** m_pProcess(NULL), m_pThread(NULL), - m_pStackDialog(NULL), m_fShutdown(false) { --- 648,651 ---- *************** *** 686,690 **** catch(wxLuaSocketException & e) { ! NotifyError(wxString::Format(_("Error while opening listening socket. %s"), e.description().c_str())); m_fShutdown = true; } --- 667,674 ---- catch(wxLuaSocketException & e) { ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_ERROR, this); ! debugEvent.SetMessage(wxString::Format(_("Error while opening listening socket. %s"), e.description().c_str())); ! AddPendingEvent(debugEvent); ! m_fShutdown = true; } *************** *** 740,744 **** catch(wxLuaSocketException & /*e*/) { ! NotifyError(_("Error while shutting down session socket")); } --- 724,730 ---- catch(wxLuaSocketException & /*e*/) { ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_ERROR, this); ! debugEvent.SetMessage(_("Error while shutting down session socket")); ! AddPendingEvent(debugEvent); } *************** *** 780,784 **** catch(wxLuaSocketException & /*e*/) { ! NotifyError(_("Error while shutting down server socket")); } } --- 766,772 ---- catch(wxLuaSocketException & /*e*/) { ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_ERROR, this); ! debugEvent.SetMessage(_("Error while shutting down server socket")); ! AddPendingEvent(debugEvent); } } *************** *** 823,828 **** { // Notify that a client has connected and we are ready to debug ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_CLIENT_CONNECTED); ! wxLuaHandler::GetHandler().AddPendingEvent(debugEvent); // Enter the debug loop --- 811,816 ---- { // Notify that a client has connected and we are ready to debug ! wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_CLIENT_CONNECTED, this); ! AddPendingEvent(debugEvent); // Enter the debug loop *************** *** 830,839 **** { unsigned char debugEvent = 0; // wxLuaSocketDebuggeeEvents_Type ! if (m_acceptedSocket->ReadByte(debugEvent)) { if (debugEvent == wxLUASOCKET_DEBUGGEE_EVENT_EXIT) m_fShutdown = true; ! HandleDebugEvent((wxLuaSocketDebuggeeEvents_Type) debugEvent); } //else --- 818,827 ---- { unsigned char debugEvent = 0; // wxLuaSocketDebuggeeEvents_Type ! if (m_acceptedSocket->ReadCmd(debugEvent)) { if (debugEvent == wxLUASOCKET_DEBUGGEE_EVENT_EXIT) m_fShutdown = true; ! HandleDebuggeeEvent((wxLuaSocketDebuggeeEvents_Type) debugEvent); } //else *************** *** 862,880 **** bool wxLuaDebuggerServer::DisplayStackDialog(wxWindow *pParent) { ! if (m_pStackDialog == NULL) { wxLuaDebuggerServerInterface* li = new wxLuaDebuggerServerInterface(this); ! m_pStackDialog = new wxLuaStackDialog(); ! wxLuaHandler::GetHandler().SetStackDialog(m_pStackDialog); ! ! m_pStackDialog->Create(pParent, _("wxLua Stack frame"), ! wxDefaultPosition, wxSize(500, 250), ! li); ! m_pStackDialog->ShowModal(); ! m_pStackDialog->Destroy(); ! wxLuaHandler::GetHandler().SetStackDialog(NULL); ! m_pStackDialog = NULL; return true; } --- 850,865 ---- bool wxLuaDebuggerServer::DisplayStackDialog(wxWindow *pParent) { ! if (m_stackDialog == NULL) { wxLuaDebuggerServerInterface* li = new wxLuaDebuggerServerInterface(this); ! m_stackDialog = new wxLuaStackDialog(); ! m_stackDialog->Create(pParent, _("wxLua Stack frame"), ! wxDefaultPosition, wxSize(500, 250), ! li); ! m_stackDialog->ShowModal(); ! m_stackDialog->Destroy(); ! m_stackDialog = NULL; return true; } Index: wxlsock.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxluasocket/src/wxlsock.cpp,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** wxlsock.cpp 25 Sep 2006 22:24:46 -0000 1.14 --- wxlsock.cpp 28 Sep 2006 22:26:06 -0000 1.15 *************** *** 98,110 **** // ---------------------------------------------------------------------------- ! bool wxLuaSocketBase::ReadByte(unsigned char& value_) { unsigned char value = 0; bool ok = Read((char *) &value, sizeof(unsigned char)) == sizeof(unsigned char); ! wxLuaSocketDebugMsg(m_name + wxT(" wxLuaSocketBase::ReadByte"), wxString::Format(wxT("ok %d val %d "), (int)ok, (int)value) + wxLuaSocketCmdEventMsg(value)); if (ok) value_ = value; return ok; } - bool wxLuaSocketBase::ReadInt32(wxInt32& value_) { --- 98,109 ---- // ---------------------------------------------------------------------------- ! bool wxLuaSocketBase::ReadCmd(unsigned char& value_) { unsigned char value = 0; bool ok = Read((char *) &value, sizeof(unsigned char)) == sizeof(unsigned char); ! wxLuaSocketDebugMsg(m_name + wxT(" wxLuaSocketBase::ReadCmd"), wxString::Format(wxT("ok %d val %d "), (int)ok, (int)value) + wxLuaSocketCmdEventMsg(value)); if (ok) value_ = value; return ok; } bool wxLuaSocketBase::ReadInt32(wxInt32& value_) { *************** *** 115,128 **** return ok; } - - bool wxLuaSocketBase::ReadUInt32(wxUint32& value_) - { - wxUint32 value = 0; - bool ok = Read((char *) &value, sizeof(wxUint32)) == sizeof(wxUint32); - wxLuaSocketDebugMsg(m_name + wxT(" wxLuaSocketBase::ReadUInt32"), wxString::Format(wxT("ok %d val %u"), (int)ok, value)); - if (ok) value_ = value; - return value; - } - bool wxLuaSocketBase::ReadLong(long& value_) { --- 114,117 ---- *************** *** 136,140 **** return ok; } - bool wxLuaSocketBase::ReadString(wxString& value_) { --- 125,128 ---- *************** *** 149,153 **** ok = Read(buffer, length) == (int)length; buffer[length] = 0; ! value = lua2wx(buffer); delete[] buffer; } --- 137,141 ---- ok = Read(buffer, length) == (int)length; buffer[length] = 0; ! if (ok) value = lua2wx(buffer); delete[] buffer; } *************** *** 158,162 **** return ok; } - bool wxLuaSocketBase::ReadDebugData(wxLuaDebugData& value) { --- 146,149 ---- *************** *** 219,236 **** } ! bool wxLuaSocketBase::WriteByte(char value) { ! wxLuaSocketDebugMsg(m_name + wxT(" wxLuaSocketBase::WriteByte"), wxString::Format(wxT("val %d "), (int)value) + wxLuaSocketCmdEventMsg(value)); ! return Write((const char*)&value, sizeof(char)); } bool wxLuaSocketBase::WriteInt32(wxInt32 value) { wxLuaSocketDebugMsg(m_name + wxT(" wxLuaSocketBase::WriteInt32"), wxString::Format(wxT("val %d"), value)); ! return Write((const char*)&value, sizeof(wxInt32)); ! } ! bool wxLuaSocketBase::WriteUInt32(wxUint32 value) ! { ! wxLuaSocketDebugMsg(m_name + wxT(" wxLuaSocketBase::WriteUInt32"), wxString::Format(wxT("val %u"), value)); ! return Write((const char*)&value, sizeof(wxUint32)); } bool wxLuaSocketBase::WriteLong(long value) --- 206,218 ---- } ! bool wxLuaSocketBase::WriteCmd(char value) { ! wxLuaSocketDebugMsg(m_name + wxT(" wxLuaSocketBase::WriteCmd"), wxString::Format(wxT("val %d "), (int)value) + wxLuaSocketCmdEventMsg(value)); ! return Write((const char*)&value, sizeof(char)) == sizeof(char); } bool wxLuaSocketBase::WriteInt32(wxInt32 value) { wxLuaSocketDebugMsg(m_name + wxT(" wxLuaSocketBase::WriteInt32"), wxString::Format(wxT("val %d"), value)); ! return Write((const char*)&value, sizeof(wxInt32)) == sizeof(wxInt32); } bool wxLuaSocketBase::WriteLong(long value) *************** *** 240,246 **** char buf[65] = { 0 }; memset(buf, 0, 65); sprintf(buf, "%ld", value); ! return Write(buf, 64); } - bool wxLuaSocketBase::WriteString(const wxString &value) { --- 222,227 ---- char buf[65] = { 0 }; memset(buf, 0, 65); sprintf(buf, "%ld", value); ! return Write(buf, 64) == 64; } bool wxLuaSocketBase::WriteString(const wxString &value) { *************** *** 252,262 **** try { ! Write((const char*)&buflen, sizeof(wxUint32)); ! if (buflen > 0) { ! Write(buf.GetData(), buflen); } ! return true; } catch(wxLuaSocketException &) --- 233,243 ---- try { ! bool ok = Write((const char*)&buflen, sizeof(wxUint32)) == sizeof(wxUint32); ! if (ok && (buflen > 0)) { ! ok = Write(buf.GetData(), buflen) == (int)buflen; } ! return ok; } catch(wxLuaSocketException &) *************** *** 266,270 **** return false; } - bool wxLuaSocketBase::WriteDebugData(const wxLuaDebugData& debugData) { --- 247,250 ---- *************** *** 334,338 **** // ---------------------------------------------------------------------------- ! wxLuaSocket::wxLuaSocket() : m_sockstate(SOCKET_CLOSED) { } --- 314,318 ---- // ---------------------------------------------------------------------------- ! wxLuaSocket::wxLuaSocket() : m_sock(0), m_sockstate(SOCKET_CLOSED) { } *************** *** 434,438 **** wxString wxLuaSocket::GetAddress() const { ! if (m_sockstate != SOCKET_CONNECTED && m_sockstate != SOCKET_ACCEPTED) throw wxLuaSocketException(wxLuaSocketException::SOCKET_NOT_CONNECTED); --- 414,418 ---- wxString wxLuaSocket::GetAddress() const { ! if ((m_sockstate != SOCKET_CONNECTED) && (m_sockstate != SOCKET_ACCEPTED)) throw wxLuaSocketException(wxLuaSocketException::SOCKET_NOT_CONNECTED); *************** *** 442,446 **** int wxLuaSocket::GetPort() const { ! if (m_sockstate != SOCKET_CONNECTED && m_sockstate != SOCKET_ACCEPTED) throw wxLuaSocketException(wxLuaSocketException::SOCKET_NOT_CONNECTED); --- 422,426 ---- int wxLuaSocket::GetPort() const { ! if ((m_sockstate != SOCKET_CONNECTED) && (m_sockstate != SOCKET_ACCEPTED)) throw wxLuaSocketException(wxLuaSocketException::SOCKET_NOT_CONNECTED); *************** *** 448,453 **** } - - // Write data to an open socket, repeat until all data has been sent. int wxLuaSocket::Write(const char *buffer_, wxUint32 length_) --- 428,431 ---- *************** *** 506,519 **** } ! // Shutdown a socket in an orderly fashion ! void wxLuaSocket::Shutdown(int how) { if (m_sockstate != SOCKET_CLOSED) { ! ::shutdown(m_sock, how); } } ! void wxLuaSocket::Close() { if (m_sockstate != SOCKET_CLOSED) --- 484,498 ---- } ! bool wxLuaSocket::Shutdown(int how) { if (m_sockstate != SOCKET_CLOSED) { ! return ::shutdown(m_sock, how) == 0; } + + return false; } ! bool wxLuaSocket::Close() { if (m_sockstate != SOCKET_CLOSED) *************** *** 526,531 **** throw wxLuaSocketException(wxLuaSocketException::SOCKET_CLOSE_FAILED); #endif ! m_sockstate = SOCKET_CLOSED; } } --- 505,516 ---- throw wxLuaSocketException(wxLuaSocketException::SOCKET_CLOSE_FAILED); #endif ! else ! { ! m_sockstate = SOCKET_CLOSED; ! return true; ! } } + + return false; } Index: wxlhandl.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxluasocket/src/wxlhandl.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** wxlhandl.cpp 7 Sep 2006 04:20:54 -0000 1.5 --- wxlhandl.cpp 28 Sep 2006 22:26:06 -0000 1.6 *************** *** 26,43 **** #include "wxluasocket/include/wxlhandl.h" - // ---------------------------------------------------------------------------- - // wxLuaHandler - Allow for Custom Lua Handler (an alternative to wxLuaApp) - // ---------------------------------------------------------------------------- - - wxLuaHandler* wxLuaHandler::sm_luaHandler = NULL; - - wxLuaHandler::wxLuaHandler() : m_stackDialog(NULL) - { - wxASSERT_MSG(!sm_luaHandler, wxT("There can only be one wxLuaHandler!")); - sm_luaHandler = this; - } - - wxLuaHandler::~wxLuaHandler() - { - sm_luaHandler = NULL; - } --- 26,27 ---- Index: wxldtarg.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxluasocket/src/wxldtarg.cpp,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** wxldtarg.cpp 25 Sep 2006 22:24:46 -0000 1.23 --- wxldtarg.cpp 28 Sep 2006 22:26:06 -0000 1.24 *************** *** 24,28 **** #include "wxluasocket/include/wxldtarg.h" #include "wxluasocket/include/wxldserv.h" - #include "wxluasocket/include/wxlhandl.h" #if !wxCHECK_VERSION(2, 6, 0) --- 24,27 ---- *************** *** 76,80 **** lua_setglobal(L, "print"); ! wxLuaHandler::GetHandler().EnterLuaCriticalSection(); } --- 75,79 ---- lua_setglobal(L, "print"); ! EnterLuaCriticalSection(); } *************** *** 84,88 **** delete m_pThread; ! wxLuaHandler::GetHandler().LeaveLuaCriticalSection(); } --- 83,87 ---- delete m_pThread; ! LeaveLuaCriticalSection(); } *************** *** 189,193 **** { unsigned char debugCommand = 0; // wxLuaSocketDebuggerCommands_Type ! if (!m_clientSocket.ReadByte(debugCommand)) { //wxMilliSleep(250); // FIXME slow down reading a bit and cross fingers --- 188,192 ---- { unsigned char debugCommand = 0; // wxLuaSocketDebuggerCommands_Type ! if (!m_clientSocket.ReadCmd(debugCommand)) { //wxMilliSleep(250); // FIXME slow down reading a bit and cross fingers *************** *** 195,340 **** } ! switch ((int)debugCommand) ! { ! case wxLUASOCKET_DEBUGGER_CMD_NONE : ! { ! // This is an error, but maybe we can continue? ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_ADD_BREAKPOINT: ! { ! wxString fileName; ! wxInt32 lineNumber = 0; ! if (m_clientSocket.ReadString(fileName) && ! m_clientSocket.ReadInt32(lineNumber)) ! { ! AddBreakPoint(fileName, lineNumber); ! } ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_REMOVE_BREAKPOINT: ! { ! wxString fileName; ! wxInt32 lineNumber = 0; ! if (m_clientSocket.ReadString(fileName) && ! m_clientSocket.ReadInt32(lineNumber)) ! { ! RemoveBreakPoint(fileName, lineNumber); ! } ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_CLEAR_ALL_BREAKPOINTS: { ! ClearAllBreakPoints(); ! break; } ! case wxLUASOCKET_DEBUGGER_CMD_RUN_BUFFER: ! { ! wxString fileName; ! wxString buffer; ! if (m_clientSocket.ReadString(fileName) && ! m_clientSocket.ReadString(buffer)) ! { ! Run(fileName, buffer); ! } ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_DEBUG_STEP: ! { ! Step(); ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_DEBUG_STEPOVER: ! { ! StepOver(); ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_DEBUG_STEPOUT: ! { ! StepOut(); ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_DEBUG_CONTINUE: ! { ! Continue(); ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_DEBUG_BREAK: { ! Break(); ! break; } ! case wxLUASOCKET_DEBUGGER_CMD_ENUMERATE_STACK: { ! EnumerateStack(); ! break; } ! case wxLUASOCKET_DEBUGGER_CMD_ENUMERATE_STACK_ENTRY: ! { ! wxInt32 stackRef = 0; ! if (m_clientSocket.ReadInt32(stackRef)) ! EnumerateStackEntry(stackRef); ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_ENUMERATE_TABLE_REF: ! { ! wxInt32 tableRef = 0; ! wxInt32 index = 0; ! long itemNode = 0; ! if (m_clientSocket.ReadInt32(tableRef) && ! m_clientSocket.ReadInt32(index) && ! m_clientSocket.ReadLong(itemNode)) ! { ! EnumerateTable(tableRef, index, itemNode); ! } ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_RESET: { ! Reset(); ! break; } ! case wxLUASOCKET_DEBUGGER_CMD_EVALUATE_EXPR: ! { ! wxInt32 exprRef = 0; ! wxString buffer; ! if (m_clientSocket.ReadInt32(exprRef) && ! m_clientSocket.ReadString(buffer)) ! { ! EvaluateExpr(exprRef, buffer); ! } ! break; } ! case wxLUASOCKET_DEBUGGER_CMD_CLEAR_DEBUG_REFERENCES: { ! size_t idx, idxMax = m_references.GetCount(); ! for (idx = 0; idx < idxMax; ++idx) ! { ! int iItem = m_references.Item(idx); ! m_wxlState.tremove(iItem); ! } ! // FIXME - should we also remove the array items ! break; } ! case wxLUASOCKET_DEBUGGER_CMD_DISABLE_BREAKPOINT: ! break; ! case wxLUASOCKET_DEBUGGER_CMD_ENABLE_BREAKPOINT: ! break; ! default : ! wxFAIL_MSG(wxT("Invalid wxLuaSocketDebuggerCommands_Type in wxLuaDebugTarget::ThreadFunction")); } ! } ! catch(...) ! { ! fThreadRunning = false; } } } --- 194,355 ---- } ! if (HandleDebuggerCmd(debugCommand) == -1) ! fThreadRunning = false; ! } ! catch(...) ! { ! fThreadRunning = false; ! } ! } ! } ! int wxLuaDebugTarget::HandleDebuggerCmd(int debugCommand) ! { ! try ! { ! switch ((int)debugCommand) ! { ! case wxLUASOCKET_DEBUGGER_CMD_NONE : ! { ! // This is an error, but maybe we can continue? ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_ADD_BREAKPOINT: ! { ! wxString fileName; ! wxInt32 lineNumber = 0; ! if (m_clientSocket.ReadString(fileName) && ! m_clientSocket.ReadInt32(lineNumber)) { ! AddBreakPoint(fileName, lineNumber); } ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_REMOVE_BREAKPOINT: ! { ! wxString fileName; ! wxInt32 lineNumber = 0; ! if (m_clientSocket.ReadString(fileName) && ! m_clientSocket.ReadInt32(lineNumber)) { ! RemoveBreakPoint(fileName, lineNumber); } ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_CLEAR_ALL_BREAKPOINTS: ! { ! ClearAllBreakPoints(); ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_RUN_BUFFER: ! { ! wxString fileName; ! wxString buffer; ! ! if (m_clientSocket.ReadString(fileName) && ! m_clientSocket.ReadString(buffer)) { ! Run(fileName, buffer); } ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_DEBUG_STEP: ! { ! Step(); ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_DEBUG_STEPOVER: ! { ! StepOver(); ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_DEBUG_STEPOUT: ! { ! StepOut(); ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_DEBUG_CONTINUE: ! { ! Continue(); ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_DEBUG_BREAK: ! { ! Break(); ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_ENUMERATE_STACK: ! { ! EnumerateStack(); ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_ENUMERATE_STACK_ENTRY: ! { ! wxInt32 stackRef = 0; ! if (m_clientSocket.ReadInt32(stackRef)) ! EnumerateStackEntry(stackRef); ! break; ! } ! case wxLUASOCKET_DEBUGGER_CMD_ENUMERATE_TABLE_REF: ! { ! wxInt32 tableRef = 0; ! wxInt32 index = 0; ! long itemNode = 0; ! if (m_cl... [truncated message content] |