diff options
author | Ed Maste <emaste@FreeBSD.org> | 2014-11-25 21:00:58 +0000 |
---|---|---|
committer | Ed Maste <emaste@FreeBSD.org> | 2014-11-25 21:00:58 +0000 |
commit | 0cac4ca3916ac24ab6139d03cbfd18db9e715bfe (patch) | |
tree | c94307da318be46e5aeea1a325c1e91749506e4f /tools/lldb-mi/MICmdCmdMiscellanous.h | |
parent | 03b99097822ca3ac69252d9afae716a584ed56c4 (diff) | |
download | src-0cac4ca3916ac24ab6139d03cbfd18db9e715bfe.tar.gz src-0cac4ca3916ac24ab6139d03cbfd18db9e715bfe.zip |
Import LLDB as of upstream SVN r216948 (git 50f7fe44)vendor/lldb/lldb-r216948
This corresponds with the branchpoint for the 3.5 release.
A number of files not required for the FreeBSD build have been removed.
Sponsored by: DARPA, AFRL
Notes
Notes:
svn path=/vendor/lldb/dist/; revision=275072
svn path=/vendor/lldb/lldb-r216948/; revision=275074; tag=vendor/lldb/lldb-r216948
Diffstat (limited to 'tools/lldb-mi/MICmdCmdMiscellanous.h')
-rw-r--r-- | tools/lldb-mi/MICmdCmdMiscellanous.h | 175 |
1 files changed, 175 insertions, 0 deletions
diff --git a/tools/lldb-mi/MICmdCmdMiscellanous.h b/tools/lldb-mi/MICmdCmdMiscellanous.h new file mode 100644 index 000000000000..ea71f1233418 --- /dev/null +++ b/tools/lldb-mi/MICmdCmdMiscellanous.h @@ -0,0 +1,175 @@ +//===-- MICmdCmdMiscellanous.h ----------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +//++ +// File: MICmdCmdMiscellanous.h +// +// Overview: CMICmdCmdGdbExit interface. +// CMICmdCmdListThreadGroups interface. +// CMICmdCmdInterpreterExec interface. +// CMICmdCmdInferiorTtySet interface. +// +// To implement new MI commands derive a new command class from the command base +// class. To enable the new command for interpretation add the new command class +// to the command factory. The files of relevance are: +// MICmdCommands.cpp +// MICmdBase.h / .cpp +// MICmdCmd.h / .cpp +// For an introduction to adding a new command see CMICmdCmdSupportInfoMiCmdQuery +// command class as an example. +// +// Environment: Compilers: Visual C++ 12. +// gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1 +// Libraries: See MIReadmetxt. +// +// Copyright: None. +//-- + +#pragma once + +// Third party headers: +#include <lldb/API/SBCommandReturnObject.h> + +// In-house headers: +#include "MICmdBase.h" +#include "MICmnMIValueTuple.h" +#include "MICmnMIValueList.h" + +//++ ============================================================================ +// Details: MI command class. MI commands derived from the command base class. +// *this class implements MI command "gdb-exit". +// Gotchas: None. +// Authors: Illya Rudkin 04/03/2014. +// Changes: None. +//-- +class CMICmdCmdGdbExit : public CMICmdBase +{ +// Statics: +public: + // Required by the CMICmdFactory when registering *this command + static CMICmdBase * CreateSelf( void ); + +// Methods: +public: + /* ctor */ CMICmdCmdGdbExit( void ); + +// Overridden: +public: + // From CMICmdInvoker::ICmd + virtual bool Execute( void ); + virtual bool Acknowledge( void ); + // From CMICmnBase + /* dtor */ virtual ~CMICmdCmdGdbExit( void ); +}; + +//++ ============================================================================ +// Details: MI command class. MI commands derived from the command base class. +// *this class implements MI command "list-thread-groups". +// This command does not follow the MI documentation exactly. +// http://sourceware.org/gdb/onlinedocs/gdb/GDB_002fMI-Miscellaneous-Commands.html#GDB_002fMI-Miscellaneous-Commands +// Gotchas: None. +// Authors: Illya Rudkin 06/03/2014. +// Changes: None. +//-- +class CMICmdCmdListThreadGroups : public CMICmdBase +{ +// Statics: +public: + // Required by the CMICmdFactory when registering *this command + static CMICmdBase * CreateSelf( void ); + +// Methods: +public: + /* ctor */ CMICmdCmdListThreadGroups( void ); + +// Overridden: +public: + // From CMICmdInvoker::ICmd + virtual bool Execute( void ); + virtual bool Acknowledge( void ); + virtual bool ParseArgs( void ); + // From CMICmnBase + /* dtor */ virtual ~CMICmdCmdListThreadGroups( void ); + +// Typedefs: +private: + typedef std::vector< CMICmnMIValueTuple > VecMIValueTuple_t; + +// Attributes: +private: + bool m_bIsI1; // True = Yes command argument equal "i1", false = no match + bool m_bHaveArgOption; // True = Yes "--available" present, false = not found + bool m_bHaveArgRecurse; // True = Yes command argument "--recurse", false = no found + VecMIValueTuple_t m_vecMIValueTuple; + const CMIUtilString m_constStrArgNamedAvailable; + const CMIUtilString m_constStrArgNamedRecurse; + const CMIUtilString m_constStrArgNamedGroup; + const CMIUtilString m_constStrArgNamedThreadGroup; +}; + +//++ ============================================================================ +// Details: MI command class. MI commands derived from the command base class. +// *this class implements MI command "interpreter-exec". +// Gotchas: None. +// Authors: Illya Rudkin 16/05/2014. +// Changes: None. +//-- +class CMICmdCmdInterpreterExec : public CMICmdBase +{ +// Statics: +public: + // Required by the CMICmdFactory when registering *this command + static CMICmdBase * CreateSelf( void ); + +// Methods: +public: + /* ctor */ CMICmdCmdInterpreterExec( void ); + +// Overridden: +public: + // From CMICmdInvoker::ICmd + virtual bool Execute( void ); + virtual bool Acknowledge( void ); + virtual bool ParseArgs( void ); + // From CMICmnBase + /* dtor */ virtual ~CMICmdCmdInterpreterExec( void ); + +// Attributes: +private: + const CMIUtilString m_constStrArgNamedInterpreter; + const CMIUtilString m_constStrArgNamedCommand; + lldb::SBCommandReturnObject m_lldbResult; +}; + +//++ ============================================================================ +// Details: MI command class. MI commands derived from the command base class. +// *this class implements MI command "inferior-tty-set". +// Gotchas: None. +// Authors: Illya Rudkin 22/07/2014. +// Changes: None. +//-- +class CMICmdCmdInferiorTtySet : public CMICmdBase +{ +// Statics: +public: + // Required by the CMICmdFactory when registering *this command + static CMICmdBase * CreateSelf( void ); + +// Methods: +public: + /* ctor */ CMICmdCmdInferiorTtySet( void ); + +// Overridden: +public: + // From CMICmdInvoker::ICmd + virtual bool Execute( void ); + virtual bool Acknowledge( void ); + // From CMICmnBase + /* dtor */ virtual ~CMICmdCmdInferiorTtySet( void ); +};
\ No newline at end of file |