diff options
Diffstat (limited to 'tools/lldb-mi/MICmdArgSet.h')
-rw-r--r-- | tools/lldb-mi/MICmdArgSet.h | 147 |
1 files changed, 75 insertions, 72 deletions
diff --git a/tools/lldb-mi/MICmdArgSet.h b/tools/lldb-mi/MICmdArgSet.h index 5f8f5049d9af..eed667071733 100644 --- a/tools/lldb-mi/MICmdArgSet.h +++ b/tools/lldb-mi/MICmdArgSet.h @@ -8,15 +8,15 @@ //===----------------------------------------------------------------------===// //++ -// File: MICmdArgSet.h +// File: MICmdArgSet.h // -// Overview: CMICmdArgSet interface. +// Overview: CMICmdArgSet interface. // -// Environment: Compilers: Visual C++ 12. -// gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1 -// Libraries: See MIReadmetxt. +// Environment: Compilers: Visual C++ 12. +// gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1 +// Libraries: See MIReadmetxt. // -// Copyright: None. +// Copyright: None. //-- #pragma once @@ -32,78 +32,81 @@ 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. -// *this class contains a list of the command's arguments which are -// 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 -// objects on the heap. -// It is assummed 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. -// Gotchas: None. -// Authors: Illya Rudkin 14/04/2014. -// Changes: None. +// Details: MI common code class. Command arguments container class. +// 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). +// 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 +// objects on the heap. +// It is assummed 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. +// Gotchas: None. +// Authors: Illya Rudkin 14/04/2014. +// Changes: None. //-- class CMICmdArgSet : public CMICmnBase { -// Classes: -public: - //++ - // Description: ArgSet's interface for command arguments to implement. - //-- - class IArg - { - public: - virtual bool GetFound( void ) const = 0; - virtual bool GetIsHandledByCmd( void ) const = 0; - virtual bool GetIsMandatory( void ) const = 0; - virtual bool GetIsMissingOptions( void ) const = 0; - virtual const CMIUtilString & GetName( void ) const = 0; - virtual bool GetValid( void ) const = 0; - virtual bool Validate( CMICmdArgContext & vwArgContext ) = 0; - - /* dtor */ virtual ~IArg( void ) {}; - }; + // Classes: + public: + //++ + // Description: ArgSet's interface for command arguments to implement. + //-- + class IArg + { + public: + virtual bool GetFound(void) const = 0; + virtual bool GetIsHandledByCmd(void) const = 0; + virtual bool GetIsMandatory(void) const = 0; + virtual bool GetIsMissingOptions(void) const = 0; + virtual const CMIUtilString &GetName(void) const = 0; + virtual bool GetValid(void) const = 0; + virtual bool Validate(CMICmdArgContext &vwArgContext) = 0; -// Typedefs: -public: - typedef std::vector< CMICmdArgValBase * > SetCmdArgs_t; + /* dtor */ virtual ~IArg(void){}; + }; -// Methods: -public: - /* ctor */ CMICmdArgSet( void ); - - bool Add( const CMICmdArgValBase & vArg ); - bool GetArg( const CMIUtilString & vArgName, CMICmdArgValBase *& vpArg ) const; - const SetCmdArgs_t & GetArgsThatAreMissing( void ) const; - const SetCmdArgs_t & GetArgsThatInvalid( void ) const; - MIuint GetCount( void ) const; - bool IsArgContextEmpty( void ) const; - bool IsArgsPresentButNotHandledByCmd( void ) const; - void WarningArgsNotHandledbyCmdLogFile( const CMIUtilString & vrCmdName ); - bool Validate( const CMIUtilString & vStrMiCmd, CMICmdArgContext & vwCmdArgsText ); + // Typedefs: + public: + typedef std::vector<CMICmdArgValBase *> SetCmdArgs_t; -// Overrideable: -public: - /* dtor */ virtual ~CMICmdArgSet( void ); + // Methods: + public: + /* ctor */ CMICmdArgSet(void); -// Methods: -private: - const SetCmdArgs_t & GetArgsNotHandledByCmd( void ) const; - void Destroy( void ); // Release resources used by *this object - bool ValidationFormErrorMessages( const CMICmdArgContext & vwCmdArgsText ); + bool Add(const CMICmdArgValBase &vArg); + bool GetArg(const CMIUtilString &vArgName, CMICmdArgValBase *&vpArg) const; + const SetCmdArgs_t &GetArgsThatAreMissing(void) const; + const SetCmdArgs_t &GetArgsThatInvalid(void) const; + MIuint GetCount(void) const; + bool IsArgContextEmpty(void) const; + bool IsArgsPresentButNotHandledByCmd(void) const; + void WarningArgsNotHandledbyCmdLogFile(const CMIUtilString &vrCmdName); + bool Validate(const CMIUtilString &vStrMiCmd, CMICmdArgContext &vwCmdArgsText); -// Attributes: -private: - 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; -}; + // Overrideable: + public: + /* dtor */ virtual ~CMICmdArgSet(void); + // Methods: + private: + const SetCmdArgs_t &GetArgsNotHandledByCmd(void) const; + void + Destroy(void); // Release resources used by *this object + bool ValidationFormErrorMessages(const CMICmdArgContext &vwCmdArgsText); + + // Attributes: + private: + 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; +}; |