diff options
Diffstat (limited to 'lldb/tools/lldb-mi/MICmdCmdGdbSet.h')
-rw-r--r-- | lldb/tools/lldb-mi/MICmdCmdGdbSet.h | 107 |
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; }; |