Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > a964702347d726c5f8ba742f8b9d5908 > files > 60

incron-0.5.9-1mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>incron: ict-main.cpp File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.6 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>ict-main.cpp File Reference</h1>inotify cron table manipulator main file <a href="#_details">More...</a>
<p>
<code>#include &lt;argp.h&gt;</code><br>
<code>#include &lt;pwd.h&gt;</code><br>
<code>#include &lt;string&gt;</code><br>
<code>#include &lt;stdio.h&gt;</code><br>
<code>#include &lt;unistd.h&gt;</code><br>
<code>#include &lt;sys/stat.h&gt;</code><br>
<code>#include &lt;sys/wait.h&gt;</code><br>
<code>#include &lt;sys/inotify.h&gt;</code><br>
<code>#include &lt;fcntl.h&gt;</code><br>
<code>#include &lt;stdlib.h&gt;</code><br>
<code>#include &lt;limits.h&gt;</code><br>
<code>#include &lt;cstring&gt;</code><br>
<code>#include &quot;<a class="el" href="inotify-cxx_8h-source.html">inotify-cxx.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="appargs_8h-source.html">appargs.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="incron_8h-source.html">incron.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="incrontab_8h-source.html">incrontab.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="incroncfg_8h-source.html">incroncfg.h</a>&quot;</code><br>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ict-main_8cpp.html#f8f73d7f483989d3b4bbc8213f27bb22">INCRON_ALT_EDITOR</a>&nbsp;&nbsp;&nbsp;&quot;/etc/alternatives/editor&quot;</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Alternative editor.  <a href="#f8f73d7f483989d3b4bbc8213f27bb22"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ict-main_8cpp.html#6a2f9f3f9bb0bc104a2508922351cbcf">INCRON_DEFAULT_EDITOR</a>&nbsp;&nbsp;&nbsp;&quot;vim&quot;</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default (hard-wired) editor.  <a href="#6a2f9f3f9bb0bc104a2508922351cbcf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ict-main_8cpp.html#6ed10f9f4345ceb93abfe9cbbf7b13e1">INCRONTAB_VERSION</a>&nbsp;&nbsp;&nbsp;INCRONTAB_NAME &quot; &quot; INCRON_VERSION</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">incrontab version string  <a href="#6ed10f9f4345ceb93abfe9cbbf7b13e1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ict-main_8cpp.html#3ebbec090714b7c50bf0ce0461057e8d">INCRONTAB_DESCRIPTION</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">incrontab description string  <a href="#3ebbec090714b7c50bf0ce0461057e8d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ict-main_8cpp.html#1a166287e8db03438a38696008fd6bf1">INCRONTAB_HELP</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">incrontab help string  <a href="#1a166287e8db03438a38696008fd6bf1"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ict-main_8cpp.html#74afba1909f36ca27634e1054f4b4ec0">copy_from_file</a> (const std::string &amp;rPath, const std::string &amp;rUser)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copies a file to an user table.  <a href="#74afba1909f36ca27634e1054f4b4ec0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ict-main_8cpp.html#4ce9f57037e64edfe2e779b823a1aad9">remove_table</a> (const std::string &amp;rUser)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes an user table.  <a href="#4ce9f57037e64edfe2e779b823a1aad9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ict-main_8cpp.html#760f3abce0893d69e851873885eb837c">list_table</a> (const std::string &amp;rUser)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lists an user table.  <a href="#760f3abce0893d69e851873885eb837c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ict-main_8cpp.html#3d3ccb44458717197db21f6084dcb071">edit_table</a> (const std::string &amp;rUser)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allows to edit an user table.  <a href="#3d3ccb44458717197db21f6084dcb071"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ict-main_8cpp.html#16767b7191e3f5d6ff98e0d8eb0af5c1">list_types</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prints the list of all available inotify event types.  <a href="#16767b7191e3f5d6ff98e0d8eb0af5c1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ict-main_8cpp.html#e5fd9a4c4187e064e81a6059a7d3a8cc">reload_table</a> (const std::string &amp;rUser)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reloads an user table.  <a href="#e5fd9a4c4187e064e81a6059a7d3a8cc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ict-main_8cpp.html#3c04138a5bfe5d72780bb7e82a18e627">main</a> (int argc, char **argv)</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
inotify cron table manipulator main file 
<p>
inotify cron system<p>
Copyright (C) 2006, 2007, 2008 Lukas Jelinek, &lt;<a href="mailto:lukas@aiken.cz">lukas@aiken.cz</a>&gt;<p>
This program is free software; you can use it, redistribute it and/or modify it under the terms of the GNU General Public License, version 2 (see LICENSE-GPL).<p>
Credits: kolter (fix for segfaulting on --user) <hr><h2>Define Documentation</h2>
<a class="anchor" name="f8f73d7f483989d3b4bbc8213f27bb22"></a><!-- doxytag: member="ict-main.cpp::INCRON_ALT_EDITOR" ref="f8f73d7f483989d3b4bbc8213f27bb22" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define INCRON_ALT_EDITOR&nbsp;&nbsp;&nbsp;&quot;/etc/alternatives/editor&quot;          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Alternative editor. 
<p>

