Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-release > by-pkgid > 9a9cef5a3a2b597a6e4663b51cfdf030 > files > 25

incron-0.5.12-3.mga7.armv7hl.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>incron: AppArgs Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">incron
   &#160;<span id="projectnumber">0.5.10</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-static-methods">Static Protected Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">AppArgs Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="AppArgs" -->
<p>Application arguments.  
 <a href="classAppArgs.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="appargs_8h_source.html">appargs.h</a>&gt;</code></p>

<p><a href="classAppArgs-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#a5365bfc9a54a0318166cbb003f905dc0">Init</a> (size_t valMinCnt=0, size_t valMaxCnt=APPARGS_NOLIMIT)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the processor.  <a href="#a5365bfc9a54a0318166cbb003f905dc0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#a42655a3eff85509c7f2ce1fcba0b1f31">Destroy</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases resources allocated by the processor.  <a href="#a42655a3eff85509c7f2ce1fcba0b1f31"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#a0f2ab8497fa8c6aaf7b9faf0c75dbcff">Parse</a> (int argc, const char *const *argv)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Parses arguments and builds the appropriate structure.  <a href="#a0f2ab8497fa8c6aaf7b9faf0c75dbcff"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#aa4a29548cfffac89df731267b79d1d49">IsValid</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether the arguments have valid form.  <a href="#aa4a29548cfffac89df731267b79d1d49"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#af3336e77fc109c12def19406787d7126">ExistsOption</a> (const std::string &amp;rArg)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether an option exists.  <a href="#af3336e77fc109c12def19406787d7126"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#a274f64c50b8cbbe3094dde621ef3b11d">GetOption</a> (const std::string &amp;rArg, std::string &amp;rVal)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Extracts an option value.  <a href="#a274f64c50b8cbbe3094dde621ef3b11d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#ab19a36ff2e25a416415309b8224bbab1">AddOption</a> (const std::string &amp;rName, char cShort, <a class="el" href="appargs_8h.html#a5704dc04528b6c626472cea01c9a7915">AppArgType_t</a> type, bool fMandatory)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds an option.  <a href="#ab19a36ff2e25a416415309b8224bbab1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#a4d6e538d8c08bbecc2a3c8dfab75cde7">GetValueCount</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the count of values.  <a href="#a4d6e538d8c08bbecc2a3c8dfab75cde7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#a050217dd528c4d6c30dc559ba19bbe3d">GetValue</a> (size_t index, std::string &amp;rVal)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Extracts a value.  <a href="#a050217dd528c4d6c30dc559ba19bbe3d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#a00d5d4d822c8c1bc792313b51eeeec44">Dump</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Dumps information about options and value to STDERR.  <a href="#a00d5d4d822c8c1bc792313b51eeeec44"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-static-methods"></a>
Static Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#a2471f11b0d74e3a427f1d9c02c9d6494">IsOption</a> (const char *pchStr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether a string is an option.  <a href="#a2471f11b0d74e3a427f1d9c02c9d6494"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#a7058134b8e90e9ee7ee9c23d98a03708">IsLongOption</a> (const char *pchStr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether a string is a long option.  <a href="#a7058134b8e90e9ee7ee9c23d98a03708"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#a1b3384fa201fb04948776c4e79cf633c">ParseLong</a> (const char *pchStr, std::string &amp;rName, std::string &amp;rVal, bool &amp;rfHasVal)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Parses a string and attempts to treat it as a long option.  <a href="#a1b3384fa201fb04948776c4e79cf633c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#a9d503ca65c0025cf6d04a00cb2e8b12e">ParseShort</a> (const char *pchStr, char &amp;rcName, std::string &amp;rVal, bool &amp;rfHasVal)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Parses a string and attempts to treat it as a short option.  <a href="#a9d503ca65c0025cf6d04a00cb2e8b12e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAppArgs.html#aee73398d0548dd1aaeb1eee8c959a3a5">DumpOption</a> (const std::string &amp;rName, char cShort, <a class="el" href="structAppArgOption__t.html">AppArgOption_t</a> *pOpt)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Dumps an option to STDERR.  <a href="#aee73398d0548dd1aaeb1eee8c959a3a5"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Application arguments. </p>
<p>This class is set-up for processing command line arguments. Then it parses these arguments and builds data which can be queried later.</p>
<p>There are two categories of arguments: </p>
<ul>
<li>options (a.k.a. switches) </li>
<li>values</li>
</ul>
<p>Options represent changeable parameters of the application. Values are a kind of input data.</p>
<p>Each option has one of the following types: </p>
<ul>
<li>no value (two-state logic, e.g. running on foreground/background) </li>
<li>optional value (e.g. for logging: another file than default can be specified) </li>
<li>mandatory value (e.g. custom configuration file)</li>
</ul>
<p>Each option always have two forms - long one (introcuded by two hyphens, e.g. --edit) and short one (introduced by one hyphen, e.g. -e). These forms are functionally equivalent.</p>
<p>Unknown options are silently ignored. </p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ab19a36ff2e25a416415309b8224bbab1"></a><!-- doxytag: member="AppArgs::AddOption" ref="ab19a36ff2e25a416415309b8224bbab1" args="(const std::string &amp;rName, char cShort, AppArgType_t type, bool fMandatory)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool AppArgs::AddOption </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>rName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>cShort</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="appargs_8h.html#a5704dc04528b6c626472cea01c9a7915">AppArgType_t</a>&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>fMandatory</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Adds an option. </p>
<p>This method is intended to be called between initilization and parsing. It adds an option which may (or must) occur inside the argument vector.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rName</td><td>long option name </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">cShort</td><td>short (one-character) option name </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>argument type </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">fMandatory</td><td>option is mandatory yes/no </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true = success, false = failure (e.g. option already exists) </dd></dl>

