File: XDebugStopCmdHandler.cpp

package info (click to toggle)
codelite 14.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 112,816 kB
  • sloc: cpp: 483,662; ansic: 150,144; php: 9,569; lex: 4,186; python: 3,417; yacc: 2,820; sh: 1,147; makefile: 52; xml: 13
file content (37 lines) | stat: -rw-r--r-- 1,020 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include "XDebugStopCmdHandler.h"
#include <wx/socket.h>
#include <file_logger.h>
#include <wx/xml/xml.h>
#include "XDebugManager.h"
#include <event_notifier.h>
#include "xdebugevent.h"

XDebugStopCmdHandler::XDebugStopCmdHandler(XDebugManager* mgr, int transcationId)
    : XDebugCommandHandler(mgr, transcationId)
{
}

XDebugStopCmdHandler::~XDebugStopCmdHandler()
{
}

void XDebugStopCmdHandler::Process(const wxXmlNode* response)
{
    CL_DEBUG("CodeLite: Stop command completed.");
    wxString status = response->GetAttribute("status");
    if ( status == "stopping" ) {
        CL_DEBUG("CodeLite: xdebug entered status 'stopping'");
        
        // Notify about control
        XDebugEvent focusEvent(wxEVT_XDEBUG_STOPPED);
        EventNotifier::Get()->AddPendingEvent( focusEvent );

    } else if ( status == "stopped" ) {
        CL_DEBUG("CodeLite: xdebug entered status 'stopped'");
        m_mgr->SendStopCommand();
        
    } else {
        // default
        m_mgr->CloseDebugSession();
    }
}