</div>
</div><p>
<a class="anchor" name="6a2f9f3f9bb0bc104a2508922351cbcf"></a><!-- doxytag: member="ict-main.cpp::INCRON_DEFAULT_EDITOR" ref="6a2f9f3f9bb0bc104a2508922351cbcf" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define INCRON_DEFAULT_EDITOR&nbsp;&nbsp;&nbsp;&quot;vim&quot;          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Default (hard-wired) editor. 
<p>

</div>
</div><p>
<a class="anchor" name="3ebbec090714b7c50bf0ce0461057e8d"></a><!-- doxytag: member="ict-main.cpp::INCRONTAB_DESCRIPTION" ref="3ebbec090714b7c50bf0ce0461057e8d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define INCRONTAB_DESCRIPTION          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="stringliteral">"incrontab - inotify cron table manipulator\n"</span> \
                              <span class="stringliteral">"(c) Lukas Jelinek, 2006, 2007, 208"</span>
</pre></div>incrontab description string 
<p>

</div>
</div><p>
<a class="anchor" name="1a166287e8db03438a38696008fd6bf1"></a><!-- doxytag: member="ict-main.cpp::INCRONTAB_HELP" ref="1a166287e8db03438a38696008fd6bf1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define INCRONTAB_HELP          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="ict-main_8cpp.html#3ebbec090714b7c50bf0ce0461057e8d" title="incrontab description string">INCRONTAB_DESCRIPTION</a> <span class="stringliteral">"\n\n"</span> \
          <span class="stringliteral">"usage: incrontab [&lt;options&gt;] &lt;operation&gt;\n"</span> \
          <span class="stringliteral">"       incrontab [&lt;options&gt;] &lt;FILE-TO-IMPORT&gt;\n\n"</span> \
          <span class="stringliteral">"&lt;operation&gt; may be one of the following:\n"</span> \
          <span class="stringliteral">"  -?, --about                  gives short information about program\n"</span> \
          <span class="stringliteral">"  -h, --help                   prints this help text\n"</span> \
          <span class="stringliteral">"  -l, --list                   lists user table\n"</span> \
          <span class="stringliteral">"  -r, --remove                 removes user table\n"</span> \
          <span class="stringliteral">"  -e, --edit                   provides editting user table\n"</span> \
          <span class="stringliteral">"  -t, --types                  list supported event types\n"</span> \
          <span class="stringliteral">"  -d, --reload                 request incrond to reload user table\n"</span> \
          <span class="stringliteral">"  -V, --version                prints program version\n\n"</span> \
          <span class="stringliteral">"\n"</span> \
          <span class="stringliteral">"These options may be used:\n"</span> \
          <span class="stringliteral">"  -u &lt;USER&gt;, --user=&lt;USER&gt;     overrides current user (requires root privileges)\n"</span> \
          <span class="stringliteral">"  -f &lt;FILE&gt;, --config=&lt;FILE&gt;   overrides default configuration file  (requires root privileges)\n\n"</span> \
          <span class="stringliteral">"For reporting bugs please use http://bts.aiken.cz\n"</span>
