llvm-project/lldb/tools/lldb-mi/MICmdData.h

59 lines
2.4 KiB
C
Raw Normal View History

//===-- MICmdData.h ---------------------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#pragma once
// In-house headers:
#include "MICmnResources.h"
//++
//============================================================================
// Details: MI command metadata. Holds the command's name, MI number and options
// as found on stdin. Holds the command's MI output (written to
// stdout).
//--
struct SMICmdData {
SMICmdData()
: id(0), bCmdValid(false), bCmdExecutedSuccessfully(false),
bMIOldStyle(false), bHasResultRecordExtra(false) {}
MIuint id; // A command's unique ID i.e. GUID
CMIUtilString strMiCmdToken; // The command's MI token (a number)
CMIUtilString strMiCmd; // The command's name
CMIUtilString strMiCmdOption; // The command's arguments or options
CMIUtilString strMiCmdAll; // The text as received from the client
CMIUtilString
strMiCmdResultRecord; // Each command forms 1 response to its input
CMIUtilString strMiCmdResultRecordExtra; // Hack command produce more response
// text to help the client because of
// using LLDB
bool bCmdValid; // True = Valid MI format command, false = invalid
bool bCmdExecutedSuccessfully; // True = Command finished successfully, false
// = Did not start/did not complete
CMIUtilString strErrorDescription; // Command failed this is why
bool bMIOldStyle; // True = format "3thread", false = format "3-thread"
bool bHasResultRecordExtra; // True = Yes command produced additional MI
// output to its 1 line response, false = no extra
// MI output formed
void Clear() {
id = 0;
strMiCmdToken.clear();
strMiCmd = MIRSRC(IDS_CMD_ERR_CMD_RUN_BUT_NO_ACTION);
strMiCmdOption.clear();
strMiCmdAll.clear();
strMiCmdResultRecord.clear();
strMiCmdResultRecordExtra.clear();
bCmdValid = false;
bCmdExecutedSuccessfully = false;
strErrorDescription.clear();
bMIOldStyle = false;
bHasResultRecordExtra = false;
}
};