</div>
</div>
<a class="anchor" id="a42655a3eff85509c7f2ce1fcba0b1f31"></a><!-- doxytag: member="AppArgs::Destroy" ref="a42655a3eff85509c7f2ce1fcba0b1f31" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void AppArgs::Destroy </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Releases resources allocated by the processor. </p>
<p>This method should be called if the argument values are no longer needed. </p>

</div>
</div>
<a class="anchor" id="a00d5d4d822c8c1bc792313b51eeeec44"></a><!-- doxytag: member="AppArgs::Dump" ref="a00d5d4d822c8c1bc792313b51eeeec44" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void AppArgs::Dump </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Dumps information about options and value to STDERR. </p>
<dl class="attention"><dt><b>Attention:</b></dt><dd>This method may be very slow. </dd></dl>

</div>
</div>
<a class="anchor" id="aee73398d0548dd1aaeb1eee8c959a3a5"></a><!-- doxytag: member="AppArgs::DumpOption" ref="aee73398d0548dd1aaeb1eee8c959a3a5" args="(const std::string &amp;rName, char cShort, AppArgOption_t *pOpt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void AppArgs::DumpOption </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>rName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>cShort</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structAppArgOption__t.html">AppArgOption_t</a> *&#160;</td>
          <td class="paramname"><em>pOpt</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Dumps an option to STDERR. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rName</td><td>long option name </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">cShort</td><td>short option name </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">pOpt</td><td>option data </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af3336e77fc109c12def19406787d7126"></a><!-- doxytag: member="AppArgs::ExistsOption" ref="af3336e77fc109c12def19406787d7126" args="(const std::string &amp;rArg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool AppArgs::ExistsOption </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>rArg</em></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Checks whether an option exists. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rArg</td><td>long option name </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true = option exists, false = otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="a274f64c50b8cbbe3094dde621ef3b11d"></a><!-- doxytag: member="AppArgs::GetOption" ref="a274f64c50b8cbbe3094dde621ef3b11d" args="(const std::string &amp;rArg, std::string &amp;rVal)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool AppArgs::GetOption </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>rArg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::string &amp;&#160;</td>
          <td class="paramname"><em>rVal</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Extracts an option value. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rArg</td><td>long option name </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">rVal</td><td>option value </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true = value extracted, false = option not found or has no value </dd></dl>

</div>
</div>
<a class="anchor" id="a050217dd528c4d6c30dc559ba19bbe3d"></a><!-- doxytag: member="AppArgs::GetValue" ref="a050217dd528c4d6c30dc559ba19bbe3d" args="(size_t index, std::string &amp;rVal)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool AppArgs::GetValue </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::string &amp;&#160;</td>
          <td class="paramname"><em>rVal</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Extracts a value. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>value index </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">rVal</td><td>extracted value </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true = value extracted, false = otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="a4d6e538d8c08bbecc2a3c8dfab75cde7"></a><!-- doxytag: member="AppArgs::GetValueCount" ref="a4d6e538d8c08bbecc2a3c8dfab75cde7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t AppArgs::GetValueCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the count of values. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>count of values </dd></dl>

</div>
</div>
<a class="anchor" id="a5365bfc9a54a0318166cbb003f905dc0"></a><!-- doxytag: member="AppArgs::Init" ref="a5365bfc9a54a0318166cbb003f905dc0" args="(size_t valMinCnt=0, size_t valMaxCnt=APPARGS_NOLIMIT)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void AppArgs::Init </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>valMinCnt</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>valMaxCnt</em> = <code>APPARGS_NOLIMIT</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initializes the processor. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">valMinCnt</td><td>minimum count of values </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">valMaxCnt</td><td>maximum number of values (no effect if lower than valMinCnt) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a7058134b8e90e9ee7ee9c23d98a03708"></a><!-- doxytag: member="AppArgs::IsLongOption" ref="a7058134b8e90e9ee7ee9c23d98a03708" args="(const char *pchStr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool AppArgs::IsLongOption </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>pchStr</em></td><td>)</td>
          <td><code> [static, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Checks whether a string is a long option. </p>
<p>This methos assumes the string is an option (if not the behavior is undefined).</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pchStr</td><td>text string </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true = option, false = otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="a2471f11b0d74e3a427f1d9c02c9d6494"></a><!-- doxytag: member="AppArgs::IsOption" ref="a2471f11b0d74e3a427f1d9c02c9d6494" args="(const char *pchStr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool AppArgs::IsOption </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>pchStr</em></td><td>)</td>
          <td><code> [static, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Checks whether a string is an option. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pchStr</td><td>text string </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true = option, false = otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="aa4a29548cfffac89df731267b79d1d49"></a><!-- doxytag: member="AppArgs::IsValid" ref="aa4a29548cfffac89df731267b79d1d49" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool AppArgs::IsValid </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Checks whether the arguments have valid form. </p>
<p>Arguments are valid if: </p>
<ul>
<li>all mandatory options are present </li>
<li>all options with mandatory values have their values </li>
<li>value count is between its minimum and maximum </li>
<li>there are no unknown options (if unknown options are not accepted)</li>
</ul>
<dl class="return"><dt><b>Returns:</b></dt><dd>true = arguments valid, false = otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="a0f2ab8497fa8c6aaf7b9faf0c75dbcff"></a><!-- doxytag: member="AppArgs::Parse" ref="a0f2ab8497fa8c6aaf7b9faf0c75dbcff" args="(int argc, const char *const *argv)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void AppArgs::Parse </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *const *&#160;</td>
          <td class="paramname"><em>argv</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Parses arguments and builds the appropriate structure. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">argc</td><td>argument count </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">argv</td><td>argument vector</td></tr>
  </table>
  </dd>
</dl>
<dl class="attention"><dt><b>Attention:</b></dt><dd>All errors are silently ignored. </dd></dl>

</div>
</div>
<a class="anchor" id="a1b3384fa201fb04948776c4e79cf633c"></a><!-- doxytag: member="AppArgs::ParseLong" ref="a1b3384fa201fb04948776c4e79cf633c" args="(const char *pchStr, std::string &amp;rName, std::string &amp;rVal, bool &amp;rfHasVal)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool AppArgs::ParseLong </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>pchStr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::string &amp;&#160;</td>
          <td class="paramname"><em>rName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::string &amp;&#160;</td>
          <td class="paramname"><em>rVal</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool &amp;&#160;</td>
          <td class="paramname"><em>rfHasVal</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Parses a string and attempts to treat it as a long option. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pchStr</td><td>text string </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">rName</td><td>option name </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">rVal</td><td>value string </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">rfHasVal</td><td>option has value yes/no </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true = success, false = failure </dd></dl>

</div>
</div>
<a class="anchor" id="a9d503ca65c0025cf6d04a00cb2e8b12e"></a><!-- doxytag: member="AppArgs::ParseShort" ref="a9d503ca65c0025cf6d04a00cb2e8b12e" args="(const char *pchStr, char &amp;rcName, std::string &amp;rVal, bool &amp;rfHasVal)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void AppArgs::ParseShort </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>pchStr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char &amp;&#160;</td>
          <td class="paramname"><em>rcName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::string &amp;&#160;</td>
          <td class="paramname"><em>rVal</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool &amp;&#160;</td>
          <td class="paramname"><em>rfHasVal</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Parses a string and attempts to treat it as a short option. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pchStr</td><td>text string </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">rcName</td><td>option name </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">rVal</td><td>value string </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">rfHasVal</td><td>option has value yes/no</td></tr>
  </table>
  </dd>
</dl>
<dl class="attention"><dt><b>Attention:</b></dt><dd>This method assumes the string is a valid short option. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="appargs_8h_source.html">appargs.h</a></li>
<li><a class="el" href="appargs_8cpp.html">appargs.cpp</a></li>
</ul>
</div>


<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>

</body>
</html>