| 52 | }; |
| 53 | |
| 54 | class MIDebugSession : public KDevelop::IDebugSession |
| 55 | { |
| 56 | Q_OBJECT |
| 57 | public: |
| 58 | explicit MIDebugSession(); |
| 59 | ~MIDebugSession() override; |
| 60 | |
| 61 | Q_SIGNALS: |
| 62 | /** |
| 63 | * Emits when received standard output lines from inferior |
| 64 | */ |
| 65 | void inferiorStdoutLines(const QStringList& lines); |
| 66 | |
| 67 | /** |
| 68 | * Emits when received standard error lines from inferior |
| 69 | */ |
| 70 | void inferiorStderrLines(const QStringList& lines); |
| 71 | |
| 72 | void inferiorStopped(const MI::AsyncRecord& r); |
| 73 | |
| 74 | void inferiorRunning(); |
| 75 | |
| 76 | /** |
| 77 | * Emits when received standard output from debugger for user commands |
| 78 | */ |
| 79 | void debuggerUserCommandOutput(const QString &output); |
| 80 | |
| 81 | /** |
| 82 | * Emits when received standard output from debugger for internal commands |
| 83 | */ |
| 84 | void debuggerInternalCommandOutput(const QString& output); |
| 85 | |
| 86 | /** |
| 87 | * Emits when received internal output from debugger |
| 88 | */ |
| 89 | void debuggerInternalOutput(const QString& output) const; |
| 90 | |
| 91 | /** |
| 92 | * Emits when the debugger instance state changes |
| 93 | */ |
| 94 | void debuggerStateChanged(DBGStateFlags oldState, DBGStateFlags newState); |
| 95 | |
| 96 | /** |
| 97 | * Emits when there's message needed to be show to user. |
| 98 | */ |
| 99 | void showMessage(const QString& message, int timeout); |
| 100 | |
| 101 | /** |
| 102 | * Emits when the debugger console view need to be raised. |
| 103 | */ |
| 104 | void raiseDebuggerConsoleViews(); |
| 105 | |
| 106 | public: |
| 107 | /** |
| 108 | * Start the debugger and execute the inferior program specified by @p startupInfo. |
| 109 | * |
| 110 | * @return whether debugging started successfully |
| 111 | */ |