|  | //===-- MICmdArgValOptionShort.cpp ------------------------------*- C++ -*-===// | 
|  | // | 
|  | //                     The LLVM Compiler Infrastructure | 
|  | // | 
|  | // This file is distributed under the University of Illinois Open Source | 
|  | // License. See LICENSE.TXT for details. | 
|  | // | 
|  | //===----------------------------------------------------------------------===// | 
|  |  | 
|  | // In-house headers: | 
|  | #include "MICmdArgValOptionShort.h" | 
|  | #include "MICmdArgContext.h" | 
|  |  | 
|  | //++ | 
|  | //------------------------------------------------------------------------------------ | 
|  | // Details: CMICmdArgValOptionShort constructor. | 
|  | // Type:    Method. | 
|  | // Args:    None. | 
|  | // Return:  None. | 
|  | // Throws:  None. | 
|  | //-- | 
|  | CMICmdArgValOptionShort::CMICmdArgValOptionShort() {} | 
|  |  | 
|  | //++ | 
|  | //------------------------------------------------------------------------------------ | 
|  | // Details: CMICmdArgValOptionShort 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. | 
|  | //-- | 
|  | CMICmdArgValOptionShort::CMICmdArgValOptionShort(const CMIUtilString &vrArgName, | 
|  | const bool vbMandatory, | 
|  | const bool vbHandleByCmd) | 
|  | : CMICmdArgValOptionLong(vrArgName, vbMandatory, vbHandleByCmd) {} | 
|  |  | 
|  | //++ | 
|  | //------------------------------------------------------------------------------------ | 
|  | // Details: CMICmdArgValOptionLong 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. | 
|  | //          veType              - (R) The type of argument to look for and | 
|  | //          create argument object of a certain type. | 
|  | //          vnExpectingNOptions - (R) The number of options expected to read | 
|  | //          following *this argument. | 
|  | // Return:  None. | 
|  | // Throws:  None. | 
|  | //-- | 
|  | CMICmdArgValOptionShort::CMICmdArgValOptionShort( | 
|  | const CMIUtilString &vrArgName, const bool vbMandatory, | 
|  | const bool vbHandleByCmd, const ArgValType_e veType, | 
|  | const MIuint vnExpectingNOptions) | 
|  | : CMICmdArgValOptionLong(vrArgName, vbMandatory, vbHandleByCmd, veType, | 
|  | vnExpectingNOptions) {} | 
|  |  | 
|  | //++ | 
|  | //------------------------------------------------------------------------------------ | 
|  | // Details: CMICmdArgValOptionShort destructor. | 
|  | // Type:    Overridden. | 
|  | // Args:    None. | 
|  | // Return:  None. | 
|  | // Throws:  None. | 
|  | //-- | 
|  | CMICmdArgValOptionShort::~CMICmdArgValOptionShort() {} | 
|  |  | 
|  | //++ | 
|  | //------------------------------------------------------------------------------------ | 
|  | // Details: Examine the string and determine if it is a valid short type option | 
|  | // argument. | 
|  | // Type:    Method. | 
|  | // Args:    vrTxt   - (R) Some text. | 
|  | // Return:  bool    - True = yes valid arg, false = no. | 
|  | // Throws:  None. | 
|  | //-- | 
|  | bool CMICmdArgValOptionShort::IsArgShortOption( | 
|  | const CMIUtilString &vrTxt) const { | 
|  | // Look for --someLongOption | 
|  | MIint nPos = vrTxt.find("--"); | 
|  | if (nPos == 0) | 
|  | return false; | 
|  |  | 
|  | // Look for -f short option | 
|  | nPos = vrTxt.find('-'); | 
|  | if (nPos != 0) | 
|  | return false; | 
|  |  | 
|  | if (vrTxt.length() > 2) | 
|  | return false; | 
|  |  | 
|  | return true; | 
|  | } | 
|  |  | 
|  | //++ | 
|  | //------------------------------------------------------------------------------------ | 
|  | // Details: Examine the string and determine if it is a valid short type option | 
|  | // argument. | 
|  | //          Long type argument looks like -f some short option. | 
|  | // Type:    Overridden. | 
|  | // Args:    vrTxt   - (R) Some text. | 
|  | // Return:  bool    - True = yes valid arg, false = no. | 
|  | // Throws:  None. | 
|  | //-- | 
|  | bool CMICmdArgValOptionShort::IsArgOptionCorrect( | 
|  | const CMIUtilString &vrTxt) const { | 
|  | return IsArgShortOption(vrTxt); | 
|  | } | 
|  |  | 
|  | //++ | 
|  | //------------------------------------------------------------------------------------ | 
|  | // Details: Does the argument name of the argument being parsed ATM match the | 
|  | // name of | 
|  | //          *this argument object. | 
|  | // Type:    Overridden. | 
|  | // Args:    vrTxt   - (R) Some text. | 
|  | // Return:  bool    - True = yes arg name matched, false = no. | 
|  | // Throws:  None. | 
|  | //-- | 
|  | bool CMICmdArgValOptionShort::ArgNameMatch(const CMIUtilString &vrTxt) const { | 
|  | const CMIUtilString strArg = vrTxt.substr(1); | 
|  | return (strArg == GetName()); | 
|  | } |