aboutsummaryrefslogtreecommitdiff
path: root/lldb/tools/lldb-mi/MICmdCmdGdbSet.h
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/tools/lldb-mi/MICmdCmdGdbSet.h')
-rw-r--r--lldb/tools/lldb-mi/MICmdCmdGdbSet.h107
1 files changed, 61 insertions, 46 deletions
diff --git a/lldb/tools/lldb-mi/MICmdCmdGdbSet.h b/lldb/tools/lldb-mi/MICmdCmdGdbSet.h
index db33f65..98017ba 100644
--- a/lldb/tools/lldb-mi/MICmdCmdGdbSet.h
+++ b/lldb/tools/lldb-mi/MICmdCmdGdbSet.h
@@ -9,13 +9,16 @@
// Overview: CMICmdCmdGdbSet 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 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
+// For an introduction to adding a new command see
+// CMICmdCmdSupportInfoMiCmdQuery
// command class as an example.
#pragma once
@@ -23,63 +26,75 @@
// In-house headers:
#include "MICmdBase.h"
-//++ ============================================================================
+//++
+//============================================================================
// Details: MI command class. MI commands derived from the command base class.
// *this class implements MI command "gdb-set".
-// This command does not follow the MI documentation exactly. While *this
+// This command does not follow the MI documentation exactly. While
+// *this
// command is implemented it does not do anything with the gdb-set
// variable past in.
// The design of matching the info request to a request action (or
// command) is very simple. The request function which carries out
// the task of information gathering and printing to stdout is part of
-// *this class. Should the request function become more complicated then
+// *this class. Should the request function become more complicated
+// then
// that request should really reside in a command type class. Then this
-// class instantiates a request info command for a matching request. The
+// class instantiates a request info command for a matching request.
+// The
// design/code of *this class then does not then become bloated. Use a
// lightweight version of the current MI command system.
//--
-class CMICmdCmdGdbSet : public CMICmdBase
-{
- // Statics:
- public:
- // Required by the CMICmdFactory when registering *this command
- static CMICmdBase *CreateSelf();
+class CMICmdCmdGdbSet : public CMICmdBase {
+ // Statics:
+public:
+ // Required by the CMICmdFactory when registering *this command
+ static CMICmdBase *CreateSelf();
- // Methods:
- public:
- /* ctor */ CMICmdCmdGdbSet();
+ // Methods:
+public:
+ /* ctor */ CMICmdCmdGdbSet();
- // Overridden:
- public:
- // From CMICmdInvoker::ICmd
- bool Execute() override;
- bool Acknowledge() override;
- bool ParseArgs() override;
- // From CMICmnBase
- /* dtor */ ~CMICmdCmdGdbSet() override;
+ // Overridden:
+public:
+ // From CMICmdInvoker::ICmd
+ bool Execute() override;
+ bool Acknowledge() override;
+ bool ParseArgs() override;
+ // From CMICmnBase
+ /* dtor */ ~CMICmdCmdGdbSet() override;
- // Typedefs:
- private:
- typedef bool (CMICmdCmdGdbSet::*FnGdbOptionPtr)(const CMIUtilString::VecString_t &vrWords);
- typedef std::map<CMIUtilString, FnGdbOptionPtr> MapGdbOptionNameToFnGdbOptionPtr_t;
+ // Typedefs:
+private:
+ typedef bool (CMICmdCmdGdbSet::*FnGdbOptionPtr)(
+ const CMIUtilString::VecString_t &vrWords);
+ typedef std::map<CMIUtilString, FnGdbOptionPtr>
+ MapGdbOptionNameToFnGdbOptionPtr_t;
- // Methods:
- private:
- bool GetOptionFn(const CMIUtilString &vrGdbOptionName, FnGdbOptionPtr &vrwpFn) const;
- bool OptionFnTargetAsync(const CMIUtilString::VecString_t &vrWords);
- bool OptionFnPrint(const CMIUtilString::VecString_t &vrWords);
- bool OptionFnSolibSearchPath(const CMIUtilString::VecString_t &vrWords);
- bool OptionFnOutputRadix(const CMIUtilString::VecString_t &vrWords);
- bool OptionFnFallback(const CMIUtilString::VecString_t &vrWords);
+ // Methods:
+private:
+ bool GetOptionFn(const CMIUtilString &vrGdbOptionName,
+ FnGdbOptionPtr &vrwpFn) const;
+ bool OptionFnTargetAsync(const CMIUtilString::VecString_t &vrWords);
+ bool OptionFnPrint(const CMIUtilString::VecString_t &vrWords);
+ bool OptionFnSolibSearchPath(const CMIUtilString::VecString_t &vrWords);
+ bool OptionFnOutputRadix(const CMIUtilString::VecString_t &vrWords);
+ bool OptionFnFallback(const CMIUtilString::VecString_t &vrWords);
- // Attributes:
- private:
- const static MapGdbOptionNameToFnGdbOptionPtr_t ms_mapGdbOptionNameToFnGdbOptionPtr;
- //
- const CMIUtilString m_constStrArgNamedGdbOption;
- bool m_bGdbOptionRecognised; // True = This command has a function with a name that matches the Print argument, false = not found
- bool m_bGdbOptionFnSuccessful; // True = The print function completed its task ok, false = function failed for some reason
- bool m_bGbbOptionFnHasError; // True = The option function has an error condition (not the command!), false = option function ok.
- CMIUtilString m_strGdbOptionName;
- CMIUtilString m_strGdbOptionFnError;
+ // Attributes:
+private:
+ const static MapGdbOptionNameToFnGdbOptionPtr_t
+ ms_mapGdbOptionNameToFnGdbOptionPtr;
+ //
+ const CMIUtilString m_constStrArgNamedGdbOption;
+ bool m_bGdbOptionRecognised; // True = This command has a function with a name
+ // that matches the Print argument, false = not
+ // found
+ bool m_bGdbOptionFnSuccessful; // True = The print function completed its task
+ // ok, false = function failed for some reason
+ bool m_bGbbOptionFnHasError; // True = The option function has an error
+ // condition (not the command!), false = option
+ // function ok.
+ CMIUtilString m_strGdbOptionName;
+ CMIUtilString m_strGdbOptionFnError;
};