18 #ifndef INCLUDED_DEBUGGINGSERVER
19 #define INCLUDED_DEBUGGINGSERVER
111 void GetFile(std::string filename, std::stringstream& response);
151 #endif // INCLUDED_DEBUGGINGSERVER
CDebuggingServer * g_DebuggingServer
bool m_SettingBreakOnException
static const char * header400
std::list< CBreakPoint > m_BreakPoints
bool SetNextDbgCmd(uint threadDebuggerID, DBGCMD dbgCmd)
bool GetSettingBreakOnException()
double m_BreakPointsLockID
void RegisterScriptinterface(std::string name, ScriptInterface *pScriptInterface)
Register a new ScriptInerface for debugging the scripts it executes.
bool GetWebArgs(struct mg_connection *conn, const struct mg_request_info *request_info, std::string argName, uint &arg)
Webserver helper function (can be called by multiple mongooser threads)
CMutex m_Mutex
Mutexes used to ensure thread-safety.
bool GetBreakRequestedByUser()
void * MgDebuggingServerCallback(mg_event event, struct mg_connection *conn, const struct mg_request_info *request_info)
A non-recursive mutual exclusion lock.
std::list< CThreadDebugger * > m_ThreadDebuggers
Shared between multiple scriptinerface threads and multiple mongoose threads.
void GetThreadDebuggerStatus(std::stringstream &response)
Functions that are made available via http (can be called by multiple mongoose threads) ...
SDL_sem * m_BreakPointsSem
Used for controlling access to m_BreakPoints.
uint m_LastThreadDebuggerID
Shared between multiple scriptinterface threads.
void ReleaseBreakPointAccess(double breakPointsLockID)
See AquireBreakPointAccess().
void EnableHTTP()
Not important for this class' thread-safety.
void GetStackFrameData(std::stringstream &response, uint nestingLevel, uint threadDebuggerID, STACK_INFO stackInfoKind)
void SetBreakRequestedByThread(bool Enabled)
void EnumVfsJSFiles(std::stringstream &response)
Returns a list of the full vfs paths to all files with the extension .js found in the vfs root...
bool m_SettingSimultaneousThreadBreak
Shared between multiple mongoose threads.
double AquireBreakPointAccess(std::list< CBreakPoint > **breakPoints)
Aquire exclusive read and write access to the list of breakpoints.
bool m_BreakRequestedByThread
bool m_BreakRequestedByUser
bool GetSettingSimultaneousThreadBreak()
Abstraction around a SpiderMonkey JSContext.
void ToggleBreakPoint(std::string filename, uint line)
void GetAllCallstacks(std::stringstream &response)
void SetSettingBreakOnException(bool Enabled)
void SetBreakRequestedByUser(bool Enabled)
void UnRegisterScriptinterface(ScriptInterface *pScriptInterface)
Unregister a ScriptInerface that was previously registered using RegisterScriptinterface.
void GetFile(std::string filename, std::stringstream &response)
Get the content of a .js file loaded into vfs.
bool GetBreakRequestedByThread()
Called from multiple Mongoose threads and multiple ScriptInterface threads.
void SetSettingSimultaneousThreadBreak(bool Enabled)