diff options
Diffstat (limited to 'lldb/tools/lldb-mi/MICmdArgSet.h')
-rw-r--r-- | lldb/tools/lldb-mi/MICmdArgSet.h | 135 |
1 files changed, 76 insertions, 59 deletions
diff --git a/lldb/tools/lldb-mi/MICmdArgSet.h b/lldb/tools/lldb-mi/MICmdArgSet.h index 2b43925..cb321f0 100644 --- a/lldb/tools/lldb-mi/MICmdArgSet.h +++ b/lldb/tools/lldb-mi/MICmdArgSet.h @@ -15,81 +15,98 @@ // Other libraries and framework includes // Project includes -#include "MICmnBase.h" #include "MICmdArgContext.h" +#include "MICmnBase.h" // Declarations: class CMICmdArgValBase; -//++ ============================================================================ +//++ +//============================================================================ // Details: MI common code class. Command arguments container class. -// A command may have one or more arguments of which some may be optional. +// A command may have one or more arguments of which some may be +// optional. // *this class contains a list of the command's arguments which are -// validates against the commands argument options string (context string). +// validates against the commands argument options string (context +// string). // Each argument tries to extract the value it is looking for. -// Argument objects added to *this container are owned by this container -// and are deleted when this container goes out of scope. Allocate argument +// Argument objects added to *this container are owned by this +// container +// and are deleted when this container goes out of scope. Allocate +// argument // objects on the heap. -// It is assumed the arguments to be parsed are read from left to right in -// order. The order added to *this container is the order they will parsed. +// It is assumed the arguments to be parsed are read from left to right +// in +// order. The order added to *this container is the order they will +// parsed. //-- -class CMICmdArgSet : public CMICmnBase -{ - // Classes: +class CMICmdArgSet : public CMICmnBase { + // Classes: +public: + //++ + // Description: ArgSet's interface for command arguments to implement. + //-- + class IArg { public: - //++ - // Description: ArgSet's interface for command arguments to implement. - //-- - class IArg - { - public: - virtual bool GetFound() const = 0; - virtual bool GetIsHandledByCmd() const = 0; - virtual bool GetIsMandatory() const = 0; - virtual bool GetIsMissingOptions() const = 0; - virtual const CMIUtilString &GetName() const = 0; - virtual bool GetValid() const = 0; - virtual bool Validate(CMICmdArgContext &vwArgContext) = 0; + virtual bool GetFound() const = 0; + virtual bool GetIsHandledByCmd() const = 0; + virtual bool GetIsMandatory() const = 0; + virtual bool GetIsMissingOptions() const = 0; + virtual const CMIUtilString &GetName() const = 0; + virtual bool GetValid() const = 0; + virtual bool Validate(CMICmdArgContext &vwArgContext) = 0; - virtual ~IArg() = default; - }; + virtual ~IArg() = default; + }; - // Typedefs: - typedef std::vector<CMICmdArgValBase *> SetCmdArgs_t; + // Typedefs: + typedef std::vector<CMICmdArgValBase *> SetCmdArgs_t; - // Methods: - CMICmdArgSet(); + // Methods: + CMICmdArgSet(); - void Add(CMICmdArgValBase *vArg); - bool GetArg(const CMIUtilString &vArgName, CMICmdArgValBase *&vpArg) const; - const SetCmdArgs_t &GetArgsThatAreMissing() const; - const SetCmdArgs_t &GetArgsThatInvalid() const; - size_t GetCount() const; - bool IsArgContextEmpty() const; - bool IsArgsPresentButNotHandledByCmd() const; - void WarningArgsNotHandledbyCmdLogFile(const CMIUtilString &vrCmdName); - bool Validate(const CMIUtilString &vStrMiCmd, CMICmdArgContext &vwCmdArgsText); + void Add(CMICmdArgValBase *vArg); + bool GetArg(const CMIUtilString &vArgName, CMICmdArgValBase *&vpArg) const; + const SetCmdArgs_t &GetArgsThatAreMissing() const; + const SetCmdArgs_t &GetArgsThatInvalid() const; + size_t GetCount() const; + bool IsArgContextEmpty() const; + bool IsArgsPresentButNotHandledByCmd() const; + void WarningArgsNotHandledbyCmdLogFile(const CMIUtilString &vrCmdName); + bool Validate(const CMIUtilString &vStrMiCmd, + CMICmdArgContext &vwCmdArgsText); - // Overrideable: - ~CMICmdArgSet() override; + // Overrideable: + ~CMICmdArgSet() override; - // Methods: - private: - const SetCmdArgs_t &GetArgsNotHandledByCmd() const; - void - Destroy(); // Release resources used by *this object - bool ValidationFormErrorMessages(const CMICmdArgContext &vwCmdArgsText); + // Methods: +private: + const SetCmdArgs_t &GetArgsNotHandledByCmd() const; + void Destroy(); // Release resources used by *this object + bool ValidationFormErrorMessages(const CMICmdArgContext &vwCmdArgsText); - // Attributes: - bool m_bIsArgsPresentButNotHandledByCmd; // True = The driver's client presented the command with options recognised but not handled by - // a command, false = all args handled - SetCmdArgs_t m_setCmdArgs; // The set of arguments that are that the command is expecting to find in the options string - SetCmdArgs_t m_setCmdArgsThatAreMissing; // The set of arguments that are required by the command but are missing - SetCmdArgs_t m_setCmdArgsThatNotValid; // The set of arguments found in the text but for some reason unable to extract a value - SetCmdArgs_t - m_setCmdArgsNotHandledByCmd; // The set of arguments specified by the command which were present to the command but not handled - SetCmdArgs_t m_setCmdArgsMissingInfo; // The set of arguments that were present but were found to be missing additional information i.e. - // --thread 3 but 3 is missing - CMICmdArgContext m_cmdArgContext; // Copy of the command's argument options text before validate takes place (empties it of content) - const CMIUtilString m_constStrCommaSpc; + // Attributes: + bool m_bIsArgsPresentButNotHandledByCmd; // True = The driver's client + // presented the command with options + // recognised but not handled by + // a command, false = all args handled + SetCmdArgs_t m_setCmdArgs; // The set of arguments that are that the command + // is expecting to find in the options string + SetCmdArgs_t m_setCmdArgsThatAreMissing; // The set of arguments that are + // required by the command but are + // missing + SetCmdArgs_t m_setCmdArgsThatNotValid; // The set of arguments found in the + // text but for some reason unable to + // extract a value + SetCmdArgs_t m_setCmdArgsNotHandledByCmd; // The set of arguments specified by + // the command which were present to + // the command but not handled + SetCmdArgs_t m_setCmdArgsMissingInfo; // The set of arguments that were + // present but were found to be missing + // additional information i.e. + // --thread 3 but 3 is missing + CMICmdArgContext m_cmdArgContext; // Copy of the command's argument options + // text before validate takes place (empties + // it of content) + const CMIUtilString m_constStrCommaSpc; }; |