</pre></div>incrontab help string 
<p>

</div>
</div><p>
<a class="anchor" name="6ed10f9f4345ceb93abfe9cbbf7b13e1"></a><!-- doxytag: member="ict-main.cpp::INCRONTAB_VERSION" ref="6ed10f9f4345ceb93abfe9cbbf7b13e1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define INCRONTAB_VERSION&nbsp;&nbsp;&nbsp;INCRONTAB_NAME &quot; &quot; INCRON_VERSION          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
incrontab version string 
<p>

</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="74afba1909f36ca27634e1054f4b4ec0"></a><!-- doxytag: member="ict-main.cpp::copy_from_file" ref="74afba1909f36ca27634e1054f4b4ec0" args="(const std::string &amp;rPath, const std::string &amp;rUser)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool copy_from_file           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>rPath</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>rUser</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Copies a file to an user table. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>rPath</em>&nbsp;</td><td>path to file </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>rUser</em>&nbsp;</td><td>user name </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true = success, false = failure </dd></dl>

</div>
</div><p>
<a class="anchor" name="3d3ccb44458717197db21f6084dcb071"></a><!-- doxytag: member="ict-main.cpp::edit_table" ref="3d3ccb44458717197db21f6084dcb071" args="(const std::string &amp;rUser)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool edit_table           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>rUser</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Allows to edit an user table. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>rUser</em>&nbsp;</td><td>user name </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true = success, false = failure</dd></dl>
<dl class="attention" compact><dt><b>Attention:</b></dt><dd>This function is very complex and may contain various bugs including security ones. Please keep it in mind.. </dd></dl>

</div>
</div><p>
<a class="anchor" name="760f3abce0893d69e851873885eb837c"></a><!-- doxytag: member="ict-main.cpp::list_table" ref="760f3abce0893d69e851873885eb837c" args="(const std::string &amp;rUser)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool list_table           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>rUser</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Lists an user table. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>rUser</em>&nbsp;</td><td>user name </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true = success, false = failure </dd></dl>

</div>
</div><p>
<a class="anchor" name="16767b7191e3f5d6ff98e0d8eb0af5c1"></a><!-- doxytag: member="ict-main.cpp::list_types" ref="16767b7191e3f5d6ff98e0d8eb0af5c1" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void list_types           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Prints the list of all available inotify event types. 
<p>

</div>
</div><p>
<a class="anchor" name="3c04138a5bfe5d72780bb7e82a18e627"></a><!-- doxytag: member="ict-main.cpp::main" ref="3c04138a5bfe5d72780bb7e82a18e627" args="(int argc, char **argv)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int main           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&nbsp;</td>
          <td class="paramname"> <em>argv</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="e5fd9a4c4187e064e81a6059a7d3a8cc"></a><!-- doxytag: member="ict-main.cpp::reload_table" ref="e5fd9a4c4187e064e81a6059a7d3a8cc" args="(const std::string &amp;rUser)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool reload_table           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>rUser</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Reloads an user table. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>rUser</em>&nbsp;</td><td>user name </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true = success, false = otherwise </dd></dl>

</div>
</div><p>
<a class="anchor" name="4ce9f57037e64edfe2e779b823a1aad9"></a><!-- doxytag: member="ict-main.cpp::remove_table" ref="4ce9f57037e64edfe2e779b823a1aad9" args="(const std::string &amp;rUser)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool remove_table           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>rUser</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Removes an user table. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>rUser</em>&nbsp;</td><td>user name </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true = success, false = failure </dd></dl>

</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Jun 21 22:27:24 2009 for incron by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>
</html>