//===-- MICmdArgValBase.cpp -------------------------------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // C Includes // C++ Includes // Other libraries and framework includes // Project includes #include "MICmdArgValBase.h" #include "MIUtilString.h" #include "MICmdArgContext.h" //++ ------------------------------------------------------------------------------------ // Details: CMICmdArgValBase constructor. // Type: Method. // Args: None. // Return: None. // Throws: None. //-- CMICmdArgValBase::CMICmdArgValBase() : m_bFound(false) , m_bValid(false) , m_bMandatory(false) , m_bHandled(false) , m_bIsMissingOptions(false) { } //++ ------------------------------------------------------------------------------------ // Details: CMICmdArgValBase constructor. // Type: Method. // Args: vrArgName - (R) Argument's name to search by. // vbMandatory - (R) True = Yes must be present, false = optional argument. // vbHandleByCmd - (R) True = Command processes *this option, false = not handled. // Return: None. // Throws: None. //-- CMICmdArgValBase::CMICmdArgValBase(const CMIUtilString &vrArgName, const bool vbMandatory, const bool vbHandleByCmd) : m_bFound(false) , m_bValid(false) , m_bMandatory(vbMandatory) , m_strArgName(vrArgName) , m_bHandled(vbHandleByCmd) , m_bIsMissingOptions(false) { } //++ ------------------------------------------------------------------------------------ // Details: Retrieve the state flag of whether the argument is handled by the command or // not. // Type: Method. // Args: None. // Return: True - Command needs more information. // False - All information is present as expected. // Throws: None. //-- bool CMICmdArgValBase::GetIsMissingOptions() const { return m_bIsMissingOptions; } //++ ------------------------------------------------------------------------------------ // Details: Retrieve the state flag of whether the argument is handled by the command or // not. // Type: Method. // Args: None. // Return: True - Command handles *this argument or option. // False - Not handled (argument specified but ignored). // Throws: None. //-- bool CMICmdArgValBase::GetIsHandledByCmd() const { return m_bHandled; } //++ ------------------------------------------------------------------------------------ // Details: Retrieve the name of *this argument. // Type: Method. // Args: None. // Return: CMIUtilString & - Return the text name. // Throws: None. //-- const CMIUtilString & CMICmdArgValBase::GetName() const { return m_strArgName; } //++ ------------------------------------------------------------------------------------ // Details: Retrieve the state flag of whether the argument was found in the command's // argument / options string. // Type: Method. // Args: None. // Return: True - Argument found. // False - Argument not found. // Throws: None. //-- bool CMICmdArgValBase::GetFound() const { return m_bFound; } //++ ------------------------------------------------------------------------------------ // Details: Retrieve the state flag indicating whether the value was obtained from the // text arguments string and is valid. // Type: Method. // Args: None. // Return: True - Argument valid. // False - Argument not valid. // Throws: None. //-- bool CMICmdArgValBase::GetValid() const { return m_bValid; } //++ ------------------------------------------------------------------------------------ // Details: Retrieve the state flag indicating whether *this argument is a mandatory // argument for the command or is optional to be present. // Type: Method. // Args: None. // Return: True - Mandatory. // False - Optional. // Throws: None. //-- bool CMICmdArgValBase::GetIsMandatory() const { return m_bMandatory; } //++ ------------------------------------------------------------------------------------ // Details: Parse the command's argument options string and try to extract the value *this // argument is looking for. // Type: Overrideable. // Args: vArgContext - (RW) The command's argument options string. // Return: MIstatus::success - Functional succeeded. // MIstatus::failure - Functional failed. // Throws: None. //-- bool CMICmdArgValBase::Validate(CMICmdArgContext &vwArgContext) { MIunused(vwArgContext); // Override to implement return MIstatus::failure; }