summaryrefslogtreecommitdiff
path: root/rep/ept/core
diff options
context:
space:
mode:
Diffstat (limited to 'rep/ept/core')
-rw-r--r--rep/ept/core/apt.cpp.gcov.html90
-rw-r--r--rep/ept/core/apt.h.gcov.html474
-rw-r--r--rep/ept/core/apt.test.h.gcov.html162
-rw-r--r--rep/ept/core/apt/action.h.gcov.html202
-rw-r--r--rep/ept/core/apt/action.test.h.gcov.html108
-rw-r--r--rep/ept/core/apt/index.html155
-rw-r--r--rep/ept/core/apt/package.h.gcov.html194
-rw-r--r--rep/ept/core/apt/record.cpp.gcov.html83
-rw-r--r--rep/ept/core/apt/record.h.gcov.html355
-rw-r--r--rep/ept/core/apt/record.test.h.gcov.html123
-rw-r--r--rep/ept/core/apt/recordparser.cpp.gcov.html239
-rw-r--r--rep/ept/core/apt/recordparser.h.gcov.html165
-rw-r--r--rep/ept/core/apt/version.h.gcov.html160
-rw-r--r--rep/ept/core/desktop.h.gcov.html344
-rw-r--r--rep/ept/core/desktop.test.h.gcov.html135
-rw-r--r--rep/ept/core/desktopfile.h.gcov.html205
-rw-r--r--rep/ept/core/index.html164
-rw-r--r--rep/ept/core/source.h.gcov.html181
-rw-r--r--rep/ept/core/xapian.cpp.gcov.html208
-rw-r--r--rep/ept/core/xapian.h.gcov.html456
-rw-r--r--rep/ept/core/xapian.test.h.gcov.html141
21 files changed, 0 insertions, 4344 deletions
diff --git a/rep/ept/core/apt.cpp.gcov.html b/rep/ept/core/apt.cpp.gcov.html
deleted file mode 100644
index 159b490..0000000
--- a/rep/ept/core/apt.cpp.gcov.html
+++ /dev/null
@@ -1,90 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>LCOV - lcov.info - ept/core/apt.cpp</title>
- <link rel="stylesheet" type="text/css" href="../../gcov.css">
-</head>
-
-<body>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="title">LTP GCOV extension - code coverage report</td></tr>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
-
- <tr>
- <td width="100%">
- <table cellpadding=1 border=0 width="100%">
- <tr>
- <td class="headerItem" width="20%">Current&nbsp;view:</td>
- <td class="headerValue" width="80%" colspan=4><a href="../../index.html">directory</a> - <a href="index.html">ept/core</a> - apt.cpp</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Test:</td>
- <td class="headerValue" width="80%" colspan=4>lcov.info</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Date:</td>
- <td class="headerValue" width="20%">2008-08-14</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Instrumented&nbsp;lines:</td>
- <td class="headerValue" width="20%">7</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Code&nbsp;covered:</td>
- <td class="headerValue" width="20%">100.0 %</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Executed&nbsp;lines:</td>
- <td class="headerValue" width="20%">7</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
-
- <table cellpadding=0 cellspacing=0 border=0>
- <tr>
- <td><br></td>
- </tr>
- <tr>
- <td><pre class="source">
-<span class="lineNum"> 1 </span> : // -*- C++ -*-
-<span class="lineNum"> 2 </span> : #include &lt;ept/core/apt.h&gt;
-<span class="lineNum"> 3 </span> : #include &lt;wibble/sys/fs.h&gt;
-<span class="lineNum"> 4 </span> :
-<span class="lineNum"> 5 </span> : namespace wfs = wibble::sys::fs;
-<span class="lineNum"> 6 </span> :
-<span class="lineNum"> 7 </span> : namespace ept {
-<span class="lineNum"> 8 </span> : namespace core {
-<span class="lineNum"> 9 </span><span class="lineCov"> 45 : time_t aptTimestamp()</span>
-<span class="lineNum"> 10 </span> : {
-<span class="lineNum"> 11 </span> : std::auto_ptr&lt;struct stat&gt; st = wfs::stat(
-<span class="lineNum"> 12 </span><span class="lineCov"> 45 : _config-&gt;FindFile( &quot;Dir::Cache::pkgcache&quot; ) );</span>
-<span class="lineNum"> 13 </span><span class="lineCov"> 45 : time_t t1 = st.get() == NULL ? 0 : st-&gt;st_mtime;</span>
-<span class="lineNum"> 14 </span> :
-<span class="lineNum"> 15 </span> : std::auto_ptr&lt;struct stat&gt; st1 = wfs::stat(
-<span class="lineNum"> 16 </span><span class="lineCov"> 45 : _config-&gt;FindFile( &quot;Dir::State::status&quot; ) );</span>
-<span class="lineNum"> 17 </span><span class="lineCov"> 45 : time_t t2 = st1.get() == NULL ? 0 : st1-&gt;st_mtime;</span>
-<span class="lineNum"> 18 </span> :
-<span class="lineNum"> 19 </span><span class="lineCov"> 45 : return t1 &gt; t2 ? t1 : t2;</span>
-<span class="lineNum"> 20 </span> : }
-<span class="lineNum"> 21 </span> :
-<span class="lineNum"> 22 </span> : }
-<span class="lineNum"> 23 </span><span class="lineCov"> 6 : }</span>
-</pre>
- </td>
- </tr>
- </table>
- <br>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
- <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LTP GCOV extension version 1.6</a></td></tr>
- </table>
- <br>
-
-</body>
-</html>
diff --git a/rep/ept/core/apt.h.gcov.html b/rep/ept/core/apt.h.gcov.html
deleted file mode 100644
index b8d3ec9..0000000
--- a/rep/ept/core/apt.h.gcov.html
+++ /dev/null
@@ -1,474 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>LCOV - lcov.info - ept/core/apt.h</title>
- <link rel="stylesheet" type="text/css" href="../../gcov.css">
-</head>
-
-<body>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="title">LTP GCOV extension - code coverage report</td></tr>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
-
- <tr>
- <td width="100%">
- <table cellpadding=1 border=0 width="100%">
- <tr>
- <td class="headerItem" width="20%">Current&nbsp;view:</td>
- <td class="headerValue" width="80%" colspan=4><a href="../../index.html">directory</a> - <a href="index.html">ept/core</a> - apt.h</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Test:</td>
- <td class="headerValue" width="80%" colspan=4>lcov.info</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Date:</td>
- <td class="headerValue" width="20%">2008-08-14</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Instrumented&nbsp;lines:</td>
- <td class="headerValue" width="20%">173</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Code&nbsp;covered:</td>
- <td class="headerValue" width="20%">79.8 %</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Executed&nbsp;lines:</td>
- <td class="headerValue" width="20%">138</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
-
- <table cellpadding=0 cellspacing=0 border=0>
- <tr>
- <td><br></td>
- </tr>
- <tr>
- <td><pre class="source">
-<span class="lineNum"> 1 </span> : // -*- C++ -*-
-<span class="lineNum"> 2 </span> :
-<span class="lineNum"> 3 </span> : #include &lt;string&gt;
-<span class="lineNum"> 4 </span> : #include &lt;wibble/test.h&gt;
-<span class="lineNum"> 5 </span> :
-<span class="lineNum"> 6 </span> : #include &lt;ept/token.h&gt;
-<span class="lineNum"> 7 </span> : #include &lt;ept/core/source.h&gt;
-<span class="lineNum"> 8 </span> :
-<span class="lineNum"> 9 </span> : #include &lt;iostream&gt;
-<span class="lineNum"> 10 </span> : #include &lt;wibble/exception.h&gt;
-<span class="lineNum"> 11 </span> :
-<span class="lineNum"> 12 </span> : #include &lt;apt-pkg/pkgcache.h&gt;
-<span class="lineNum"> 13 </span> : #include &lt;apt-pkg/sourcelist.h&gt;
-<span class="lineNum"> 14 </span> : #include &lt;apt-pkg/error.h&gt;
-<span class="lineNum"> 15 </span> : #include &lt;apt-pkg/policy.h&gt;
-<span class="lineNum"> 16 </span> : #include &lt;apt-pkg/cachefile.h&gt;
-<span class="lineNum"> 17 </span> : #include &lt;apt-pkg/progress.h&gt;
-<span class="lineNum"> 18 </span> : #include &lt;apt-pkg/pkgcachegen.h&gt;
-<span class="lineNum"> 19 </span> : #include &lt;apt-pkg/init.h&gt;
-<span class="lineNum"> 20 </span> :
-<span class="lineNum"> 21 </span> : #ifndef EPT_APT_H
-<span class="lineNum"> 22 </span> : #define EPT_APT_H
-<span class="lineNum"> 23 </span> :
-<span class="lineNum"> 24 </span> : namespace ept {
-<span class="lineNum"> 25 </span> : namespace core {
-<span class="lineNum"> 26 </span> :
-<span class="lineNum"> 27 </span><span class="lineNoCov"> 0 : struct AptException : wibble::exception::Generic {</span>
-<span class="lineNum"> 28 </span><span class="lineNoCov"> 0 : std::string desc() const throw () {</span>
-<span class="lineNum"> 29 </span><span class="lineNoCov"> 0 : return &quot;APT Error&quot;;</span>
-<span class="lineNum"> 30 </span> : }
-<span class="lineNum"> 31 </span> :
-<span class="lineNum"> 32 </span><span class="lineNoCov"> 0 : AptException( const std::string &amp;ctx ) : Generic( ctx ) {</span>
-<span class="lineNum"> 33 </span><span class="lineNoCov"> 0 : while ( !_error-&gt;empty() ) {</span>
-<span class="lineNum"> 34 </span><span class="lineNoCov"> 0 : std::string err;</span>
-<span class="lineNum"> 35 </span><span class="lineNoCov"> 0 : _error-&gt;PopMessage( err );</span>
-<span class="lineNum"> 36 </span><span class="lineNoCov"> 0 : std::cerr &lt;&lt; err &lt;&lt; std::endl;</span>
-<span class="lineNum"> 37 </span><span class="lineNoCov"> 0 : addContext( err );</span>
-<span class="lineNum"> 38 </span> : }
-<span class="lineNum"> 39 </span><span class="lineNoCov"> 0 : }</span>
-<span class="lineNum"> 40 </span> : };
-<span class="lineNum"> 41 </span> :
-<span class="lineNum"> 42 </span> : struct PackageState {
-<span class="lineNum"> 43 </span> : enum Query {
-<span class="lineNum"> 44 </span> : Install = 1 &lt;&lt; 0,
-<span class="lineNum"> 45 </span> : Upgrade = 1 &lt;&lt; 1,
-<span class="lineNum"> 46 </span> : Keep = 1 &lt;&lt; 2,
-<span class="lineNum"> 47 </span> : Remove = 1 &lt;&lt; 3,
-<span class="lineNum"> 48 </span> : Installed = 1 &lt;&lt; 4,
-<span class="lineNum"> 49 </span> : Upgradable = 1 &lt;&lt; 5,
-<span class="lineNum"> 50 </span> : NowBroken = 1 &lt;&lt; 6,
-<span class="lineNum"> 51 </span> : WillBreak = 1 &lt;&lt; 7,
-<span class="lineNum"> 52 </span> : ReInstall = 1 &lt;&lt; 8,
-<span class="lineNum"> 53 </span> : Purge = 1 &lt;&lt; 9,
-<span class="lineNum"> 54 </span> : Hold = 1 &lt;&lt; 10,
-<span class="lineNum"> 55 </span> : Valid = 1 &lt;&lt; 11
-<span class="lineNum"> 56 </span> : };
-<span class="lineNum"> 57 </span> :
-<span class="lineNum"> 58 </span> : typedef unsigned state;
-<span class="lineNum"> 59 </span> :
-<span class="lineNum"> 60 </span><span class="lineCov"> 3786 : operator unsigned() { return m_state; };</span>
-<span class="lineNum"> 61 </span> :
-<span class="lineNum"> 62 </span> : PackageState &amp;operator=( unsigned i ) {
-<span class="lineNum"> 63 </span> : m_state = i;
-<span class="lineNum"> 64 </span> : return *this;
-<span class="lineNum"> 65 </span> : }
-<span class="lineNum"> 66 </span> :
-<span class="lineNum"> 67 </span><span class="lineCov"> 5218 : PackageState &amp;operator|=( const PackageState &amp;s ) {</span>
-<span class="lineNum"> 68 </span><span class="lineCov"> 5218 : m_state |= s.m_state;</span>
-<span class="lineNum"> 69 </span><span class="lineCov"> 5218 : return *this;</span>
-<span class="lineNum"> 70 </span> : }
-<span class="lineNum"> 71 </span> :
-<span class="lineNum"> 72 </span><span class="lineCov"> 9003 : PackageState( unsigned a ) {</span>
-<span class="lineNum"> 73 </span><span class="lineCov"> 9003 : m_state = a;</span>
-<span class="lineNum"> 74 </span><span class="lineCov"> 9003 : }</span>
-<span class="lineNum"> 75 </span> :
-<span class="lineNum"> 76 </span><span class="lineCov"> 1 : PackageState() : m_state( 0 ) {}</span>
-<span class="lineNum"> 77 </span> :
-<span class="lineNum"> 78 </span> : // FIXME this probably needs to be used consistently in core and out of core
-<span class="lineNum"> 79 </span><span class="lineCov"> 2 : bool isValid() const { return m_state &amp; Valid; }</span>
-<span class="lineNum"> 80 </span> : // FIXME compatibility API for non-core apt
-<span class="lineNum"> 81 </span><span class="lineCov"> 1 : bool isInstalled() const { return installed(); }</span>
-<span class="lineNum"> 82 </span> :
-<span class="lineNum"> 83 </span><span class="lineCov"> 2 : bool install() const { return m_state &amp; Install; }</span>
-<span class="lineNum"> 84 </span> : // reinstall() implies install()
-<span class="lineNum"> 85 </span> : bool reinstall() const { return m_state &amp; ReInstall; }
-<span class="lineNum"> 86 </span> : bool remove() const { return m_state &amp; Remove; }
-<span class="lineNum"> 87 </span> : // purge() implies remove()
-<span class="lineNum"> 88 </span><span class="lineCov"> 3775 : bool purge() const { return m_state &amp; Purge; }</span>
-<span class="lineNum"> 89 </span><span class="lineCov"> 3780 : bool keep() const { return m_state &amp; Keep; }</span>
-<span class="lineNum"> 90 </span> : bool willBreak() const { return m_state &amp; WillBreak; }
-<span class="lineNum"> 91 </span> : // upgrade() implies install()
-<span class="lineNum"> 92 </span> : bool upgrade() const { return hasNewVersion() &amp;&amp; install(); }
-<span class="lineNum"> 93 </span> : // newInsstal() implies install()
-<span class="lineNum"> 94 </span> : bool newInstall() const { return !installed() &amp;&amp; install(); }
-<span class="lineNum"> 95 </span> : bool hold() const { return m_state &amp; Hold; }
-<span class="lineNum"> 96 </span> :
-<span class="lineNum"> 97 </span><span class="lineCov"> 1 : bool installed() const { return m_state &amp; Installed; }</span>
-<span class="lineNum"> 98 </span> : bool hasNewVersion() const { return m_state &amp; Upgradable; }
-<span class="lineNum"> 99 </span> : bool upgradable() const { return hasNewVersion() &amp;&amp; !hold(); }
-<span class="lineNum"> 100 </span> : bool held() const { return hasNewVersion() &amp;&amp; hold(); }
-<span class="lineNum"> 101 </span> : bool nowBroken() const { return m_state &amp; NowBroken; }
-<span class="lineNum"> 102 </span> :
-<span class="lineNum"> 103 </span> : bool modify() const { return install() || remove(); }
-<span class="lineNum"> 104 </span> :
-<span class="lineNum"> 105 </span> : protected:
-<span class="lineNum"> 106 </span> : unsigned m_state;
-<span class="lineNum"> 107 </span> : };
-<span class="lineNum"> 108 </span> :
-<span class="lineNum"> 109 </span> : time_t aptTimestamp();
-<span class="lineNum"> 110 </span> :
-<span class="lineNum"> 111 </span> : // wrap the apt's database
-<span class="lineNum"> 112 </span> : struct AptDatabase {
-<span class="lineNum"> 113 </span><span class="lineCov"> 5093 : pkgCache &amp;cache() {</span>
-<span class="lineNum"> 114 </span><span class="lineCov"> 5093 : if ( !m_cache )</span>
-<span class="lineNum"> 115 </span><span class="lineCov"> 20 : openCache();</span>
-<span class="lineNum"> 116 </span><span class="lineCov"> 5093 : return *m_cache;</span>
-<span class="lineNum"> 117 </span> : }
-<span class="lineNum"> 118 </span> :
-<span class="lineNum"> 119 </span><span class="lineCov"> 3793 : pkgDepCache &amp;state() {</span>
-<span class="lineNum"> 120 </span><span class="lineCov"> 3793 : if ( !m_state )</span>
-<span class="lineNum"> 121 </span><span class="lineCov"> 5 : openState();</span>
-<span class="lineNum"> 122 </span><span class="lineCov"> 3793 : return *m_state;</span>
-<span class="lineNum"> 123 </span> : }
-<span class="lineNum"> 124 </span> :
-<span class="lineNum"> 125 </span><span class="lineCov"> 1436 : pkgPolicy &amp;policy() {</span>
-<span class="lineNum"> 126 </span><span class="lineCov"> 1436 : if ( !m_policy )</span>
-<span class="lineNum"> 127 </span><span class="lineNoCov"> 0 : openCache();</span>
-<span class="lineNum"> 128 </span><span class="lineCov"> 1436 : return *m_policy;</span>
-<span class="lineNum"> 129 </span> : }
-<span class="lineNum"> 130 </span> :
-<span class="lineNum"> 131 </span> : OpProgress *m_progress;
-<span class="lineNum"> 132 </span> : bool m_tryWriteable;
-<span class="lineNum"> 133 </span> : bool m_writeable;
-<span class="lineNum"> 134 </span> :
-<span class="lineNum"> 135 </span> : time_t timestamp() {
-<span class="lineNum"> 136 </span> : return aptTimestamp();
-<span class="lineNum"> 137 </span> : }
-<span class="lineNum"> 138 </span> :
-<span class="lineNum"> 139 </span><span class="lineCov"> 73 : AptDatabase() {</span>
-<span class="lineNum"> 140 </span><span class="lineCov"> 73 : m_cache = 0;</span>
-<span class="lineNum"> 141 </span><span class="lineCov"> 73 : m_state = 0;</span>
-<span class="lineNum"> 142 </span><span class="lineCov"> 73 : m_policy = 0;</span>
-<span class="lineNum"> 143 </span><span class="lineCov"> 73 : m_progress = new OpProgress();</span>
-<span class="lineNum"> 144 </span><span class="lineCov"> 73 : m_tryWriteable = true;</span>
-<span class="lineNum"> 145 </span><span class="lineCov"> 73 : m_writeable = false;</span>
-<span class="lineNum"> 146 </span><span class="lineCov"> 73 : }</span>
-<span class="lineNum"> 147 </span> :
-<span class="lineNum"> 148 </span> : void setProgress( OpProgress *p ) {
-<span class="lineNum"> 149 </span> : m_progress = p;
-<span class="lineNum"> 150 </span> : }
-<span class="lineNum"> 151 </span> :
-<span class="lineNum"> 152 </span> : bool writeable() {
-<span class="lineNum"> 153 </span> : if ( !m_cache )
-<span class="lineNum"> 154 </span> : openCache();
-<span class="lineNum"> 155 </span> : return m_writeable;
-<span class="lineNum"> 156 </span> : }
-<span class="lineNum"> 157 </span> :
-<span class="lineNum"> 158 </span><span class="lineCov"> 5 : void openState() {</span>
-<span class="lineNum"> 159 </span><span class="lineCov"> 5 : m_state = new pkgDepCache( &amp;cache(), m_policy );</span>
-<span class="lineNum"> 160 </span><span class="lineCov"> 5 : m_state-&gt;Init( m_progress );</span>
-<span class="lineNum"> 161 </span><span class="lineCov"> 5 : m_progress-&gt;Done();</span>
-<span class="lineNum"> 162 </span><span class="lineCov"> 5 : }</span>
-<span class="lineNum"> 163 </span> :
-<span class="lineNum"> 164 </span><span class="lineCov"> 20 : void openCache() {</span>
-<span class="lineNum"> 165 </span><span class="lineCov"> 20 : if ( !_config-&gt;FindB(&quot;Initialized&quot;) ) {</span>
-<span class="lineNum"> 166 </span><span class="lineNoCov"> 0 : pkgInitConfig(*_config);</span>
-<span class="lineNum"> 167 </span><span class="lineNoCov"> 0 : _config-&gt;Set(&quot;Initialized&quot;, 1);</span>
-<span class="lineNum"> 168 </span><span class="lineNoCov"> 0 : pkgInitSystem(*_config, _system);</span>
-<span class="lineNum"> 169 </span> : }
-<span class="lineNum"> 170 </span> :
-<span class="lineNum"> 171 </span><span class="lineCov"> 20 : m_writeable = m_tryWriteable;</span>
-<span class="lineNum"> 172 </span> :
-<span class="lineNum"> 173 </span><span class="lineCov"> 20 : if ( m_tryWriteable ) {</span>
-<span class="lineNum"> 174 </span> : try {
-<span class="lineNum"> 175 </span><span class="lineCov"> 20 : _system-&gt;Lock();</span>
-<span class="lineNum"> 176 </span><span class="lineNoCov"> 0 : } catch ( std::exception e ) {</span>
-<span class="lineNum"> 177 </span><span class="lineNoCov"> 0 : m_tryWriteable = false;</span>
-<span class="lineNum"> 178 </span><span class="lineNoCov"> 0 : openCache();</span>
-<span class="lineNum"> 179 </span><span class="lineNoCov"> 0 : m_tryWriteable = true;</span>
-<span class="lineNum"> 180 </span><span class="lineNoCov"> 0 : throw;</span>
-<span class="lineNum"> 181 </span> : }
-<span class="lineNum"> 182 </span> : }
-<span class="lineNum"> 183 </span> :
-<span class="lineNum"> 184 </span><span class="lineCov"> 20 : pkgSourceList list;</span>
-<span class="lineNum"> 185 </span><span class="lineCov"> 20 : if ( list.ReadMainList() == false ) {</span>
-<span class="lineNum"> 186 </span><span class="lineNoCov"> 0 : _error-&gt;DumpErrors();</span>
-<span class="lineNum"> 187 </span> : throw wibble::exception::System(
-<span class="lineNum"> 188 </span><span class="lineNoCov"> 0 : &quot;The list of sources could not be read.&quot; );</span>
-<span class="lineNum"> 189 </span> : }
-<span class="lineNum"> 190 </span> :
-<span class="lineNum"> 191 </span><span class="lineCov"> 20 : MMap *m = 0;</span>
-<span class="lineNum"> 192 </span><span class="lineCov"> 20 : bool Res = pkgMakeStatusCache( list, *m_progress, &amp;m, !m_writeable );</span>
-<span class="lineNum"> 193 </span> :
-<span class="lineNum"> 194 </span><span class="lineCov"> 20 : if ( !Res ) {</span>
-<span class="lineNum"> 195 </span> : std::cerr &lt;&lt; &quot;The package lists or status file &quot;
-<span class="lineNum"> 196 </span><span class="lineNoCov"> 0 : &quot;could not be parsed or opened.&quot; &lt;&lt; std::endl;</span>
-<span class="lineNum"> 197 </span> : throw AptException(
-<span class="lineNum"> 198 </span> : &quot;The package lists or status file &quot;
-<span class="lineNum"> 199 </span><span class="lineNoCov"> 0 : &quot;could not be parsed or opened.&quot; );</span>
-<span class="lineNum"> 200 </span> : }
-<span class="lineNum"> 201 </span> :
-<span class="lineNum"> 202 </span><span class="lineCov"> 20 : m_cache = new pkgCache( m, true );</span>
-<span class="lineNum"> 203 </span><span class="lineCov"> 40 : m_policy = new pkgPolicy( m_cache );</span>
-<span class="lineNum"> 204 </span><span class="lineCov"> 40 : if ( ReadPinFile( *m_policy ) == false )</span>
-<span class="lineNum"> 205 </span><span class="lineNoCov"> 0 : throw wibble::exception::System( &quot;error reading pin file&quot; );</span>
-<span class="lineNum"> 206 </span><span class="lineCov"> 20 : m_progress-&gt;Done();</span>
-<span class="lineNum"> 207 </span><span class="lineCov"> 20 : }</span>
-<span class="lineNum"> 208 </span> :
-<span class="lineNum"> 209 </span><span class="lineCov"> 74 : void invalidate() {</span>
-<span class="lineNum"> 210 </span><span class="lineCov"> 74 : if ( _config-&gt;FindB(&quot;Initialized&quot;) ) {</span>
-<span class="lineNum"> 211 </span><span class="lineCov"> 74 : _system-&gt;UnLock();</span>
-<span class="lineNum"> 212 </span> : }
-<span class="lineNum"> 213 </span> :
-<span class="lineNum"> 214 </span><span class="lineCov"> 74 : delete m_state;</span>
-<span class="lineNum"> 215 </span><span class="lineCov"> 74 : m_state = 0;</span>
-<span class="lineNum"> 216 </span><span class="lineCov"> 74 : delete m_policy;</span>
-<span class="lineNum"> 217 </span><span class="lineCov"> 74 : m_policy = 0;</span>
-<span class="lineNum"> 218 </span><span class="lineCov"> 74 : delete m_cache;</span>
-<span class="lineNum"> 219 </span><span class="lineCov"> 74 : m_cache = 0;</span>
-<span class="lineNum"> 220 </span><span class="lineCov"> 74 : }</span>
-<span class="lineNum"> 221 </span> :
-<span class="lineNum"> 222 </span> : pkgCache::VerIterator anyVersion( pkgCache::PkgIterator pi ) {
-<span class="lineNum"> 223 </span> : if ( pi.end() ) return pkgCache::VerIterator();
-<span class="lineNum"> 224 </span> : return pi.VersionList();
-<span class="lineNum"> 225 </span> : }
-<span class="lineNum"> 226 </span> :
-<span class="lineNum"> 227 </span><span class="lineCov"> 5 : Token candidateVersion( Token p ) {</span>
-<span class="lineNum"> 228 </span><span class="lineCov"> 5 : pkgCache::PkgIterator pi = cache().FindPkg( p.package() );</span>
-<span class="lineNum"> 229 </span><span class="lineCov"> 6 : if ( pi.end() ) return Token();</span>
-<span class="lineNum"> 230 </span><span class="lineCov"> 4 : pkgCache::VerIterator vi = policy().GetCandidateVer( pi );</span>
-<span class="lineNum"> 231 </span><span class="lineCov"> 4 : if ( vi.end() ) return Token();</span>
-<span class="lineNum"> 232 </span> :
-<span class="lineNum"> 233 </span><span class="lineCov"> 4 : Token t; t._id = p.package() + &quot;_&quot; + vi.VerStr();</span>
-<span class="lineNum"> 234 </span><span class="lineCov"> 4 : return t;</span>
-<span class="lineNum"> 235 </span> : }
-<span class="lineNum"> 236 </span> :
-<span class="lineNum"> 237 </span><span class="lineCov"> 1432 : pkgCache::VerIterator candidateVersion( pkgCache::PkgIterator pi ) {</span>
-<span class="lineNum"> 238 </span><span class="lineCov"> 1432 : if ( pi.end() ) return pkgCache::VerIterator();</span>
-<span class="lineNum"> 239 </span><span class="lineCov"> 1432 : pkgCache::VerIterator vi = policy().GetCandidateVer( pi );</span>
-<span class="lineNum"> 240 </span><span class="lineCov"> 1432 : if ( vi.end() ) return pkgCache::VerIterator();</span>
-<span class="lineNum"> 241 </span><span class="lineCov"> 1432 : return vi;</span>
-<span class="lineNum"> 242 </span> : }
-<span class="lineNum"> 243 </span> :
-<span class="lineNum"> 244 </span><span class="lineCov"> 1432 : pkgCache::VerIterator installedVersion( pkgCache::PkgIterator pi ) {</span>
-<span class="lineNum"> 245 </span><span class="lineCov"> 1432 : if ( pi.end() ) return pkgCache::VerIterator();</span>
-<span class="lineNum"> 246 </span> : pkgCache::VerIterator vi = pkgCache::VerIterator( cache(),
-<span class="lineNum"> 247 </span><span class="lineCov"> 1432 : cache().VerP + pi-&gt;CurrentVer );</span>
-<span class="lineNum"> 248 </span><span class="lineCov"> 1432 : if ( vi.end() ) return pkgCache::VerIterator();</span>
-<span class="lineNum"> 249 </span><span class="lineCov"> 1432 : return vi;</span>
-<span class="lineNum"> 250 </span> : }
-<span class="lineNum"> 251 </span> :
-<span class="lineNum"> 252 </span><span class="lineCov"> 27 : pkgCache::PkgIterator lookupPackage( Token t ) {</span>
-<span class="lineNum"> 253 </span><span class="lineCov"> 27 : return cache().FindPkg( t.package() );</span>
-<span class="lineNum"> 254 </span> : }
-<span class="lineNum"> 255 </span> :
-<span class="lineNum"> 256 </span><span class="lineCov"> 5 : pkgCache::VerIterator lookupVersion( Token t ) {</span>
-<span class="lineNum"> 257 </span><span class="lineCov"> 5 : if ( !t.hasVersion() )</span>
-<span class="lineNum"> 258 </span><span class="lineCov"> 5 : t = candidateVersion( t );</span>
-<span class="lineNum"> 259 </span><span class="lineCov"> 5 : pkgCache::PkgIterator pi = lookupPackage( t );</span>
-<span class="lineNum"> 260 </span><span class="lineCov"> 5 : if ( pi.end() )</span>
-<span class="lineNum"> 261 </span><span class="lineCov"> 1 : return pkgCache::VerIterator();</span>
-<span class="lineNum"> 262 </span><span class="lineCov"> 4 : for (pkgCache::VerIterator vi = pi.VersionList(); !vi.end(); ++vi)</span>
-<span class="lineNum"> 263 </span><span class="lineCov"> 4 : if ( t.version() == vi.VerStr() )</span>
-<span class="lineNum"> 264 </span><span class="lineCov"> 4 : return vi;</span>
-<span class="lineNum"> 265 </span><span class="lineNoCov"> 0 : return pkgCache::VerIterator();</span>
-<span class="lineNum"> 266 </span> : }
-<span class="lineNum"> 267 </span> :
-<span class="lineNum"> 268 </span> : static pkgCache::VerFileIterator lookupVersionFile(
-<span class="lineNum"> 269 </span><span class="lineCov"> 5 : pkgCache::VerIterator vi )</span>
-<span class="lineNum"> 270 </span> : {
-<span class="lineNum"> 271 </span><span class="lineCov"> 5 : if ( vi.end() )</span>
-<span class="lineNum"> 272 </span><span class="lineCov"> 1 : return pkgCache::VerFileIterator();</span>
-<span class="lineNum"> 273 </span><span class="lineCov"> 4 : pkgCache::VerFileIterator vfi = vi.FileList();</span>
-<span class="lineNum"> 274 </span><span class="lineCov"> 4 : for ( ; !vfi.end(); vfi++ )</span>
-<span class="lineNum"> 275 </span><span class="lineCov"> 4 : if ( ( vfi.File()-&gt;Flags &amp; pkgCache::Flag::NotSource ) == 0)</span>
-<span class="lineNum"> 276 </span><span class="lineCov"> 4 : break;</span>
-<span class="lineNum"> 277 </span><span class="lineCov"> 4 : if ( vfi.end() )</span>
-<span class="lineNum"> 278 </span><span class="lineNoCov"> 0 : vfi = vi.FileList();</span>
-<span class="lineNum"> 279 </span><span class="lineCov"> 4 : return vfi;</span>
-<span class="lineNum"> 280 </span> : }
-<span class="lineNum"> 281 </span> :
-<span class="lineNum"> 282 </span><span class="lineNoCov"> 0 : PackageState invalidState() {</span>
-<span class="lineNum"> 283 </span><span class="lineNoCov"> 0 : return PackageState( PackageState::NowBroken | PackageState::Keep );</span>
-<span class="lineNum"> 284 </span> : }
-<span class="lineNum"> 285 </span> :
-<span class="lineNum"> 286 </span><span class="lineCov"> 3784 : PackageState packageState( pkgCache::PkgIterator P )</span>
-<span class="lineNum"> 287 </span> : {
-<span class="lineNum"> 288 </span><span class="lineCov"> 3784 : PackageState s = 0;</span>
-<span class="lineNum"> 289 </span><span class="lineCov"> 3784 : if ( P.end() )</span>
-<span class="lineNum"> 290 </span><span class="lineNoCov"> 0 : return invalidState();</span>
-<span class="lineNum"> 291 </span><span class="lineCov"> 3784 : if ( ! ( P-&gt;CurrentState == pkgCache::State::ConfigFiles</span>
-<span class="lineNum"> 292 </span> : || P-&gt;CurrentState == pkgCache::State::NotInstalled ) )
-<span class="lineNum"> 293 </span><span class="lineCov"> 1432 : s |= PackageState::Installed;</span>
-<span class="lineNum"> 294 </span><span class="lineCov"> 3784 : if ( s &amp; PackageState::Installed &amp;&amp;</span>
-<span class="lineNum"> 295 </span> : candidateVersion( P ) != installedVersion( P ) )
-<span class="lineNum"> 296 </span><span class="lineCov"> 1 : s |= PackageState::Upgradable;</span>
-<span class="lineNum"> 297 </span><span class="lineCov"> 3784 : pkgDepCache::StateCache S = state()[ P ];</span>
-<span class="lineNum"> 298 </span><span class="lineCov"> 3784 : if ( S.Install() )</span>
-<span class="lineNum"> 299 </span><span class="lineCov"> 3 : s |= PackageState::Install;</span>
-<span class="lineNum"> 300 </span><span class="lineCov"> 3784 : if ( ( S.iFlags &amp; pkgDepCache::ReInstall )</span>
-<span class="lineNum"> 301 </span> : == pkgDepCache::ReInstall )
-<span class="lineNum"> 302 </span><span class="lineNoCov"> 0 : s |= PackageState::ReInstall;</span>
-<span class="lineNum"> 303 </span><span class="lineCov"> 3784 : if ( S.Keep() )</span>
-<span class="lineNum"> 304 </span><span class="lineCov"> 3780 : s |= PackageState::Keep;</span>
-<span class="lineNum"> 305 </span><span class="lineCov"> 3784 : if ( S.Delete() )</span>
-<span class="lineNum"> 306 </span><span class="lineCov"> 1 : s |= PackageState::Remove;</span>
-<span class="lineNum"> 307 </span><span class="lineCov"> 3784 : if ( ( S.iFlags &amp; pkgDepCache::Purge ) == pkgDepCache::Purge )</span>
-<span class="lineNum"> 308 </span><span class="lineNoCov"> 0 : s |= PackageState::Purge;</span>
-<span class="lineNum"> 309 </span><span class="lineCov"> 3784 : if ( S.NowBroken() )</span>
-<span class="lineNum"> 310 </span><span class="lineCov"> 1 : s |= PackageState::NowBroken;</span>
-<span class="lineNum"> 311 </span><span class="lineCov"> 3784 : if ( S.InstBroken() )</span>
-<span class="lineNum"> 312 </span><span class="lineNoCov"> 0 : s |= PackageState::WillBreak;</span>
-<span class="lineNum"> 313 </span><span class="lineCov"> 3784 : if ( P-&gt;SelectedState == pkgCache::State::Hold )</span>
-<span class="lineNum"> 314 </span><span class="lineNoCov"> 0 : s |= PackageState::Hold;</span>
-<span class="lineNum"> 315 </span><span class="lineCov"> 3784 : return s;</span>
-<span class="lineNum"> 316 </span> : }
-<span class="lineNum"> 317 </span> :
-<span class="lineNum"> 318 </span><span class="lineCov"> 1 : PackageState packageState( Token t ) {</span>
-<span class="lineNum"> 319 </span><span class="lineCov"> 1 : t = validate( t );</span>
-<span class="lineNum"> 320 </span><span class="lineCov"> 1 : if ( t.valid() )</span>
-<span class="lineNum"> 321 </span><span class="lineCov"> 1 : return packageState( lookupPackage( t ) );</span>
-<span class="lineNum"> 322 </span><span class="lineNoCov"> 0 : return invalidState();</span>
-<span class="lineNum"> 323 </span> : }
-<span class="lineNum"> 324 </span> :
-<span class="lineNum"> 325 </span><span class="lineCov"> 4 : Token validate( Token t ) {</span>
-<span class="lineNum"> 326 </span><span class="lineCov"> 4 : if ( t.hasVersion() )</span>
-<span class="lineNum"> 327 </span><span class="lineNoCov"> 0 : return lookupVersion( t ).end() ? Token() : t;</span>
-<span class="lineNum"> 328 </span><span class="lineCov"> 4 : return lookupPackage( t ).end() ? Token() : t;</span>
-<span class="lineNum"> 329 </span> : }
-<span class="lineNum"> 330 </span> :
-<span class="lineNum"> 331 </span><span class="lineCov"> 73 : ~AptDatabase() {</span>
-<span class="lineNum"> 332 </span><span class="lineCov"> 73 : invalidate();</span>
-<span class="lineNum"> 333 </span><span class="lineCov"> 73 : }</span>
-<span class="lineNum"> 334 </span> :
-<span class="lineNum"> 335 </span> : protected:
-<span class="lineNum"> 336 </span> : pkgCache *m_cache;
-<span class="lineNum"> 337 </span> : pkgDepCache *m_state;
-<span class="lineNum"> 338 </span> : pkgPolicy *m_policy;
-<span class="lineNum"> 339 </span> : };
-<span class="lineNum"> 340 </span> :
-<span class="lineNum"> 341 </span> : template&lt; typename Internal &gt;
-<span class="lineNum"> 342 </span> : struct AptInternalList {
-<span class="lineNum"> 343 </span> : Internal m_head;
-<span class="lineNum"> 344 </span> : typedef Internal Type;
-<span class="lineNum"> 345 </span><span class="lineCov"> 11331 : AptInternalList tail() const {</span>
-<span class="lineNum"> 346 </span><span class="lineCov"> 11331 : AptInternalList t = *this;</span>
-<span class="lineNum"> 347 </span><span class="lineCov"> 11331 : t.m_head++;</span>
-<span class="lineNum"> 348 </span> : return t;
-<span class="lineNum"> 349 </span> : }
-<span class="lineNum"> 350 </span><span class="lineCov"> 7554 : const Internal &amp;head() const { return m_head; }</span>
-<span class="lineNum"> 351 </span><span class="lineCov"> 3781 : Internal &amp;head() { return m_head; }</span>
-<span class="lineNum"> 352 </span><span class="lineCov"> 11334 : bool empty() const { return m_head.end(); }</span>
-<span class="lineNum"> 353 </span><span class="lineCov"> 3 : AptInternalList( Internal head ) : m_head( head ) {}</span>
-<span class="lineNum"> 354 </span> : AptInternalList() {}
-<span class="lineNum"> 355 </span> : };
-<span class="lineNum"> 356 </span> :
-<span class="lineNum"> 357 </span> : namespace version {
-<span class="lineNum"> 358 </span> :
-<span class="lineNum"> 359 </span> : typedef enum { Package, VersionString, Section, Architecture,
-<span class="lineNum"> 360 </span> : Depends, Recommends, Record } PropertyId;
-<span class="lineNum"> 361 </span> :
-<span class="lineNum"> 362 </span> : typedef pkgCache::VerIterator Internal;
-<span class="lineNum"> 363 </span> : template&lt; PropertyId &gt; struct PropertyType {};
-<span class="lineNum"> 364 </span> :
-<span class="lineNum"> 365 </span> : }
-<span class="lineNum"> 366 </span> :
-<span class="lineNum"> 367 </span> : namespace package {
-<span class="lineNum"> 368 </span> :
-<span class="lineNum"> 369 </span> : typedef enum { Name, Versions, AnyVersion, State, CandidateVersion,
-<span class="lineNum"> 370 </span> : InstalledVersion } PropertyId;
-<span class="lineNum"> 371 </span> : typedef pkgCache::PkgIterator Internal;
-<span class="lineNum"> 372 </span> : template&lt; PropertyId &gt; struct PropertyType {};
-<span class="lineNum"> 373 </span> :
-<span class="lineNum"> 374 </span> : struct VersionList {
-<span class="lineNum"> 375 </span> : version::Internal m_head;
-<span class="lineNum"> 376 </span> : VersionList tail() const;
-<span class="lineNum"> 377 </span> : const version::Internal &amp;head() const { return m_head; }
-<span class="lineNum"> 378 </span> : version::Internal &amp;head() { return m_head; }
-<span class="lineNum"> 379 </span> : };
-<span class="lineNum"> 380 </span> :
-<span class="lineNum"> 381 </span> : typedef AptInternalList&lt; Internal &gt; InternalList;
-<span class="lineNum"> 382 </span> :
-<span class="lineNum"> 383 </span> : }
-<span class="lineNum"> 384 </span> :
-<span class="lineNum"> 385 </span> : namespace record {
-<span class="lineNum"> 386 </span> :
-<span class="lineNum"> 387 </span> : typedef enum { Record, Name, Priority, Section, InstalledSize, Maintainer,
-<span class="lineNum"> 388 </span> : Architecture, SourcePackage, Version, Description,
-<span class="lineNum"> 389 </span> : ShortDescription, LongDescription, PackageSize } PropertyId;
-<span class="lineNum"> 390 </span> :
-<span class="lineNum"> 391 </span> : extern const char *fields[];
-<span class="lineNum"> 392 </span> :
-<span class="lineNum"> 393 </span> : typedef pkgCache::VerFileIterator Internal;
-<span class="lineNum"> 394 </span> :
-<span class="lineNum"> 395 </span> : template&lt; PropertyId &gt; struct PropertyType {
-<span class="lineNum"> 396 </span> : typedef std::string T;
-<span class="lineNum"> 397 </span> : };
-<span class="lineNum"> 398 </span> :
-<span class="lineNum"> 399 </span> : }
-<span class="lineNum"> 400 </span> : }
-<span class="lineNum"> 401 </span> : }
-<span class="lineNum"> 402 </span> :
-<span class="lineNum"> 403 </span> : #include &lt;ept/core/apt/package.h&gt;
-<span class="lineNum"> 404 </span> : #include &lt;ept/core/apt/version.h&gt;
-<span class="lineNum"> 405 </span> : #include &lt;ept/core/apt/record.h&gt;
-<span class="lineNum"> 406 </span> :
-<span class="lineNum"> 407 </span> : #endif
-</pre>
- </td>
- </tr>
- </table>
- <br>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
- <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LTP GCOV extension version 1.6</a></td></tr>
- </table>
- <br>
-
-</body>
-</html>
diff --git a/rep/ept/core/apt.test.h.gcov.html b/rep/ept/core/apt.test.h.gcov.html
deleted file mode 100644
index 8586911..0000000
--- a/rep/ept/core/apt.test.h.gcov.html
+++ /dev/null
@@ -1,162 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>LCOV - lcov.info - ept/core/apt.test.h</title>
- <link rel="stylesheet" type="text/css" href="../../gcov.css">
-</head>
-
-<body>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="title">LTP GCOV extension - code coverage report</td></tr>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
-
- <tr>
- <td width="100%">
- <table cellpadding=1 border=0 width="100%">
- <tr>
- <td class="headerItem" width="20%">Current&nbsp;view:</td>
- <td class="headerValue" width="80%" colspan=4><a href="../../index.html">directory</a> - <a href="index.html">ept/core</a> - apt.test.h</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Test:</td>
- <td class="headerValue" width="80%" colspan=4>lcov.info</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Date:</td>
- <td class="headerValue" width="20%">2008-08-14</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Instrumented&nbsp;lines:</td>
- <td class="headerValue" width="20%">60</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Code&nbsp;covered:</td>
- <td class="headerValue" width="20%">100.0 %</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Executed&nbsp;lines:</td>
- <td class="headerValue" width="20%">60</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
-
- <table cellpadding=0 cellspacing=0 border=0>
- <tr>
- <td><br></td>
- </tr>
- <tr>
- <td><pre class="source">
-<span class="lineNum"> 1 </span> : // -*- C++ -*-
-<span class="lineNum"> 2 </span> : #include &lt;ept/config.h&gt;
-<span class="lineNum"> 3 </span> : #include &lt;ept/core/apt.h&gt;
-<span class="lineNum"> 4 </span> : #include &lt;ept/core/list.h&gt;
-<span class="lineNum"> 5 </span> : #include &lt;ept/test.h&gt;
-<span class="lineNum"> 6 </span> :
-<span class="lineNum"> 7 </span> : using namespace ept::core;
-<span class="lineNum"> 8 </span> :
-<span class="lineNum"> 9 </span> : struct TestCoreApt : AptTestEnvironment
-<span class="lineNum"> 10 </span><span class="lineCov"> 12 : {</span>
-<span class="lineNum"> 11 </span> : package::Source pkgs;
-<span class="lineNum"> 12 </span> : version::Source vers;
-<span class="lineNum"> 13 </span> : ept::Token t;
-<span class="lineNum"> 14 </span> :
-<span class="lineNum"> 15 </span><span class="lineCov"> 12 : TestCoreApt() : pkgs( db ), vers( db ) {</span>
-<span class="lineNum"> 16 </span><span class="lineCov"> 12 : t._id = &quot;sp&quot;;</span>
-<span class="lineNum"> 17 </span><span class="lineCov"> 12 : }</span>
-<span class="lineNum"> 18 </span> :
-<span class="lineNum"> 19 </span><span class="lineCov"> 1 : Test token() {</span>
-<span class="lineNum"> 20 </span><span class="lineCov"> 1 : assert_eq( t.package(), &quot;sp&quot; );</span>
-<span class="lineNum"> 21 </span><span class="lineCov"> 2 : assert_eq( t.version(), &quot;&quot; );</span>
-<span class="lineNum"> 22 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 23 </span> :
-<span class="lineNum"> 24 </span><span class="lineCov"> 1 : Test tokenVersion() {</span>
-<span class="lineNum"> 25 </span><span class="lineCov"> 1 : ept::Token t2;</span>
-<span class="lineNum"> 26 </span><span class="lineCov"> 1 : t2._id = &quot;libwibble-dev_0.1.10&quot;;</span>
-<span class="lineNum"> 27 </span><span class="lineCov"> 1 : assert_eq( t2.package(), &quot;libwibble-dev&quot; );</span>
-<span class="lineNum"> 28 </span><span class="lineCov"> 1 : assert_eq( t2.version(), &quot;0.1.10&quot; );</span>
-<span class="lineNum"> 29 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 30 </span> :
-<span class="lineNum"> 31 </span><span class="lineCov"> 1 : Test packageName() {</span>
-<span class="lineNum"> 32 </span><span class="lineCov"> 1 : assert_eq( t.package(), pkgs.get&lt; package::Name &gt;( t ) );</span>
-<span class="lineNum"> 33 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 34 </span> :
-<span class="lineNum"> 35 </span> : template&lt; typename List &gt;
-<span class="lineNum"> 36 </span><span class="lineCov"> 1 : void checkPackageNameList( List l ) {</span>
-<span class="lineNum"> 37 </span><span class="lineCov"> 3779 : while ( !l.empty() ) {</span>
-<span class="lineNum"> 38 </span><span class="lineCov"> 3777 : assert_eq( l.token().package(), l.property() );</span>
-<span class="lineNum"> 39 </span><span class="lineCov"> 3777 : l = l.tail();</span>
-<span class="lineNum"> 40 </span> : }
-<span class="lineNum"> 41 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 42 </span> :
-<span class="lineNum"> 43 </span> : template&lt; typename List &gt;
-<span class="lineNum"> 44 </span><span class="lineCov"> 1 : void checkVersionPackageList( List l ) {</span>
-<span class="lineNum"> 45 </span><span class="lineCov"> 1810 : while ( !l.empty() ) {</span>
-<span class="lineNum"> 46 </span><span class="lineCov"> 1808 : assert_eq( l.property().package(), l.token().package() );</span>
-<span class="lineNum"> 47 </span><span class="lineCov"> 3616 : assert_eq( l.property().version(), &quot;&quot; );</span>
-<span class="lineNum"> 48 </span><span class="lineCov"> 1808 : l = l.tail();</span>
-<span class="lineNum"> 49 </span> : }
-<span class="lineNum"> 50 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 51 </span> :
-<span class="lineNum"> 52 </span><span class="lineCov"> 1 : Test packageCount() {</span>
-<span class="lineNum"> 53 </span> : assert_eq( list::count( pkgs.list&lt; package::Name &gt;() ),
-<span class="lineNum"> 54 </span><span class="lineCov"> 1 : 3777 );</span>
-<span class="lineNum"> 55 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 56 </span> :
-<span class="lineNum"> 57 </span><span class="lineCov"> 1 : Test packageNameList() {</span>
-<span class="lineNum"> 58 </span><span class="lineCov"> 1 : checkPackageNameList( pkgs.list&lt; package::Name &gt;() );</span>
-<span class="lineNum"> 59 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 60 </span> :
-<span class="lineNum"> 61 </span><span class="lineCov"> 1 : Test versionCount() {</span>
-<span class="lineNum"> 62 </span> : assert_eq( list::count( vers.list&lt; version::Package &gt;() ),
-<span class="lineNum"> 63 </span><span class="lineCov"> 1 : 1808 );</span>
-<span class="lineNum"> 64 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 65 </span> :
-<span class="lineNum"> 66 </span><span class="lineCov"> 1 : Test versionPackage() {</span>
-<span class="lineNum"> 67 </span><span class="lineCov"> 1 : checkVersionPackageList( vers.list&lt; version::Package &gt;() );</span>
-<span class="lineNum"> 68 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 69 </span> :
-<span class="lineNum"> 70 </span><span class="lineCov"> 1 : Test validate() {</span>
-<span class="lineNum"> 71 </span><span class="lineCov"> 1 : assert_eq( t, db.validate( t ) );</span>
-<span class="lineNum"> 72 </span> : assert_neq( ept::Token( &quot;libfoobar&quot; ),
-<span class="lineNum"> 73 </span><span class="lineCov"> 2 : db.validate( ept::Token( &quot;libfooar&quot; ) ) );</span>
-<span class="lineNum"> 74 </span><span class="lineCov"> 2 : assert_eq( ept::Token(), db.validate( ept::Token( &quot;libfoobar&quot; ) ) );</span>
-<span class="lineNum"> 75 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 76 </span> :
-<span class="lineNum"> 77 </span><span class="lineCov"> 1 : Test packageState() {</span>
-<span class="lineNum"> 78 </span><span class="lineCov"> 1 : assert( db.packageState( t ) &amp; PackageState::Keep );</span>
-<span class="lineNum"> 79 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 80 </span> :
-<span class="lineNum"> 81 </span><span class="lineCov"> 1 : Test packageState2() {</span>
-<span class="lineNum"> 82 </span><span class="lineCov"> 1 : assert( pkgs.get&lt; package::State &gt;( t ) &amp; PackageState::Keep );</span>
-<span class="lineNum"> 83 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 84 </span> :
-<span class="lineNum"> 85 </span><span class="lineCov"> 1 : Test exists() {</span>
-<span class="lineNum"> 86 </span><span class="lineCov"> 1 : assert( pkgs.exists( t ) );</span>
-<span class="lineNum"> 87 </span><span class="lineCov"> 2 : assert( !pkgs.exists( ept::Token( &quot;nonexistent-package&quot; ) ) );</span>
-<span class="lineNum"> 88 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 89 </span> :
-<span class="lineNum"> 90 </span><span class="lineCov"> 1 : Test invalidate() {</span>
-<span class="lineNum"> 91 </span><span class="lineCov"> 1 : assert( pkgs.exists( t ) );</span>
-<span class="lineNum"> 92 </span><span class="lineCov"> 1 : db.invalidate();</span>
-<span class="lineNum"> 93 </span><span class="lineCov"> 2 : assert( pkgs.exists( t ) );</span>
-<span class="lineNum"> 94 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 95 </span> : };
-</pre>
- </td>
- </tr>
- </table>
- <br>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
- <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LTP GCOV extension version 1.6</a></td></tr>
- </table>
- <br>
-
-</body>
-</html>
diff --git a/rep/ept/core/apt/action.h.gcov.html b/rep/ept/core/apt/action.h.gcov.html
deleted file mode 100644
index 08b2810..0000000
--- a/rep/ept/core/apt/action.h.gcov.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>LCOV - lcov.info - ept/core/apt/action.h</title>
- <link rel="stylesheet" type="text/css" href="../../../gcov.css">
-</head>
-
-<body>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="title">LTP GCOV extension - code coverage report</td></tr>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
-
- <tr>
- <td width="100%">
- <table cellpadding=1 border=0 width="100%">
- <tr>
- <td class="headerItem" width="20%">Current&nbsp;view:</td>
- <td class="headerValue" width="80%" colspan=4><a href="../../../index.html">directory</a> - <a href="index.html">ept/core/apt</a> - action.h</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Test:</td>
- <td class="headerValue" width="80%" colspan=4>lcov.info</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Date:</td>
- <td class="headerValue" width="20%">2008-08-14</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Instrumented&nbsp;lines:</td>
- <td class="headerValue" width="20%">48</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Code&nbsp;covered:</td>
- <td class="headerValue" width="20%">85.4 %</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Executed&nbsp;lines:</td>
- <td class="headerValue" width="20%">41</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
-
- <table cellpadding=0 cellspacing=0 border=0>
- <tr>
- <td><br></td>
- </tr>
- <tr>
- <td><pre class="source">
-<span class="lineNum"> 1 </span> : // -*- C++ -*-
-<span class="lineNum"> 2 </span> :
-<span class="lineNum"> 3 </span> : #include &lt;string&gt;
-<span class="lineNum"> 4 </span> : #include &lt;ept/token.h&gt;
-<span class="lineNum"> 5 </span> : #include &lt;ept/core/apt.h&gt;
-<span class="lineNum"> 6 </span> : #include &lt;apt-pkg/algorithms.h&gt;
-<span class="lineNum"> 7 </span> :
-<span class="lineNum"> 8 </span> : #ifndef EPT_APT_ACTION_H
-<span class="lineNum"> 9 </span> : #define EPT_APT_ACTION_H
-<span class="lineNum"> 10 </span> :
-<span class="lineNum"> 11 </span> : namespace ept {
-<span class="lineNum"> 12 </span> : namespace core {
-<span class="lineNum"> 13 </span> : namespace package {
-<span class="lineNum"> 14 </span> :
-<span class="lineNum"> 15 </span><span class="lineCov"> 13 : struct Action {</span>
-<span class="lineNum"> 16 </span> : enum Type { Install, ReInstall, Remove, Keep, Purge, SystemUpgrade };
-<span class="lineNum"> 17 </span> : Token m_token;
-<span class="lineNum"> 18 </span> : Type m_type;
-<span class="lineNum"> 19 </span> :
-<span class="lineNum"> 20 </span><span class="lineCov"> 4 : Token token() { return m_token; }</span>
-<span class="lineNum"> 21 </span> : Type type() { return m_type; }
-<span class="lineNum"> 22 </span> :
-<span class="lineNum"> 23 </span><span class="lineCov"> 4 : void apply( package::Source &amp;pkgs )</span>
-<span class="lineNum"> 24 </span> : {
-<span class="lineNum"> 25 </span><span class="lineCov"> 4 : Type a = m_type;</span>
-<span class="lineNum"> 26 </span><span class="lineCov"> 4 : pkgDepCache &amp;dc = pkgs.db().state();</span>
-<span class="lineNum"> 27 </span> :
-<span class="lineNum"> 28 </span><span class="lineCov"> 4 : if ( a == SystemUpgrade ) {</span>
-<span class="lineNum"> 29 </span><span class="lineNoCov"> 0 : pkgDistUpgrade( dc );</span>
-<span class="lineNum"> 30 </span> : } else {
-<span class="lineNum"> 31 </span><span class="lineCov"> 4 : if ( !pkgs.exists( m_token ) )</span>
-<span class="lineNum"> 32 </span><span class="lineNoCov"> 0 : return;</span>
-<span class="lineNum"> 33 </span><span class="lineCov"> 4 : pkgCache::PkgIterator p = pkgs.lookupToken( m_token );</span>
-<span class="lineNum"> 34 </span> :
-<span class="lineNum"> 35 </span><span class="lineCov"> 4 : pkgProblemResolver fix( &amp;dc );</span>
-<span class="lineNum"> 36 </span><span class="lineCov"> 8 : if ( a == Install || a == ReInstall ) {</span>
-<span class="lineNum"> 37 </span><span class="lineCov"> 2 : fix.Clear( p );</span>
-<span class="lineNum"> 38 </span><span class="lineCov"> 2 : fix.Protect( p );</span>
-<span class="lineNum"> 39 </span><span class="lineCov"> 2 : dc.MarkInstall( p, true );</span>
-<span class="lineNum"> 40 </span><span class="lineCov"> 2 : fix.InstallProtect();</span>
-<span class="lineNum"> 41 </span><span class="lineCov"> 2 : if ( a == ReInstall )</span>
-<span class="lineNum"> 42 </span><span class="lineNoCov"> 0 : dc.SetReInstall( p, true );</span>
-<span class="lineNum"> 43 </span><span class="lineCov"> 2 : } else if ( a == Remove || a == Purge ) {</span>
-<span class="lineNum"> 44 </span><span class="lineNoCov"> 0 : fix.Clear( p );</span>
-<span class="lineNum"> 45 </span><span class="lineNoCov"> 0 : fix.Protect( p );</span>
-<span class="lineNum"> 46 </span><span class="lineNoCov"> 0 : fix.Remove( p );</span>
-<span class="lineNum"> 47 </span><span class="lineNoCov"> 0 : dc.MarkDelete( p, a == Purge ? true : false );</span>
-<span class="lineNum"> 48 </span><span class="lineCov"> 2 : } else if ( a == Keep ) {</span>
-<span class="lineNum"> 49 </span><span class="lineCov"> 2 : fix.Clear( p );</span>
-<span class="lineNum"> 50 </span><span class="lineCov"> 2 : fix.Protect( p );</span>
-<span class="lineNum"> 51 </span><span class="lineCov"> 2 : dc.MarkKeep( p, true );</span>
-<span class="lineNum"> 52 </span> : }
-<span class="lineNum"> 53 </span><span class="lineCov"> 4 : fix.Resolve( true );</span>
-<span class="lineNum"> 54 </span> : }
-<span class="lineNum"> 55 </span> : }
-<span class="lineNum"> 56 </span> :
-<span class="lineNum"> 57 </span> : bool redundant( package::Source &amp;pkgs ) {
-<span class="lineNum"> 58 </span> : if ( m_type == SystemUpgrade ) {
-<span class="lineNum"> 59 </span> : // check whether we have any upgradable packages
-<span class="lineNum"> 60 </span> : return false;
-<span class="lineNum"> 61 </span> : }
-<span class="lineNum"> 62 </span> : if ( !pkgs.exists( m_token ) )
-<span class="lineNum"> 63 </span> : return true;
-<span class="lineNum"> 64 </span> : PackageState s = pkgs.db().packageState( m_token );
-<span class="lineNum"> 65 </span> : Type a = m_type;
-<span class="lineNum"> 66 </span> : // if ( a == Keep &amp;&amp; !s.upgradable() )
-<span class="lineNum"> 67 </span> : // return true;
-<span class="lineNum"> 68 </span> : if ( ( a == Install || a == ReInstall )
-<span class="lineNum"> 69 </span> : &amp;&amp; ( !s.upgradable() &amp;&amp; s.installed() ) )
-<span class="lineNum"> 70 </span> : return true;
-<span class="lineNum"> 71 </span> : if ( ( a == Remove || a == Purge ) &amp;&amp; !s.installed() )
-<span class="lineNum"> 72 </span> : return true;
-<span class="lineNum"> 73 </span> : return false;
-<span class="lineNum"> 74 </span> : }
-<span class="lineNum"> 75 </span> :
-<span class="lineNum"> 76 </span><span class="lineCov"> 6 : Action( Token t, Type a )</span>
-<span class="lineNum"> 77 </span><span class="lineCov"> 6 : : m_token( t ), m_type( a )</span>
-<span class="lineNum"> 78 </span><span class="lineCov"> 6 : {}</span>
-<span class="lineNum"> 79 </span> : };
-<span class="lineNum"> 80 </span> :
-<span class="lineNum"> 81 </span><span class="lineCov"> 2 : struct ActionList {</span>
-<span class="lineNum"> 82 </span> : typedef std::vector&lt; Action &gt; List;
-<span class="lineNum"> 83 </span> : List m_list;
-<span class="lineNum"> 84 </span> :
-<span class="lineNum"> 85 </span> : void clear() {
-<span class="lineNum"> 86 </span> : m_list.clear();
-<span class="lineNum"> 87 </span> : }
-<span class="lineNum"> 88 </span> :
-<span class="lineNum"> 89 </span><span class="lineCov"> 1 : bool empty() {</span>
-<span class="lineNum"> 90 </span><span class="lineCov"> 1 : return m_list.empty();</span>
-<span class="lineNum"> 91 </span> : }
-<span class="lineNum"> 92 </span> :
-<span class="lineNum"> 93 </span><span class="lineCov"> 3 : void add( Action a ) {</span>
-<span class="lineNum"> 94 </span><span class="lineCov"> 3 : List::iterator rm = m_list.end(), i;</span>
-<span class="lineNum"> 95 </span><span class="lineCov"> 3 : for ( i = m_list.begin(); i != m_list.end(); ++i ) {</span>
-<span class="lineNum"> 96 </span><span class="lineCov"> 2 : if ( i-&gt;token() == a.token() ) {</span>
-<span class="lineNum"> 97 </span><span class="lineCov"> 2 : rm = i;</span>
-<span class="lineNum"> 98 </span><span class="lineCov"> 2 : break;</span>
-<span class="lineNum"> 99 </span> : }
-<span class="lineNum"> 100 </span> : }
-<span class="lineNum"> 101 </span><span class="lineCov"> 3 : if ( rm != m_list.end() )</span>
-<span class="lineNum"> 102 </span><span class="lineCov"> 2 : m_list.erase( rm );</span>
-<span class="lineNum"> 103 </span> : // if ( a.type() != Action::Keep )
-<span class="lineNum"> 104 </span><span class="lineCov"> 3 : m_list.push_back( a );</span>
-<span class="lineNum"> 105 </span><span class="lineCov"> 3 : }</span>
-<span class="lineNum"> 106 </span> :
-<span class="lineNum"> 107 </span> : Action latest() {
-<span class="lineNum"> 108 </span> : return m_list.back();
-<span class="lineNum"> 109 </span> : }
-<span class="lineNum"> 110 </span> :
-<span class="lineNum"> 111 </span><span class="lineCov"> 1 : void replay( package::Source &amp;pkgs ) {</span>
-<span class="lineNum"> 112 </span><span class="lineCov"> 2 : for ( List::iterator i = m_list.begin(); i != m_list.end(); ++i ) {</span>
-<span class="lineNum"> 113 </span><span class="lineCov"> 1 : i-&gt;apply( pkgs );</span>
-<span class="lineNum"> 114 </span> : }
-<span class="lineNum"> 115 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 116 </span> :
-<span class="lineNum"> 117 </span> : void prune( package::Source &amp;pkgs ) {
-<span class="lineNum"> 118 </span> : List l;
-<span class="lineNum"> 119 </span> : std::swap( l, m_list );
-<span class="lineNum"> 120 </span> : for ( List::iterator i = m_list.begin(); i != m_list.end(); ++i ) {
-<span class="lineNum"> 121 </span> : if ( !i-&gt;redundant( pkgs ) )
-<span class="lineNum"> 122 </span> : m_list.push_back( *i );
-<span class="lineNum"> 123 </span> : }
-<span class="lineNum"> 124 </span> : /* We want to do but can't bind reference parameters.... (or
-<span class="lineNum"> 125 </span> : maybe use remove_copy_if or whatever ... ugly
-<span class="lineNum"> 126 </span> : std::remove_if( m_list.begin(), m_list.end(), std::bind2nd(
-<span class="lineNum"> 127 </span> : std::mem_fun_ref( &amp;Action::redundant ), pkgs ) ); */
-<span class="lineNum"> 128 </span> : }
-<span class="lineNum"> 129 </span> : };
-<span class="lineNum"> 130 </span> :
-<span class="lineNum"> 131 </span> : }
-<span class="lineNum"> 132 </span> : }
-<span class="lineNum"> 133 </span> : }
-<span class="lineNum"> 134 </span> :
-<span class="lineNum"> 135 </span> : #endif
-</pre>
- </td>
- </tr>
- </table>
- <br>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
- <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LTP GCOV extension version 1.6</a></td></tr>
- </table>
- <br>
-
-</body>
-</html>
diff --git a/rep/ept/core/apt/action.test.h.gcov.html b/rep/ept/core/apt/action.test.h.gcov.html
deleted file mode 100644
index 86e5fcc..0000000
--- a/rep/ept/core/apt/action.test.h.gcov.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>LCOV - lcov.info - ept/core/apt/action.test.h</title>
- <link rel="stylesheet" type="text/css" href="../../../gcov.css">
-</head>
-
-<body>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="title">LTP GCOV extension - code coverage report</td></tr>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
-
- <tr>
- <td width="100%">
- <table cellpadding=1 border=0 width="100%">
- <tr>
- <td class="headerItem" width="20%">Current&nbsp;view:</td>
- <td class="headerValue" width="80%" colspan=4><a href="../../../index.html">directory</a> - <a href="index.html">ept/core/apt</a> - action.test.h</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Test:</td>
- <td class="headerValue" width="80%" colspan=4>lcov.info</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Date:</td>
- <td class="headerValue" width="20%">2008-08-14</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Instrumented&nbsp;lines:</td>
- <td class="headerValue" width="20%">29</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Code&nbsp;covered:</td>
- <td class="headerValue" width="20%">100.0 %</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Executed&nbsp;lines:</td>
- <td class="headerValue" width="20%">29</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
-
- <table cellpadding=0 cellspacing=0 border=0>
- <tr>
- <td><br></td>
- </tr>
- <tr>
- <td><pre class="source">
-<span class="lineNum"> 1 </span> : // -*- C++ -*-
-<span class="lineNum"> 2 </span> : #include &lt;ept/core/apt/action.h&gt;
-<span class="lineNum"> 3 </span> : #include &lt;ept/test.h&gt;
-<span class="lineNum"> 4 </span> :
-<span class="lineNum"> 5 </span> : using namespace ept::core;
-<span class="lineNum"> 6 </span> :
-<span class="lineNum"> 7 </span> : struct TestAptAction : AptTestEnvironment
-<span class="lineNum"> 8 </span><span class="lineCov"> 3 : {</span>
-<span class="lineNum"> 9 </span> : package::Source pkgs;
-<span class="lineNum"> 10 </span><span class="lineCov"> 3 : TestAptAction() : pkgs( db ) {}</span>
-<span class="lineNum"> 11 </span> :
-<span class="lineNum"> 12 </span><span class="lineCov"> 1 : Test basic() {</span>
-<span class="lineNum"> 13 </span><span class="lineCov"> 1 : ept::Token t( &quot;sp&quot; );</span>
-<span class="lineNum"> 14 </span><span class="lineCov"> 2 : package::Action a( t, package::Action::Install );</span>
-<span class="lineNum"> 15 </span><span class="lineCov"> 1 : a.apply( pkgs );</span>
-<span class="lineNum"> 16 </span><span class="lineCov"> 1 : assert( pkgs.get&lt; package::State &gt;( t ).install() );</span>
-<span class="lineNum"> 17 </span><span class="lineCov"> 1 : a = package::Action( t, package::Action::Keep );</span>
-<span class="lineNum"> 18 </span><span class="lineCov"> 1 : a.apply( pkgs );</span>
-<span class="lineNum"> 19 </span><span class="lineCov"> 1 : assert( pkgs.get&lt; package::State &gt;( t ).keep() );</span>
-<span class="lineNum"> 20 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 21 </span> :
-<span class="lineNum"> 22 </span><span class="lineCov"> 1 : Test revert() {</span>
-<span class="lineNum"> 23 </span><span class="lineCov"> 1 : ept::Token t( &quot;sp&quot; );</span>
-<span class="lineNum"> 24 </span><span class="lineCov"> 2 : package::Action a( t, package::Action::Install );</span>
-<span class="lineNum"> 25 </span><span class="lineCov"> 1 : a.apply( pkgs );</span>
-<span class="lineNum"> 26 </span><span class="lineCov"> 1 : assert( pkgs.get&lt; package::State &gt;( t ).install() );</span>
-<span class="lineNum"> 27 </span><span class="lineCov"> 1 : pkgs.revertStates();</span>
-<span class="lineNum"> 28 </span><span class="lineCov"> 1 : assert( pkgs.get&lt; package::State &gt;( t ).keep() );</span>
-<span class="lineNum"> 29 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 30 </span> :
-<span class="lineNum"> 31 </span><span class="lineCov"> 1 : Test keep() {</span>
-<span class="lineNum"> 32 </span><span class="lineCov"> 1 : package::ActionList al;</span>
-<span class="lineNum"> 33 </span><span class="lineCov"> 1 : ept::Token t( &quot;sp&quot; );</span>
-<span class="lineNum"> 34 </span><span class="lineCov"> 2 : al.add( package::Action( t, package::Action::Install ) );</span>
-<span class="lineNum"> 35 </span><span class="lineCov"> 1 : assert( !al.empty() );</span>
-<span class="lineNum"> 36 </span><span class="lineCov"> 2 : al.add( package::Action( t, package::Action::Remove ) );</span>
-<span class="lineNum"> 37 </span><span class="lineCov"> 1 : al.add( package::Action( t, package::Action::Keep ) );</span>
-<span class="lineNum"> 38 </span><span class="lineCov"> 1 : al.replay( pkgs );</span>
-<span class="lineNum"> 39 </span><span class="lineCov"> 1 : assert( pkgs.get&lt; package::State &gt;( t ).keep() );</span>
-<span class="lineNum"> 40 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 41 </span> : };
-</pre>
- </td>
- </tr>
- </table>
- <br>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
- <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LTP GCOV extension version 1.6</a></td></tr>
- </table>
- <br>
-
-</body>
-</html>
diff --git a/rep/ept/core/apt/index.html b/rep/ept/core/apt/index.html
deleted file mode 100644
index ebae680..0000000
--- a/rep/ept/core/apt/index.html
+++ /dev/null
@@ -1,155 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>LCOV - lcov.info - ept/core/apt</title>
- <link rel="stylesheet" type="text/css" href="../../../gcov.css">
-</head>
-
-<body>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="title">LTP GCOV extension - code coverage report</td></tr>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
-
- <tr>
- <td width="100%">
- <table cellpadding=1 border=0 width="100%">
- <tr>
- <td class="headerItem" width="20%">Current&nbsp;view:</td>
- <td class="headerValue" width="80%" colspan=4><a href="../../../index.html">directory</a> - ept/core/apt</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Test:</td>
- <td class="headerValue" width="80%" colspan=4>lcov.info</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Date:</td>
- <td class="headerValue" width="20%">2008-08-14</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Instrumented&nbsp;lines:</td>
- <td class="headerValue" width="20%">334</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Code&nbsp;covered:</td>
- <td class="headerValue" width="20%">91.9 %</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Executed&nbsp;lines:</td>
- <td class="headerValue" width="20%">307</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
-
- <center>
- <table width="80%" cellpadding=2 cellspacing=1 border=0>
-
- <tr>
- <td width="50%"><br></td>
- <td width="15%"></td>
- <td width="15%"></td>
- <td width="20%"></td>
- </tr>
-
- <tr>
- <td class="tableHead">Filename</td>
- <td class="tableHead" colspan=3>Coverage</td>
- </tr>
-
- <tr>
- <td class="coverFile"><a href="action.h.gcov.html">action.h</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=85 height=10 alt="85.4%"><img src="../../../snow.png" width=15 height=10 alt="85.4%"></td></tr></table>
- </td>
- <td class="coverPerHi">85.4&nbsp;%</td>
- <td class="coverNumHi">41&nbsp;/&nbsp;48&nbsp;lines</td>
- </tr>
-
- <tr>
- <td class="coverFile"><a href="action.test.h.gcov.html">action.test.h</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
- </td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">29&nbsp;/&nbsp;29&nbsp;lines</td>
- </tr>
-
- <tr>
- <td class="coverFile"><a href="package.h.gcov.html">package.h</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=94 height=10 alt="93.9%"><img src="../../../snow.png" width=6 height=10 alt="93.9%"></td></tr></table>
- </td>
- <td class="coverPerHi">93.9&nbsp;%</td>
- <td class="coverNumHi">31&nbsp;/&nbsp;33&nbsp;lines</td>
- </tr>
-
- <tr>
- <td class="coverFile"><a href="record.cpp.gcov.html">record.cpp</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
- </td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">1&nbsp;/&nbsp;1&nbsp;lines</td>
- </tr>
-
- <tr>
- <td class="coverFile"><a href="record.h.gcov.html">record.h</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=86 height=10 alt="86.5%"><img src="../../../snow.png" width=14 height=10 alt="86.5%"></td></tr></table>
- </td>
- <td class="coverPerHi">86.5&nbsp;%</td>
- <td class="coverNumHi">83&nbsp;/&nbsp;96&nbsp;lines</td>
- </tr>
-
- <tr>
- <td class="coverFile"><a href="record.test.h.gcov.html">record.test.h</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
- </td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">29&nbsp;/&nbsp;29&nbsp;lines</td>
- </tr>
-
- <tr>
- <td class="coverFile"><a href="recordparser.cpp.gcov.html">recordparser.cpp</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=95 height=10 alt="95.2%"><img src="../../../snow.png" width=5 height=10 alt="95.2%"></td></tr></table>
- </td>
- <td class="coverPerHi">95.2&nbsp;%</td>
- <td class="coverNumHi">59&nbsp;/&nbsp;62&nbsp;lines</td>
- </tr>
-
- <tr>
- <td class="coverFile"><a href="recordparser.h.gcov.html">recordparser.h</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
- </td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">4&nbsp;/&nbsp;4&nbsp;lines</td>
- </tr>
-
- <tr>
- <td class="coverFile"><a href="version.h.gcov.html">version.h</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=94 height=10 alt="93.8%"><img src="../../../snow.png" width=6 height=10 alt="93.8%"></td></tr></table>
- </td>
- <td class="coverPerHi">93.8&nbsp;%</td>
- <td class="coverNumHi">30&nbsp;/&nbsp;32&nbsp;lines</td>
- </tr>
-
- </table>
- </center>
- <br>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
- <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php">LTP GCOV extension version 1.6</a></td></tr>
- </table>
- <br>
-
-</body>
-</html>
diff --git a/rep/ept/core/apt/package.h.gcov.html b/rep/ept/core/apt/package.h.gcov.html
deleted file mode 100644
index deea250..0000000
--- a/rep/ept/core/apt/package.h.gcov.html
+++ /dev/null
@@ -1,194 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>LCOV - lcov.info - ept/core/apt/package.h</title>
- <link rel="stylesheet" type="text/css" href="../../../gcov.css">
-</head>
-
-<body>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="title">LTP GCOV extension - code coverage report</td></tr>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
-
- <tr>
- <td width="100%">
- <table cellpadding=1 border=0 width="100%">
- <tr>
- <td class="headerItem" width="20%">Current&nbsp;view:</td>
- <td class="headerValue" width="80%" colspan=4><a href="../../../index.html">directory</a> - <a href="index.html">ept/core/apt</a> - package.h</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Test:</td>
- <td class="headerValue" width="80%" colspan=4>lcov.info</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Date:</td>
- <td class="headerValue" width="20%">2008-08-14</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Instrumented&nbsp;lines:</td>
- <td class="headerValue" width="20%">33</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Code&nbsp;covered:</td>
- <td class="headerValue" width="20%">93.9 %</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Executed&nbsp;lines:</td>
- <td class="headerValue" width="20%">31</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
-
- <table cellpadding=0 cellspacing=0 border=0>
- <tr>
- <td><br></td>
- </tr>
- <tr>
- <td><pre class="source">
-<span class="lineNum"> 1 </span> : // -*- C++ -*-
-<span class="lineNum"> 2 </span> :
-<span class="lineNum"> 3 </span> : #ifndef EPT_APT_PACKAGE_H
-<span class="lineNum"> 4 </span> : #define EPT_APT_PACKAGE_H
-<span class="lineNum"> 5 </span> :
-<span class="lineNum"> 6 </span> : namespace ept {
-<span class="lineNum"> 7 </span> : namespace core {
-<span class="lineNum"> 8 </span> : namespace package {
-<span class="lineNum"> 9 </span> :
-<span class="lineNum"> 10 </span> : struct Setup {
-<span class="lineNum"> 11 </span> : typedef ept::Token Token;
-<span class="lineNum"> 12 </span> : typedef package::Internal Internal;
-<span class="lineNum"> 13 </span> : typedef package::PropertyId PropertyId;
-<span class="lineNum"> 14 </span> : typedef package::InternalList InternalList;
-<span class="lineNum"> 15 </span> : };
-<span class="lineNum"> 16 </span> :
-<span class="lineNum"> 17 </span> : template&lt;&gt; struct PropertyType&lt; Name &gt; { typedef std::string T; };
-<span class="lineNum"> 18 </span> : template&lt;&gt; struct PropertyType&lt; Versions &gt; { typedef VersionList T; };
-<span class="lineNum"> 19 </span> : template&lt;&gt; struct PropertyType&lt; AnyVersion &gt; { typedef Token T; };
-<span class="lineNum"> 20 </span> : template&lt;&gt; struct PropertyType&lt; State &gt; { typedef PackageState T; };
-<span class="lineNum"> 21 </span> : template&lt;&gt; struct PropertyType&lt; CandidateVersion &gt; { typedef Token T; };
-<span class="lineNum"> 22 </span> : template&lt;&gt; struct PropertyType&lt; InstalledVersion &gt; { typedef Token T; };
-<span class="lineNum"> 23 </span> :
-<span class="lineNum"> 24 </span> : struct Source : core::Source&lt; Source, Setup, PropertyType &gt;
-<span class="lineNum"> 25 </span><span class="lineCov"> 15 : {</span>
-<span class="lineNum"> 26 </span> : AptDatabase &amp;m_db;
-<span class="lineNum"> 27 </span> :
-<span class="lineNum"> 28 </span><span class="lineCov"> 15 : Source( AptDatabase &amp;db ) : m_db( db ) {}</span>
-<span class="lineNum"> 29 </span> :
-<span class="lineNum"> 30 </span><span class="lineCov"> 3 : InternalList listInternal() {</span>
-<span class="lineNum"> 31 </span><span class="lineCov"> 3 : return InternalList( m_db.cache().PkgBegin() );</span>
-<span class="lineNum"> 32 </span> : }
-<span class="lineNum"> 33 </span> :
-<span class="lineNum"> 34 </span><span class="lineCov"> 17 : Internal lookupToken( Token t ) {</span>
-<span class="lineNum"> 35 </span><span class="lineCov"> 17 : return m_db.lookupPackage( t );</span>
-<span class="lineNum"> 36 </span> : }
-<span class="lineNum"> 37 </span> :
-<span class="lineNum"> 38 </span><span class="lineCov"> 3777 : Token getToken( Internal i ) {</span>
-<span class="lineNum"> 39 </span><span class="lineCov"> 3777 : Token t;</span>
-<span class="lineNum"> 40 </span><span class="lineCov"> 3777 : t._id = i.Name();</span>
-<span class="lineNum"> 41 </span><span class="lineNoCov"> 0 : return t;</span>
-<span class="lineNum"> 42 </span> : }
-<span class="lineNum"> 43 </span> :
-<span class="lineNum"> 44 </span><span class="lineCov"> 8 : bool exists( Token t ) {</span>
-<span class="lineNum"> 45 </span><span class="lineCov"> 8 : if ( t.hasVersion() )</span>
-<span class="lineNum"> 46 </span><span class="lineNoCov"> 0 : return !m_db.lookupVersion( t ).end();</span>
-<span class="lineNum"> 47 </span> : else
-<span class="lineNum"> 48 </span><span class="lineCov"> 8 : return !lookupToken( t ).end();</span>
-<span class="lineNum"> 49 </span> : }
-<span class="lineNum"> 50 </span> :
-<span class="lineNum"> 51 </span> : Token versionToken( pkgCache::VerIterator vi ) {
-<span class="lineNum"> 52 </span> : if ( vi.end() )
-<span class="lineNum"> 53 </span> : return Token();
-<span class="lineNum"> 54 </span> : return Token( std::string( vi.ParentPkg().Name() ) + &quot;_&quot; + vi.VerStr() );
-<span class="lineNum"> 55 </span> : }
-<span class="lineNum"> 56 </span> :
-<span class="lineNum"> 57 </span> : template&lt; PropertyId p &gt;
-<span class="lineNum"> 58 </span> : typename PropertyType&lt; p &gt;::T getInternal( Internal );
-<span class="lineNum"> 59 </span> :
-<span class="lineNum"> 60 </span> : template&lt; typename List &gt;
-<span class="lineNum"> 61 </span><span class="lineCov"> 1 : void revertState( List l ) {</span>
-<span class="lineNum"> 62 </span><span class="lineCov"> 3779 : while ( !l.empty() ) {</span>
-<span class="lineNum"> 63 </span><span class="lineCov"> 3777 : PackageState s = getInternal&lt; State &gt;( l.head() );</span>
-<span class="lineNum"> 64 </span><span class="lineCov"> 3777 : if ( !s.keep() || s.purge() ) {</span>
-<span class="lineNum"> 65 </span><span class="lineCov"> 2 : pkgDepCache::StateCache &amp;S = db().state()[ l.head() ];</span>
-<span class="lineNum"> 66 </span><span class="lineCov"> 2 : db().state().MarkKeep( l.head(), false, false );</span>
-<span class="lineNum"> 67 </span><span class="lineCov"> 2 : S.iFlags &amp;= ~pkgDepCache::Purge;</span>
-<span class="lineNum"> 68 </span><span class="lineCov"> 2 : S.iFlags &amp;= ~pkgDepCache::ReInstall;</span>
-<span class="lineNum"> 69 </span> : }
-<span class="lineNum"> 70 </span><span class="lineCov"> 3777 : l = l.tail();</span>
-<span class="lineNum"> 71 </span> : }
-<span class="lineNum"> 72 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 73 </span> :
-<span class="lineNum"> 74 </span><span class="lineCov"> 1 : void revertStates() {</span>
-<span class="lineNum"> 75 </span><span class="lineCov"> 1 : pkgDepCache::ActionGroup group( db().state() );</span>
-<span class="lineNum"> 76 </span><span class="lineCov"> 1 : revertState( listInternal() );</span>
-<span class="lineNum"> 77 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 78 </span> :
-<span class="lineNum"> 79 </span> : typedef ComposedList&lt; State &gt; ChangeList;
-<span class="lineNum"> 80 </span> :
-<span class="lineNum"> 81 </span> : static bool isChanged( Token t, PackageState s );
-<span class="lineNum"> 82 </span> : static bool isUpgradable( Token t, PackageState s );
-<span class="lineNum"> 83 </span> :
-<span class="lineNum"> 84 </span> : PropertyFilter&lt; State, __typeof( &amp;isChanged ) &gt;::T changedList() {
-<span class="lineNum"> 85 </span> : return propertyFilter&lt; State &gt;( isChanged );
-<span class="lineNum"> 86 </span> : }
-<span class="lineNum"> 87 </span> :
-<span class="lineNum"> 88 </span> : PropertyFilter&lt; State, __typeof( &amp;isUpgradable ) &gt;::T upgradableList() {
-<span class="lineNum"> 89 </span> : return propertyFilter&lt; State &gt;( isUpgradable );
-<span class="lineNum"> 90 </span> : }
-<span class="lineNum"> 91 </span> :
-<span class="lineNum"> 92 </span><span class="lineCov"> 9 : AptDatabase &amp;db() { return m_db; }</span>
-<span class="lineNum"> 93 </span> : };
-<span class="lineNum"> 94 </span> :
-<span class="lineNum"> 95 </span><span class="lineCov"> 3778 : template&lt;&gt; inline std::string Source::getInternal&lt; Name &gt;( Internal i ) {</span>
-<span class="lineNum"> 96 </span><span class="lineCov"> 3778 : return i.Name();</span>
-<span class="lineNum"> 97 </span> : }
-<span class="lineNum"> 98 </span> :
-<span class="lineNum"> 99 </span><span class="lineCov"> 3783 : template&lt;&gt; inline PackageState Source::getInternal&lt; State &gt;( Internal i ) {</span>
-<span class="lineNum"> 100 </span><span class="lineCov"> 3783 : return m_db.packageState( i );</span>
-<span class="lineNum"> 101 </span> : }
-<span class="lineNum"> 102 </span> :
-<span class="lineNum"> 103 </span> : template&lt;&gt; inline Token Source::getInternal&lt; CandidateVersion &gt;( Internal i ) {
-<span class="lineNum"> 104 </span> : return versionToken( m_db.candidateVersion( i ) );
-<span class="lineNum"> 105 </span> : }
-<span class="lineNum"> 106 </span> :
-<span class="lineNum"> 107 </span> : template&lt;&gt; inline Token Source::getInternal&lt; AnyVersion &gt;( Internal i ) {
-<span class="lineNum"> 108 </span> : return versionToken( m_db.candidateVersion( i ) );
-<span class="lineNum"> 109 </span> : }
-<span class="lineNum"> 110 </span> :
-<span class="lineNum"> 111 </span> : template&lt;&gt; inline Token Source::getInternal&lt; InstalledVersion &gt;( Internal i ) {
-<span class="lineNum"> 112 </span> : return versionToken( m_db.installedVersion( i ) );
-<span class="lineNum"> 113 </span> : }
-<span class="lineNum"> 114 </span> :
-<span class="lineNum"> 115 </span> : inline bool Source::isChanged( Token, PackageState s ) {
-<span class="lineNum"> 116 </span> : return s.modify();
-<span class="lineNum"> 117 </span> : }
-<span class="lineNum"> 118 </span> :
-<span class="lineNum"> 119 </span> : inline bool Source::isUpgradable( Token, PackageState s ) {
-<span class="lineNum"> 120 </span> : return s.upgradable();
-<span class="lineNum"> 121 </span> : }
-<span class="lineNum"> 122 </span> :
-<span class="lineNum"> 123 </span> : }
-<span class="lineNum"> 124 </span> : }
-<span class="lineNum"> 125 </span> : }
-<span class="lineNum"> 126 </span> :
-<span class="lineNum"> 127 </span> : #endif
-</pre>
- </td>
- </tr>
- </table>
- <br>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
- <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LTP GCOV extension version 1.6</a></td></tr>
- </table>
- <br>
-
-</body>
-</html>
diff --git a/rep/ept/core/apt/record.cpp.gcov.html b/rep/ept/core/apt/record.cpp.gcov.html
deleted file mode 100644
index 453b7a7..0000000
--- a/rep/ept/core/apt/record.cpp.gcov.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>LCOV - lcov.info - ept/core/apt/record.cpp</title>
- <link rel="stylesheet" type="text/css" href="../../../gcov.css">
-</head>
-
-<body>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="title">LTP GCOV extension - code coverage report</td></tr>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
-
- <tr>
- <td width="100%">
- <table cellpadding=1 border=0 width="100%">
- <tr>
- <td class="headerItem" width="20%">Current&nbsp;view:</td>
- <td class="headerValue" width="80%" colspan=4><a href="../../../index.html">directory</a> - <a href="index.html">ept/core/apt</a> - record.cpp</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Test:</td>
- <td class="headerValue" width="80%" colspan=4>lcov.info</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Date:</td>
- <td class="headerValue" width="20%">2008-08-14</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Instrumented&nbsp;lines:</td>
- <td class="headerValue" width="20%">1</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Code&nbsp;covered:</td>
- <td class="headerValue" width="20%">100.0 %</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Executed&nbsp;lines:</td>
- <td class="headerValue" width="20%">1</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
-
- <table cellpadding=0 cellspacing=0 border=0>
- <tr>
- <td><br></td>
- </tr>
- <tr>
- <td><pre class="source">
-<span class="lineNum"> 1 </span> : #include &lt;ept/core/apt.h&gt;
-<span class="lineNum"> 2 </span> :
-<span class="lineNum"> 3 </span> : namespace ept {
-<span class="lineNum"> 4 </span> : namespace core {
-<span class="lineNum"> 5 </span> : namespace record {
-<span class="lineNum"> 6 </span> :
-<span class="lineNum"> 7 </span> : // needs to be kept in sync with record::PropertyId, see apt.h
-<span class="lineNum"> 8 </span> : const char *fields[] = {
-<span class="lineNum"> 9 </span> : &quot;&quot;, &quot;Package&quot;, &quot;Priority&quot;, &quot;Section&quot;, &quot;Installed-Size&quot;,
-<span class="lineNum"> 10 </span> : &quot;Maintainer&quot;, &quot;Architecture&quot;, &quot;Source&quot;, &quot;Version&quot;,
-<span class="lineNum"> 11 </span> : &quot;Description&quot;, &quot;&quot;, &quot;&quot;, &quot;Size&quot;
-<span class="lineNum"> 12 </span> : };
-<span class="lineNum"> 13 </span> :
-<span class="lineNum"> 14 </span> : }
-<span class="lineNum"> 15 </span> : }
-<span class="lineNum"> 16 </span><span class="lineCov"> 3 : }</span>
-</pre>
- </td>
- </tr>
- </table>
- <br>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
- <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LTP GCOV extension version 1.6</a></td></tr>
- </table>
- <br>
-
-</body>
-</html>
diff --git a/rep/ept/core/apt/record.h.gcov.html b/rep/ept/core/apt/record.h.gcov.html
deleted file mode 100644
index 4e0e3a4..0000000
--- a/rep/ept/core/apt/record.h.gcov.html
+++ /dev/null
@@ -1,355 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>LCOV - lcov.info - ept/core/apt/record.h</title>
- <link rel="stylesheet" type="text/css" href="../../../gcov.css">
-</head>
-
-<body>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="title">LTP GCOV extension - code coverage report</td></tr>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
-
- <tr>
- <td width="100%">
- <table cellpadding=1 border=0 width="100%">
- <tr>
- <td class="headerItem" width="20%">Current&nbsp;view:</td>
- <td class="headerValue" width="80%" colspan=4><a href="../../../index.html">directory</a> - <a href="index.html">ept/core/apt</a> - record.h</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Test:</td>
- <td class="headerValue" width="80%" colspan=4>lcov.info</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Date:</td>
- <td class="headerValue" width="20%">2008-08-14</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Instrumented&nbsp;lines:</td>
- <td class="headerValue" width="20%">96</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Code&nbsp;covered:</td>
- <td class="headerValue" width="20%">86.5 %</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Executed&nbsp;lines:</td>
- <td class="headerValue" width="20%">83</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
-
- <table cellpadding=0 cellspacing=0 border=0>
- <tr>
- <td><br></td>
- </tr>
- <tr>
- <td><pre class="source">
-<span class="lineNum"> 1 </span> : // -*- C++ -*-
-<span class="lineNum"> 2 </span> :
-<span class="lineNum"> 3 </span> : #include &lt;ept/core/apt/recordparser.h&gt;
-<span class="lineNum"> 4 </span> :
-<span class="lineNum"> 5 </span> : #ifndef EPT_APT_RECORD_H
-<span class="lineNum"> 6 </span> : #define EPT_APT_RECORD_H
-<span class="lineNum"> 7 </span> :
-<span class="lineNum"> 8 </span> : namespace ept {
-<span class="lineNum"> 9 </span> : namespace core {
-<span class="lineNum"> 10 </span> : namespace record {
-<span class="lineNum"> 11 </span> :
-<span class="lineNum"> 12 </span> : struct Source;
-<span class="lineNum"> 13 </span> :
-<span class="lineNum"> 14 </span> : struct InternalList {
-<span class="lineNum"> 15 </span> : Source *m_source;
-<span class="lineNum"> 16 </span> : size_t m_idx;
-<span class="lineNum"> 17 </span> :
-<span class="lineNum"> 18 </span> : Internal head();
-<span class="lineNum"> 19 </span> : const Internal head() const;
-<span class="lineNum"> 20 </span> : bool empty() const;
-<span class="lineNum"> 21 </span> :
-<span class="lineNum"> 22 </span><span class="lineCov"> 870 : InternalList tail() const {</span>
-<span class="lineNum"> 23 </span><span class="lineCov"> 870 : InternalList t = *this;</span>
-<span class="lineNum"> 24 </span><span class="lineCov"> 870 : ++ t.m_idx;</span>
-<span class="lineNum"> 25 </span> : return t;
-<span class="lineNum"> 26 </span> : }
-<span class="lineNum"> 27 </span> :
-<span class="lineNum"> 28 </span><span class="lineCov"> 2 : InternalList( Source &amp;s )</span>
-<span class="lineNum"> 29 </span><span class="lineCov"> 2 : : m_source( &amp;s ), m_idx( 0 )</span>
-<span class="lineNum"> 30 </span><span class="lineCov"> 2 : {}</span>
-<span class="lineNum"> 31 </span> : };
-<span class="lineNum"> 32 </span> :
-<span class="lineNum"> 33 </span> : struct Setup {
-<span class="lineNum"> 34 </span> : typedef ept::Token Token;
-<span class="lineNum"> 35 </span> : typedef record::Internal Internal;
-<span class="lineNum"> 36 </span> : typedef record::PropertyId PropertyId;
-<span class="lineNum"> 37 </span> : typedef record::InternalList InternalList;
-<span class="lineNum"> 38 </span> : };
-<span class="lineNum"> 39 </span> :
-<span class="lineNum"> 40 </span> : template&lt;&gt; struct PropertyType&lt; InstalledSize &gt; { typedef int T; };
-<span class="lineNum"> 41 </span> : template&lt;&gt; struct PropertyType&lt; PackageSize &gt; { typedef int T; };
-<span class="lineNum"> 42 </span> :
-<span class="lineNum"> 43 </span> : struct Parser: RecordParser
-<span class="lineNum"> 44 </span><span class="lineCov"> 1310 : {</span>
-<span class="lineNum"> 45 </span> : bool parseBool(bool&amp; def, const std::string&amp; str) const
-<span class="lineNum"> 46 </span> : {
-<span class="lineNum"> 47 </span> : // Believe it or not, this is what apt does to interpret bool fields
-<span class="lineNum"> 48 </span> : if (str == &quot;no&quot; || str == &quot;false&quot; || str == &quot;without&quot; ||
-<span class="lineNum"> 49 </span> : str == &quot;off&quot; || str == &quot;disable&quot;)
-<span class="lineNum"> 50 </span> : return false;
-<span class="lineNum"> 51 </span> :
-<span class="lineNum"> 52 </span> : if (str == &quot;yes&quot; || str == &quot;true&quot; || str == &quot;with&quot; ||
-<span class="lineNum"> 53 </span> : str == &quot;on&quot; || str == &quot;enable&quot;)
-<span class="lineNum"> 54 </span> : return true;
-<span class="lineNum"> 55 </span> :
-<span class="lineNum"> 56 </span> : return def;
-<span class="lineNum"> 57 </span> : }
-<span class="lineNum"> 58 </span> :
-<span class="lineNum"> 59 </span> : public:
-<span class="lineNum"> 60 </span> : Parser() : RecordParser() {}
-<span class="lineNum"> 61 </span><span class="lineCov"> 1310 : Parser(const std::string&amp; str) : RecordParser(str) {}</span>
-<span class="lineNum"> 62 </span> :
-<span class="lineNum"> 63 </span> : template&lt; PropertyId p &gt;
-<span class="lineNum"> 64 </span> : typename PropertyType&lt; p &gt;::T parse( typename PropertyType&lt; p &gt;::T def,
-<span class="lineNum"> 65 </span> : std::string data );
-<span class="lineNum"> 66 </span> :
-<span class="lineNum"> 67 </span> : template&lt; typename T &gt;
-<span class="lineNum"> 68 </span> : struct Default {
-<span class="lineNum"> 69 </span> : static T def;
-<span class="lineNum"> 70 </span> : };
-<span class="lineNum"> 71 </span> :
-<span class="lineNum"> 72 </span> : template&lt; typename T &gt; T parse( const T &amp;def,
-<span class="lineNum"> 73 </span> : const std::string &amp;field ) const;
-<span class="lineNum"> 74 </span> :
-<span class="lineNum"> 75 </span> : template&lt; PropertyId p &gt;
-<span class="lineNum"> 76 </span> : typename PropertyType&lt; p &gt;::T get(
-<span class="lineNum"> 77 </span> : const typename PropertyType&lt; p &gt;::T &amp;def
-<span class="lineNum"> 78 </span><span class="lineCov"> 1308 : = Default&lt; typename PropertyType&lt; p &gt;::T &gt;::def ) const</span>
-<span class="lineNum"> 79 </span> : {
-<span class="lineNum"> 80 </span> : return parse&lt; typename PropertyType&lt; p &gt;::T &gt;( def,
-<span class="lineNum"> 81 </span><span class="lineCov"> 1308 : lookup( fields[ p ] ) );</span>
-<span class="lineNum"> 82 </span> : }
-<span class="lineNum"> 83 </span> :
-<span class="lineNum"> 84 </span> : };
-<span class="lineNum"> 85 </span> :
-<span class="lineNum"> 86 </span><span class="lineCov"> 25 : template&lt; typename T &gt; T Parser::Default&lt; T &gt;::def = T();</span>
-<span class="lineNum"> 87 </span> :
-<span class="lineNum"> 88 </span> : template&lt;&gt; inline std::string Parser::get&lt; ShortDescription &gt;(
-<span class="lineNum"> 89 </span><span class="lineCov"> 2 : const std::string&amp; def ) const</span>
-<span class="lineNum"> 90 </span> : {
-<span class="lineNum"> 91 </span><span class="lineCov"> 2 : std::string str = lookup( fields[ Description ] );</span>
-<span class="lineNum"> 92 </span><span class="lineCov"> 4 : if (str == std::string())</span>
-<span class="lineNum"> 93 </span><span class="lineCov"> 1 : return def;</span>
-<span class="lineNum"> 94 </span><span class="lineCov"> 1 : size_t pos = str.find(&quot;\n&quot;);</span>
-<span class="lineNum"> 95 </span><span class="lineCov"> 1 : if (pos == std::string::npos)</span>
-<span class="lineNum"> 96 </span><span class="lineNoCov"> 0 : return str;</span>
-<span class="lineNum"> 97 </span> : else
-<span class="lineNum"> 98 </span><span class="lineCov"> 1 : return str.substr(0, pos);</span>
-<span class="lineNum"> 99 </span> : }
-<span class="lineNum"> 100 </span> :
-<span class="lineNum"> 101 </span> : template&lt;&gt; inline std::string Parser::get&lt; LongDescription &gt;(
-<span class="lineNum"> 102 </span> : const std::string&amp; def ) const
-<span class="lineNum"> 103 </span> : {
-<span class="lineNum"> 104 </span> : std::string str = lookup( fields[ Description ] );
-<span class="lineNum"> 105 </span> : if (str == std::string())
-<span class="lineNum"> 106 </span> : return def;
-<span class="lineNum"> 107 </span> : size_t pos = str.find(&quot;\n&quot;);
-<span class="lineNum"> 108 </span> : if (pos == std::string::npos)
-<span class="lineNum"> 109 </span> : return str;
-<span class="lineNum"> 110 </span> : else
-<span class="lineNum"> 111 </span> : {
-<span class="lineNum"> 112 </span> : // Trim trailing spaces
-<span class="lineNum"> 113 </span> : for (++pos; pos &lt; str.size() &amp;&amp; isspace(str[pos]); ++pos)
-<span class="lineNum"> 114 </span> : ;
-<span class="lineNum"> 115 </span> : return str.substr(pos);
-<span class="lineNum"> 116 </span> : }
-<span class="lineNum"> 117 </span> : }
-<span class="lineNum"> 118 </span> :
-<span class="lineNum"> 119 </span> : template&lt;&gt; inline std::string Parser::parse&lt; std::string &gt;(
-<span class="lineNum"> 120 </span><span class="lineCov"> 1307 : const std::string&amp; def, const std::string&amp; str) const</span>
-<span class="lineNum"> 121 </span> : {
-<span class="lineNum"> 122 </span><span class="lineCov"> 1307 : if (str == std::string())</span>
-<span class="lineNum"> 123 </span><span class="lineNoCov"> 0 : return def;</span>
-<span class="lineNum"> 124 </span><span class="lineCov"> 1307 : return str;</span>
-<span class="lineNum"> 125 </span> : }
-<span class="lineNum"> 126 </span> :
-<span class="lineNum"> 127 </span> : template&lt;&gt; inline int Parser::parse&lt; int &gt;(
-<span class="lineNum"> 128 </span><span class="lineCov"> 1 : const int&amp; def, const std::string&amp; str) const</span>
-<span class="lineNum"> 129 </span> : {
-<span class="lineNum"> 130 </span><span class="lineCov"> 1 : if (str == string())</span>
-<span class="lineNum"> 131 </span><span class="lineNoCov"> 0 : return def;</span>
-<span class="lineNum"> 132 </span><span class="lineCov"> 1 : return (size_t)strtoul(str.c_str(), NULL, 10);</span>
-<span class="lineNum"> 133 </span> : }
-<span class="lineNum"> 134 </span> :
-<span class="lineNum"> 135 </span> : struct Source : core::Source&lt; Source, Setup, PropertyType &gt;
-<span class="lineNum"> 136 </span><span class="lineCov"> 6 : {</span>
-<span class="lineNum"> 137 </span> : AptDatabase &amp;m_db;
-<span class="lineNum"> 138 </span> :
-<span class="lineNum"> 139 </span> : /* caching */
-<span class="lineNum"> 140 </span> : pkgCache::PkgFileIterator lastFile;
-<span class="lineNum"> 141 </span> : FileFd file;
-<span class="lineNum"> 142 </span> : size_t lastOffset;
-<span class="lineNum"> 143 </span> :
-<span class="lineNum"> 144 </span> : /* in-order retrieval of records, for InternalList */
-<span class="lineNum"> 145 </span> : typedef vector&lt; pkgCache::VerFile * &gt; VfList;
-<span class="lineNum"> 146 </span> : VfList m_vflist;
-<span class="lineNum"> 147 </span> :
-<span class="lineNum"> 148 </span><span class="lineCov"> 1742 : VfList &amp;vfList() {</span>
-<span class="lineNum"> 149 </span><span class="lineCov"> 1742 : if ( m_vflist.size() &gt; 0 )</span>
-<span class="lineNum"> 150 </span><span class="lineCov"> 1741 : return m_vflist;</span>
-<span class="lineNum"> 151 </span> :
-<span class="lineNum"> 152 </span><span class="lineCov"> 1 : m_vflist.reserve(m_db.cache().HeaderP-&gt;PackageCount + 1);</span>
-<span class="lineNum"> 153 </span> :
-<span class="lineNum"> 154 </span> : // Populate the vector of versions to print
-<span class="lineNum"> 155 </span><span class="lineCov"> 3778 : for (pkgCache::PkgIterator pi = m_db.cache().PkgBegin(); !pi.end(); ++pi)</span>
-<span class="lineNum"> 156 </span> : {
-<span class="lineNum"> 157 </span><span class="lineCov"> 3777 : if (pi-&gt;VersionList == 0)</span>
-<span class="lineNum"> 158 </span><span class="lineCov"> 1989 : continue;</span>
-<span class="lineNum"> 159 </span> :
-<span class="lineNum"> 160 </span><span class="lineCov"> 3596 : for( pkgCache::VerIterator vi = pi.VersionList(); !vi.end(); ++vi ) {</span>
-<span class="lineNum"> 161 </span> :
-<span class="lineNum"> 162 </span> : // Choose a valid file that contains the record for this version
-<span class="lineNum"> 163 </span><span class="lineCov"> 1808 : pkgCache::VerFileIterator vfi = vi.FileList();</span>
-<span class="lineNum"> 164 </span><span class="lineCov"> 3181 : for ( ; !vfi.end(); ++vfi )</span>
-<span class="lineNum"> 165 </span><span class="lineCov"> 1808 : if ((vfi.File()-&gt;Flags &amp; pkgCache::Flag::NotSource) == 0)</span>
-<span class="lineNum"> 166 </span><span class="lineCov"> 435 : break;</span>
-<span class="lineNum"> 167 </span> :
-<span class="lineNum"> 168 </span><span class="lineCov"> 1808 : if ( !vfi.end() )</span>
-<span class="lineNum"> 169 </span><span class="lineCov"> 435 : m_vflist.push_back( vfi );</span>
-<span class="lineNum"> 170 </span> : }
-<span class="lineNum"> 171 </span> : }
-<span class="lineNum"> 172 </span> :
-<span class="lineNum"> 173 </span><span class="lineCov"> 1 : sort(m_vflist.begin(), m_vflist.end(), localityCompare);</span>
-<span class="lineNum"> 174 </span><span class="lineCov"> 1 : return m_vflist;</span>
-<span class="lineNum"> 175 </span> : }
-<span class="lineNum"> 176 </span> :
-<span class="lineNum"> 177 </span><span class="lineCov"> 6 : Source( AptDatabase &amp;db ) : m_db( db ) {}</span>
-<span class="lineNum"> 178 </span> :
-<span class="lineNum"> 179 </span><span class="lineCov"> 2 : InternalList listInternal() {</span>
-<span class="lineNum"> 180 </span><span class="lineCov"> 2 : return InternalList( *this );</span>
-<span class="lineNum"> 181 </span> : }
-<span class="lineNum"> 182 </span> :
-<span class="lineNum"> 183 </span><span class="lineCov"> 5 : Internal lookupToken( Token t ) {</span>
-<span class="lineNum"> 184 </span><span class="lineCov"> 5 : return m_db.lookupVersionFile( m_db.lookupVersion( t ) );</span>
-<span class="lineNum"> 185 </span> : }
-<span class="lineNum"> 186 </span> :
-<span class="lineNum"> 187 </span> : // Sort a version list by package file locality
-<span class="lineNum"> 188 </span> : static bool localityCompare(const pkgCache::VerFile* a,
-<span class="lineNum"> 189 </span><span class="lineCov"> 4371 : const pkgCache::VerFile* b)</span>
-<span class="lineNum"> 190 </span> : {
-<span class="lineNum"> 191 </span><span class="lineCov"> 4371 : if (a == 0 &amp;&amp; b == 0)</span>
-<span class="lineNum"> 192 </span><span class="lineNoCov"> 0 : return false;</span>
-<span class="lineNum"> 193 </span><span class="lineCov"> 4371 : if (a == 0)</span>
-<span class="lineNum"> 194 </span><span class="lineNoCov"> 0 : return true;</span>
-<span class="lineNum"> 195 </span><span class="lineCov"> 4371 : if (b == 0)</span>
-<span class="lineNum"> 196 </span><span class="lineNoCov"> 0 : return false;</span>
-<span class="lineNum"> 197 </span> :
-<span class="lineNum"> 198 </span><span class="lineCov"> 4371 : if (a-&gt;File == b-&gt;File)</span>
-<span class="lineNum"> 199 </span><span class="lineCov"> 4371 : return a-&gt;Offset &lt; b-&gt;Offset;</span>
-<span class="lineNum"> 200 </span><span class="lineNoCov"> 0 : return a-&gt;File &lt; b-&gt;File;</span>
-<span class="lineNum"> 201 </span> : }
-<span class="lineNum"> 202 </span> :
-<span class="lineNum"> 203 </span> : void invalidate() {
-<span class="lineNum"> 204 </span> : core::Source&lt; Source, Setup, PropertyType &gt;::invalidate();
-<span class="lineNum"> 205 </span> : lastFile = pkgCache::PkgFileIterator();
-<span class="lineNum"> 206 </span> : }
-<span class="lineNum"> 207 </span> :
-<span class="lineNum"> 208 </span><span class="lineCov"> 1311 : std::string getRecord( Internal vfi ) {</span>
-<span class="lineNum"> 209 </span><span class="lineCov"> 1311 : if ( vfi.Cache() == 0 || vfi.end() )</span>
-<span class="lineNum"> 210 </span><span class="lineCov"> 1 : return &quot;&quot;;</span>
-<span class="lineNum"> 211 </span> :
-<span class="lineNum"> 212 </span><span class="lineCov"> 1310 : if ((lastFile.Cache() == 0)</span>
-<span class="lineNum"> 213 </span> : || vfi-&gt;File + m_db.cache().PkgFileP != lastFile)
-<span class="lineNum"> 214 </span> : {
-<span class="lineNum"> 215 </span> : lastFile = pkgCache::PkgFileIterator(
-<span class="lineNum"> 216 </span><span class="lineCov"> 5 : m_db.cache(), vfi-&gt;File + m_db.cache().PkgFileP);</span>
-<span class="lineNum"> 217 </span><span class="lineCov"> 5 : if (!lastFile.IsOk())</span>
-<span class="lineNum"> 218 </span> : throw wibble::exception::System(
-<span class="lineNum"> 219 </span> : std::string(&quot;Reading the&quot;
-<span class="lineNum"> 220 </span> : &quot; data record for a package from file &quot;)
-<span class="lineNum"> 221 </span><span class="lineNoCov"> 0 : + lastFile.FileName() );</span>
-<span class="lineNum"> 222 </span><span class="lineCov"> 5 : if (file.IsOpen())</span>
-<span class="lineNum"> 223 </span><span class="lineNoCov"> 0 : file.Close();</span>
-<span class="lineNum"> 224 </span><span class="lineCov"> 5 : if (!file.Open(lastFile.FileName(), FileFd::ReadOnly))</span>
-<span class="lineNum"> 225 </span> : throw wibble::exception::System( std::string(&quot;Opening file &quot;)
-<span class="lineNum"> 226 </span><span class="lineNoCov"> 0 : + lastFile.FileName() );</span>
-<span class="lineNum"> 227 </span><span class="lineCov"> 5 : lastOffset = 0;</span>
-<span class="lineNum"> 228 </span> : }
-<span class="lineNum"> 229 </span> :
-<span class="lineNum"> 230 </span> : // If we start near were we ended, avoid a seek
-<span class="lineNum"> 231 </span> : // and enlarge the read a bit
-<span class="lineNum"> 232 </span><span class="lineCov"> 1310 : size_t slack = vfi-&gt;Offset - lastOffset;</span>
-<span class="lineNum"> 233 </span><span class="lineCov"> 1310 : if ( slack &gt; 128 ) // mornfall: was 8, making it 128</span>
-<span class="lineNum"> 234 </span> : {
-<span class="lineNum"> 235 </span><span class="lineCov"> 871 : slack = 0;</span>
-<span class="lineNum"> 236 </span><span class="lineCov"> 871 : if ( !file.Seek( vfi-&gt;Offset ) )</span>
-<span class="lineNum"> 237 </span> : throw wibble::exception::System(
-<span class="lineNum"> 238 </span> : std::string(&quot;Cannot seek to package record in file &quot;)
-<span class="lineNum"> 239 </span><span class="lineNoCov"> 0 : + lastFile.FileName() );</span>
-<span class="lineNum"> 240 </span> : }
-<span class="lineNum"> 241 </span> :
-<span class="lineNum"> 242 </span><span class="lineCov"> 1310 : char buffer[vfi-&gt;Size + slack + 1];</span>
-<span class="lineNum"> 243 </span><span class="lineCov"> 1310 : if (!file.Read(buffer, vfi-&gt;Size + slack))</span>
-<span class="lineNum"> 244 </span> : throw wibble::exception::System(
-<span class="lineNum"> 245 </span> : std::string(&quot;Cannot read package &quot;
-<span class="lineNum"> 246 </span><span class="lineNoCov"> 0 : &quot;record in file &quot;) + lastFile.FileName() );</span>
-<span class="lineNum"> 247 </span> :
-<span class="lineNum"> 248 </span><span class="lineCov"> 1310 : buffer[vfi-&gt;Size + slack] = '\0';</span>
-<span class="lineNum"> 249 </span> : //cerr &lt;&lt; &quot;Data read (slack: &quot; &lt;&lt; slack &lt;&lt; &quot;)&quot; &lt;&lt; endl;
-<span class="lineNum"> 250 </span> :
-<span class="lineNum"> 251 </span><span class="lineCov"> 1310 : lastOffset = vfi-&gt;Offset + vfi-&gt;Size;</span>
-<span class="lineNum"> 252 </span> :
-<span class="lineNum"> 253 </span><span class="lineCov"> 1310 : return string(buffer+slack);</span>
-<span class="lineNum"> 254 </span> : }
-<span class="lineNum"> 255 </span> :
-<span class="lineNum"> 256 </span><span class="lineCov"> 435 : Token getToken( Internal i ) {</span>
-<span class="lineNum"> 257 </span><span class="lineCov"> 435 : Token t;</span>
-<span class="lineNum"> 258 </span><span class="lineCov"> 435 : t._id = getInternal&lt; Name &gt;( i ) + &quot;_&quot; + getInternal&lt; Version &gt;( i );</span>
-<span class="lineNum"> 259 </span><span class="lineNoCov"> 0 : return t;</span>
-<span class="lineNum"> 260 </span> : }
-<span class="lineNum"> 261 </span> :
-<span class="lineNum"> 262 </span> : template&lt; PropertyId p &gt;
-<span class="lineNum"> 263 </span><span class="lineCov"> 1310 : typename PropertyType&lt; p &gt;::T getInternal( Internal i ) {</span>
-<span class="lineNum"> 264 </span><span class="lineCov"> 1310 : Parser rec( getRecord( i ) );</span>
-<span class="lineNum"> 265 </span><span class="lineCov"> 1310 : return rec.get&lt; p &gt;();</span>
-<span class="lineNum"> 266 </span> : }
-<span class="lineNum"> 267 </span> : };
-<span class="lineNum"> 268 </span> :
-<span class="lineNum"> 269 </span><span class="lineCov"> 1 : template&lt;&gt; inline std::string Source::getInternal&lt; Record &gt;( Internal i ) {</span>
-<span class="lineNum"> 270 </span><span class="lineCov"> 1 : assert( !i.end() );</span>
-<span class="lineNum"> 271 </span><span class="lineCov"> 1 : return getRecord( i );</span>
-<span class="lineNum"> 272 </span> : }
-<span class="lineNum"> 273 </span> :
-<span class="lineNum"> 274 </span><span class="lineCov"> 870 : inline const Internal InternalList::head() const {</span>
-<span class="lineNum"> 275 </span> : return pkgCache::VerFileIterator( m_source-&gt;m_db.cache(),
-<span class="lineNum"> 276 </span><span class="lineCov"> 870 : m_source-&gt;vfList()[ m_idx ] );</span>
-<span class="lineNum"> 277 </span> : }
-<span class="lineNum"> 278 </span> :
-<span class="lineNum"> 279 </span><span class="lineCov"> 872 : inline bool InternalList::empty() const {</span>
-<span class="lineNum"> 280 </span><span class="lineCov"> 872 : return m_idx == m_source-&gt;vfList().size();</span>
-<span class="lineNum"> 281 </span> : }
-<span class="lineNum"> 282 </span> :
-<span class="lineNum"> 283 </span> :
-<span class="lineNum"> 284 </span> : }
-<span class="lineNum"> 285 </span> : }
-<span class="lineNum"> 286 </span> : }
-<span class="lineNum"> 287 </span> :
-<span class="lineNum"> 288 </span> : #endif
-</pre>
- </td>
- </tr>
- </table>
- <br>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
- <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LTP GCOV extension version 1.6</a></td></tr>
- </table>
- <br>
-
-</body>
-</html>
diff --git a/rep/ept/core/apt/record.test.h.gcov.html b/rep/ept/core/apt/record.test.h.gcov.html
deleted file mode 100644
index afee746..0000000
--- a/rep/ept/core/apt/record.test.h.gcov.html
+++ /dev/null
@@ -1,123 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>LCOV - lcov.info - ept/core/apt/record.test.h</title>
- <link rel="stylesheet" type="text/css" href="../../../gcov.css">
-</head>
-
-<body>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="title">LTP GCOV extension - code coverage report</td></tr>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
-
- <tr>
- <td width="100%">
- <table cellpadding=1 border=0 width="100%">
- <tr>
- <td class="headerItem" width="20%">Current&nbsp;view:</td>
- <td class="headerValue" width="80%" colspan=4><a href="../../../index.html">directory</a> - <a href="index.html">ept/core/apt</a> - record.test.h</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Test:</td>
- <td class="headerValue" width="80%" colspan=4>lcov.info</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Date:</td>
- <td class="headerValue" width="20%">2008-08-14</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Instrumented&nbsp;lines:</td>
- <td class="headerValue" width="20%">29</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Code&nbsp;covered:</td>
- <td class="headerValue" width="20%">100.0 %</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Executed&nbsp;lines:</td>
- <td class="headerValue" width="20%">29</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
-
- <table cellpadding=0 cellspacing=0 border=0>
- <tr>
- <td><br></td>
- </tr>
- <tr>
- <td><pre class="source">
-<span class="lineNum"> 1 </span> : // -*- C++ -*-
-<span class="lineNum"> 2 </span> : #include &lt;ept/core/apt.h&gt;
-<span class="lineNum"> 3 </span> :
-<span class="lineNum"> 4 </span> : #include &lt;ept/test.h&gt;
-<span class="lineNum"> 5 </span> :
-<span class="lineNum"> 6 </span> : using namespace ept::core;
-<span class="lineNum"> 7 </span> :
-<span class="lineNum"> 8 </span> : struct TestAptRecord : AptTestEnvironment
-<span class="lineNum"> 9 </span><span class="lineCov"> 6 : {</span>
-<span class="lineNum"> 10 </span> : record::Source recs;
-<span class="lineNum"> 11 </span> : ept::Token t;
-<span class="lineNum"> 12 </span> :
-<span class="lineNum"> 13 </span><span class="lineCov"> 6 : TestAptRecord() : recs( db ) {</span>
-<span class="lineNum"> 14 </span><span class="lineCov"> 6 : t._id = &quot;sp&quot;;</span>
-<span class="lineNum"> 15 </span><span class="lineCov"> 6 : }</span>
-<span class="lineNum"> 16 </span> :
-<span class="lineNum"> 17 </span><span class="lineCov"> 1 : Test checkLookup() {</span>
-<span class="lineNum"> 18 </span><span class="lineCov"> 1 : recs.get&lt; record::Record &gt;( t );</span>
-<span class="lineNum"> 19 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 20 </span> :
-<span class="lineNum"> 21 </span><span class="lineCov"> 1 : Test checkLookupValue() {</span>
-<span class="lineNum"> 22 </span><span class="lineCov"> 1 : assert_eq( recs.get&lt; record::Name &gt;( t ), t.package() );</span>
-<span class="lineNum"> 23 </span> : assert_eq( recs.get&lt; record::Maintainer &gt;( t ),
-<span class="lineNum"> 24 </span><span class="lineCov"> 2 : &quot;Neil Roeth &lt;neil@debian.org&gt;&quot; );</span>
-<span class="lineNum"> 25 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 26 </span> :
-<span class="lineNum"> 27 </span><span class="lineCov"> 1 : Test checkLookupNumeric() {</span>
-<span class="lineNum"> 28 </span> : assert_eq( recs.get&lt; record::InstalledSize &gt;( t ),
-<span class="lineNum"> 29 </span><span class="lineCov"> 1 : 600 );</span>
-<span class="lineNum"> 30 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 31 </span> :
-<span class="lineNum"> 32 </span><span class="lineCov"> 1 : Test checkShortDescription() {</span>
-<span class="lineNum"> 33 </span> : assert_eq( recs.get&lt; record::ShortDescription &gt;( t ),
-<span class="lineNum"> 34 </span><span class="lineCov"> 1 : &quot;James Clark's SGML parsing tools&quot; );</span>
-<span class="lineNum"> 35 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 36 </span> :
-<span class="lineNum"> 37 </span> : template&lt; typename List &gt;
-<span class="lineNum"> 38 </span><span class="lineCov"> 1 : void checkRecordNameList( List l ) {</span>
-<span class="lineNum"> 39 </span><span class="lineCov"> 437 : while ( !l.empty() ) {</span>
-<span class="lineNum"> 40 </span><span class="lineCov"> 435 : assert_eq( l.property(), l.token().package() );</span>
-<span class="lineNum"> 41 </span><span class="lineCov"> 435 : l = l.tail();</span>
-<span class="lineNum"> 42 </span> : }
-<span class="lineNum"> 43 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 44 </span> :
-<span class="lineNum"> 45 </span><span class="lineCov"> 1 : Test checkList() {</span>
-<span class="lineNum"> 46 </span> : // there are 435 valid records in the list file
-<span class="lineNum"> 47 </span> : assert_eq( list::count( recs.list&lt;
-<span class="lineNum"> 48 </span><span class="lineCov"> 1 : record::Name &gt;() ), 435 );</span>
-<span class="lineNum"> 49 </span><span class="lineCov"> 1 : checkRecordNameList( recs.list&lt; record::Name &gt;() );</span>
-<span class="lineNum"> 50 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 51 </span> :
-<span class="lineNum"> 52 </span><span class="lineCov"> 1 : Test nonexistent() {</span>
-<span class="lineNum"> 53 </span> : assert_eq( recs.get&lt; record::ShortDescription &gt;(
-<span class="lineNum"> 54 </span><span class="lineCov"> 1 : ept::Token( &quot;nonexistent-package&quot; ) ), &quot;&quot; );</span>
-<span class="lineNum"> 55 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 56 </span> : };
-</pre>
- </td>
- </tr>
- </table>
- <br>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
- <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LTP GCOV extension version 1.6</a></td></tr>
- </table>
- <br>
-
-</body>
-</html>
diff --git a/rep/ept/core/apt/recordparser.cpp.gcov.html b/rep/ept/core/apt/recordparser.cpp.gcov.html
deleted file mode 100644
index de47e25..0000000
--- a/rep/ept/core/apt/recordparser.cpp.gcov.html
+++ /dev/null
@@ -1,239 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>LCOV - lcov.info - ept/core/apt/recordparser.cpp</title>
- <link rel="stylesheet" type="text/css" href="../../../gcov.css">
-</head>
-
-<body>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="title">LTP GCOV extension - code coverage report</td></tr>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
-
- <tr>
- <td width="100%">
- <table cellpadding=1 border=0 width="100%">
- <tr>
- <td class="headerItem" width="20%">Current&nbsp;view:</td>
- <td class="headerValue" width="80%" colspan=4><a href="../../../index.html">directory</a> - <a href="index.html">ept/core/apt</a> - recordparser.cpp</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Test:</td>
- <td class="headerValue" width="80%" colspan=4>lcov.info</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Date:</td>
- <td class="headerValue" width="20%">2008-08-14</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Instrumented&nbsp;lines:</td>
- <td class="headerValue" width="20%">62</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Code&nbsp;covered:</td>
- <td class="headerValue" width="20%">95.2 %</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Executed&nbsp;lines:</td>
- <td class="headerValue" width="20%">59</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
-
- <table cellpadding=0 cellspacing=0 border=0>
- <tr>
- <td><br></td>
- </tr>
- <tr>
- <td><pre class="source">
-<span class="lineNum"> 1 </span> : /** \file
-<span class="lineNum"> 2 </span> : * Parser for APT records
-<span class="lineNum"> 3 </span> : */
-<span class="lineNum"> 4 </span> :
-<span class="lineNum"> 5 </span> : /*
-<span class="lineNum"> 6 </span> : * Copyright (C) 2007 Enrico Zini &lt;enrico@enricozini.org&gt;
-<span class="lineNum"> 7 </span> : *
-<span class="lineNum"> 8 </span> : * This library is free software; you can redistribute it and/or
-<span class="lineNum"> 9 </span> : * modify it under the terms of the GNU Lesser General Public
-<span class="lineNum"> 10 </span> : * License as published by the Free Software Foundation; either
-<span class="lineNum"> 11 </span> : * version 2.1 of the License, or (at your option) any later version.
-<span class="lineNum"> 12 </span> : *
-<span class="lineNum"> 13 </span> : * This library is distributed in the hope that it will be useful,
-<span class="lineNum"> 14 </span> : * but WITHOUT ANY WARRANTY; without even the implied warranty of
-<span class="lineNum"> 15 </span> : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-<span class="lineNum"> 16 </span> : * Lesser General Public License for more details.
-<span class="lineNum"> 17 </span> : *
-<span class="lineNum"> 18 </span> : * You should have received a copy of the GNU Lesser General Public
-<span class="lineNum"> 19 </span> : * License along with this library; if not, write to the Free Software
-<span class="lineNum"> 20 </span> : * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-<span class="lineNum"> 21 </span> : */
-<span class="lineNum"> 22 </span> :
-<span class="lineNum"> 23 </span> : #include &lt;ept/core/apt/recordparser.h&gt;
-<span class="lineNum"> 24 </span> :
-<span class="lineNum"> 25 </span> : #include &lt;algorithm&gt;
-<span class="lineNum"> 26 </span> : #include &lt;cctype&gt;
-<span class="lineNum"> 27 </span> :
-<span class="lineNum"> 28 </span> : //#include &lt;iostream&gt;
-<span class="lineNum"> 29 </span> :
-<span class="lineNum"> 30 </span> : using namespace std;
-<span class="lineNum"> 31 </span> :
-<span class="lineNum"> 32 </span> : namespace ept {
-<span class="lineNum"> 33 </span> : namespace core {
-<span class="lineNum"> 34 </span> : namespace record {
-<span class="lineNum"> 35 </span> :
-<span class="lineNum"> 36 </span> : struct rpcompare
-<span class="lineNum"> 37 </span> : {
-<span class="lineNum"> 38 </span> : const RecordParser&amp; rp;
-<span class="lineNum"> 39 </span><span class="lineCov"> 1310 : rpcompare(const RecordParser&amp; rp) : rp(rp) {}</span>
-<span class="lineNum"> 40 </span><span class="lineCov"> 89600 : bool operator()(size_t a, size_t b)</span>
-<span class="lineNum"> 41 </span> : {
-<span class="lineNum"> 42 </span><span class="lineCov"> 89600 : return rp.name(a) &lt; rp.name(b);</span>
-<span class="lineNum"> 43 </span> : }
-<span class="lineNum"> 44 </span> : };
-<span class="lineNum"> 45 </span> :
-<span class="lineNum"> 46 </span><span class="lineCov"> 1310 : void RecordParser::scan(const std::string&amp; str)</span>
-<span class="lineNum"> 47 </span> : {
-<span class="lineNum"> 48 </span><span class="lineCov"> 1310 : buffer = str;</span>
-<span class="lineNum"> 49 </span><span class="lineCov"> 1310 : ends.clear();</span>
-<span class="lineNum"> 50 </span><span class="lineCov"> 1310 : sorted.clear();</span>
-<span class="lineNum"> 51 </span> :
-<span class="lineNum"> 52 </span> : //cerr &lt;&lt; &quot;PARSE &quot; &lt;&lt; endl &lt;&lt; buffer &lt;&lt; &quot;*****&quot; &lt;&lt; endl;
-<span class="lineNum"> 53 </span> :
-<span class="lineNum"> 54 </span> : // Scan the buffer, taking note of all ending offsets of the various fields
-<span class="lineNum"> 55 </span><span class="lineCov"> 1310 : size_t pos = 0;</span>
-<span class="lineNum"> 56 </span><span class="lineCov"> 1310 : size_t idx = 0;</span>
-<span class="lineNum"> 57 </span><span class="lineCov"> 29815 : while (pos &lt; buffer.size() - 1)</span>
-<span class="lineNum"> 58 </span> : {
-<span class="lineNum"> 59 </span> : //cerr &lt;&lt; &quot;PREPOS &quot; &lt;&lt; pos &lt;&lt; &quot; left: &quot; &lt;&lt; buffer.substr(pos, 10) &lt;&lt; endl;
-<span class="lineNum"> 60 </span><span class="lineCov"> 28505 : pos = buffer.find(&quot;\n&quot;, pos);</span>
-<span class="lineNum"> 61 </span> : //cerr &lt;&lt; &quot;POSTPOS &quot; &lt;&lt; pos &lt;&lt; &quot; left: &quot; &lt;&lt; (pos == string::npos ? &quot;NONE&quot; : buffer.substr(pos, 10)) &lt;&lt; endl;
-<span class="lineNum"> 62 </span> :
-<span class="lineNum"> 63 </span> : // The buffer does not end with a newline
-<span class="lineNum"> 64 </span><span class="lineCov"> 28505 : if (pos == string::npos)</span>
-<span class="lineNum"> 65 </span> : {
-<span class="lineNum"> 66 </span> : //cerr &lt;&lt; &quot;ENDNOTEOL&quot; &lt;&lt; endl;
-<span class="lineNum"> 67 </span><span class="lineCov"> 1 : pos = buffer.size();</span>
-<span class="lineNum"> 68 </span><span class="lineCov"> 1 : ends.push_back(pos);</span>
-<span class="lineNum"> 69 </span><span class="lineCov"> 1 : sorted.push_back(idx++);</span>
-<span class="lineNum"> 70 </span><span class="lineCov"> 1 : break;</span>
-<span class="lineNum"> 71 </span> : }
-<span class="lineNum"> 72 </span> :
-<span class="lineNum"> 73 </span><span class="lineCov"> 28504 : ++pos;</span>
-<span class="lineNum"> 74 </span> : //cerr &lt;&lt; &quot;POSTPOSINC &quot; &lt;&lt; pos &lt;&lt; &quot; left: &quot; &lt;&lt; buffer.substr(pos, 10) &lt;&lt; endl;
-<span class="lineNum"> 75 </span> :
-<span class="lineNum"> 76 </span> : // The buffer ends with a newline
-<span class="lineNum"> 77 </span><span class="lineCov"> 28504 : if (pos == buffer.size())</span>
-<span class="lineNum"> 78 </span> : {
-<span class="lineNum"> 79 </span> : //cerr &lt;&lt; &quot;ENDEOL&quot; &lt;&lt; endl;
-<span class="lineNum"> 80 </span><span class="lineCov"> 1309 : ends.push_back(pos);</span>
-<span class="lineNum"> 81 </span><span class="lineCov"> 1309 : sorted.push_back(idx++);</span>
-<span class="lineNum"> 82 </span><span class="lineCov"> 1309 : break;</span>
-<span class="lineNum"> 83 </span> : }
-<span class="lineNum"> 84 </span> :
-<span class="lineNum"> 85 </span> : // Terminate parsing on double newlines
-<span class="lineNum"> 86 </span><span class="lineCov"> 27195 : if (buffer[pos] == '\n')</span>
-<span class="lineNum"> 87 </span> : {
-<span class="lineNum"> 88 </span> : //cerr &lt;&lt; &quot;ENDDOUBLENL&quot; &lt;&lt; endl;
-<span class="lineNum"> 89 </span><span class="lineNoCov"> 0 : ends.push_back(pos);</span>
-<span class="lineNum"> 90 </span><span class="lineNoCov"> 0 : sorted.push_back(idx++);</span>
-<span class="lineNum"> 91 </span><span class="lineNoCov"> 0 : break;</span>
-<span class="lineNum"> 92 </span> : }
-<span class="lineNum"> 93 </span> :
-<span class="lineNum"> 94 </span> : // Mark the end of the field if it's not a continuation line
-<span class="lineNum"> 95 </span><span class="lineCov"> 27195 : if (!isspace(buffer[pos]))</span>
-<span class="lineNum"> 96 </span> : {
-<span class="lineNum"> 97 </span> : //cerr &lt;&lt; &quot;INNERFIELD&quot; &lt;&lt; endl;
-<span class="lineNum"> 98 </span><span class="lineCov"> 17224 : ends.push_back(pos);</span>
-<span class="lineNum"> 99 </span><span class="lineCov"> 17224 : sorted.push_back(idx++);</span>
-<span class="lineNum"> 100 </span> : } //else
-<span class="lineNum"> 101 </span> : //cerr &lt;&lt; &quot;CONTLINE&quot; &lt;&lt; endl;
-<span class="lineNum"> 102 </span> : }
-<span class="lineNum"> 103 </span> :
-<span class="lineNum"> 104 </span> : // Sort the sorted array
-<span class="lineNum"> 105 </span><span class="lineCov"> 1310 : sort(sorted.begin(), sorted.end(), rpcompare(*this));</span>
-<span class="lineNum"> 106 </span> :
-<span class="lineNum"> 107 </span> : //for (size_t i = 0; i &lt; ends.size(); ++i)
-<span class="lineNum"> 108 </span> : // cerr &lt;&lt; ends[i] &lt;&lt; &quot;\t&quot; &lt;&lt; name(i) &lt;&lt; &quot;\t&quot; &lt;&lt; sorted[i] &lt;&lt; &quot;\t&quot; &lt;&lt; name(sorted[i]) &lt;&lt; endl;
-<span class="lineNum"> 109 </span><span class="lineCov"> 1310 : }</span>
-<span class="lineNum"> 110 </span> :
-<span class="lineNum"> 111 </span><span class="lineCov"> 187124 : std::string RecordParser::field(size_t idx) const</span>
-<span class="lineNum"> 112 </span> : {
-<span class="lineNum"> 113 </span><span class="lineCov"> 187124 : if (idx &gt;= ends.size())</span>
-<span class="lineNum"> 114 </span><span class="lineCov"> 1 : return string();</span>
-<span class="lineNum"> 115 </span><span class="lineCov"> 187123 : if (idx == 0)</span>
-<span class="lineNum"> 116 </span><span class="lineCov"> 16577 : return buffer.substr(0, ends[0]);</span>
-<span class="lineNum"> 117 </span> : else
-<span class="lineNum"> 118 </span><span class="lineCov"> 170546 : return buffer.substr(ends[idx-1], ends[idx]-ends[idx-1]);</span>
-<span class="lineNum"> 119 </span> : }
-<span class="lineNum"> 120 </span> :
-<span class="lineNum"> 121 </span><span class="lineCov"> 185814 : std::string RecordParser::name(size_t idx) const</span>
-<span class="lineNum"> 122 </span> : {
-<span class="lineNum"> 123 </span><span class="lineCov"> 185814 : string res = field(idx);</span>
-<span class="lineNum"> 124 </span><span class="lineCov"> 185814 : size_t pos = res.find(&quot;:&quot;);</span>
-<span class="lineNum"> 125 </span><span class="lineCov"> 185814 : if (pos == string::npos)</span>
-<span class="lineNum"> 126 </span><span class="lineCov"> 2 : return res;</span>
-<span class="lineNum"> 127 </span><span class="lineCov"> 185812 : return res.substr(0, pos);</span>
-<span class="lineNum"> 128 </span> : }
-<span class="lineNum"> 129 </span> :
-<span class="lineNum"> 130 </span><span class="lineCov"> 1310 : std::string RecordParser::lookup(size_t idx) const</span>
-<span class="lineNum"> 131 </span> : {
-<span class="lineNum"> 132 </span><span class="lineCov"> 1310 : string res = field(idx);</span>
-<span class="lineNum"> 133 </span><span class="lineCov"> 1310 : size_t pos = res.find(&quot;:&quot;);</span>
-<span class="lineNum"> 134 </span><span class="lineCov"> 1310 : if (pos == string::npos)</span>
-<span class="lineNum"> 135 </span><span class="lineCov"> 1 : return res;</span>
-<span class="lineNum"> 136 </span> : // Skip initial whitespace after the :
-<span class="lineNum"> 137 </span><span class="lineCov"> 1309 : for (++pos; pos &lt; res.size() &amp;&amp; isspace(res[pos]); ++pos)</span>
-<span class="lineNum"> 138 </span> : ;
-<span class="lineNum"> 139 </span><span class="lineCov"> 1309 : res = res.substr(pos);</span>
-<span class="lineNum"> 140 </span> : // Trim spaces at the end
-<span class="lineNum"> 141 </span><span class="lineCov"> 3927 : while (!res.empty() &amp;&amp; isspace(res[res.size() - 1]))</span>
-<span class="lineNum"> 142 </span><span class="lineCov"> 1309 : res.resize(res.size() - 1);</span>
-<span class="lineNum"> 143 </span><span class="lineCov"> 1309 : return res;</span>
-<span class="lineNum"> 144 </span> : }
-<span class="lineNum"> 145 </span> :
-<span class="lineNum"> 146 </span><span class="lineCov"> 1310 : size_t RecordParser::index(const std::string&amp; str) const</span>
-<span class="lineNum"> 147 </span> : {
-<span class="lineNum"> 148 </span> : int begin, end;
-<span class="lineNum"> 149 </span> :
-<span class="lineNum"> 150 </span> : /* Binary search */
-<span class="lineNum"> 151 </span><span class="lineCov"> 1310 : begin = -1, end = size();</span>
-<span class="lineNum"> 152 </span><span class="lineCov"> 7924 : while (end - begin &gt; 1)</span>
-<span class="lineNum"> 153 </span> : {
-<span class="lineNum"> 154 </span><span class="lineCov"> 5304 : int cur = (end + begin) / 2;</span>
-<span class="lineNum"> 155 </span> : //cerr &lt;&lt; &quot;Test &quot; &lt;&lt; cur &lt;&lt; &quot; &quot; &lt;&lt; str &lt;&lt; &quot; &lt; &quot; &lt;&lt; name(cur) &lt;&lt; endl;
-<span class="lineNum"> 156 </span><span class="lineCov"> 5304 : if (name(sorted[cur]) &gt; str)</span>
-<span class="lineNum"> 157 </span><span class="lineCov"> 1724 : end = cur;</span>
-<span class="lineNum"> 158 </span> : else
-<span class="lineNum"> 159 </span><span class="lineCov"> 3580 : begin = cur;</span>
-<span class="lineNum"> 160 </span> : }
-<span class="lineNum"> 161 </span> :
-<span class="lineNum"> 162 </span><span class="lineCov"> 1310 : if (begin == -1 || name(sorted[begin]) != str)</span>
-<span class="lineNum"> 163 </span><span class="lineCov"> 1 : return size();</span>
-<span class="lineNum"> 164 </span> : else
-<span class="lineNum"> 165 </span><span class="lineCov"> 1309 : return sorted[begin];</span>
-<span class="lineNum"> 166 </span> : }
-<span class="lineNum"> 167 </span> :
-<span class="lineNum"> 168 </span> : }
-<span class="lineNum"> 169 </span> : }
-<span class="lineNum"> 170 </span> : }
-<span class="lineNum"> 171 </span> :
-<span class="lineNum"> 172 </span> : // vim:set ts=4 sw=4:
-</pre>
- </td>
- </tr>
- </table>
- <br>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
- <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LTP GCOV extension version 1.6</a></td></tr>
- </table>
- <br>
-
-</body>
-</html>
diff --git a/rep/ept/core/apt/recordparser.h.gcov.html b/rep/ept/core/apt/recordparser.h.gcov.html
deleted file mode 100644
index 13eb803..0000000
--- a/rep/ept/core/apt/recordparser.h.gcov.html
+++ /dev/null
@@ -1,165 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>LCOV - lcov.info - ept/core/apt/recordparser.h</title>
- <link rel="stylesheet" type="text/css" href="../../../gcov.css">
-</head>
-
-<body>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="title">LTP GCOV extension - code coverage report</td></tr>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
-
- <tr>
- <td width="100%">
- <table cellpadding=1 border=0 width="100%">
- <tr>
- <td class="headerItem" width="20%">Current&nbsp;view:</td>
- <td class="headerValue" width="80%" colspan=4><a href="../../../index.html">directory</a> - <a href="index.html">ept/core/apt</a> - recordparser.h</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Test:</td>
- <td class="headerValue" width="80%" colspan=4>lcov.info</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Date:</td>
- <td class="headerValue" width="20%">2008-08-14</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Instrumented&nbsp;lines:</td>
- <td class="headerValue" width="20%">4</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Code&nbsp;covered:</td>
- <td class="headerValue" width="20%">100.0 %</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Executed&nbsp;lines:</td>
- <td class="headerValue" width="20%">4</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
-
- <table cellpadding=0 cellspacing=0 border=0>
- <tr>
- <td><br></td>
- </tr>
- <tr>
- <td><pre class="source">
-<span class="lineNum"> 1 </span> : // -*- C++ -*-
-<span class="lineNum"> 2 </span> : #ifndef EPT_CORE_APT_RECORDPARSER_H
-<span class="lineNum"> 3 </span> : #define EPT_CORE_APT_RECORDPARSER_H
-<span class="lineNum"> 4 </span> :
-<span class="lineNum"> 5 </span> : /** \file
-<span class="lineNum"> 6 </span> : * Parser for APT records
-<span class="lineNum"> 7 </span> : */
-<span class="lineNum"> 8 </span> :
-<span class="lineNum"> 9 </span> : /*
-<span class="lineNum"> 10 </span> : * Copyright (C) 2007 Enrico Zini &lt;enrico@enricozini.org&gt;
-<span class="lineNum"> 11 </span> : *
-<span class="lineNum"> 12 </span> : * This library is free software; you can redistribute it and/or
-<span class="lineNum"> 13 </span> : * modify it under the terms of the GNU Lesser General Public
-<span class="lineNum"> 14 </span> : * License as published by the Free Software Foundation; either
-<span class="lineNum"> 15 </span> : * version 2.1 of the License, or (at your option) any later version.
-<span class="lineNum"> 16 </span> : *
-<span class="lineNum"> 17 </span> : * This library is distributed in the hope that it will be useful,
-<span class="lineNum"> 18 </span> : * but WITHOUT ANY WARRANTY; without even the implied warranty of
-<span class="lineNum"> 19 </span> : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-<span class="lineNum"> 20 </span> : * Lesser General Public License for more details.
-<span class="lineNum"> 21 </span> : *
-<span class="lineNum"> 22 </span> : * You should have received a copy of the GNU Lesser General Public
-<span class="lineNum"> 23 </span> : * License along with this library; if not, write to the Free Software
-<span class="lineNum"> 24 </span> : * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-<span class="lineNum"> 25 </span> : */
-<span class="lineNum"> 26 </span> :
-<span class="lineNum"> 27 </span> : #include &lt;vector&gt;
-<span class="lineNum"> 28 </span> : #include &lt;string&gt;
-<span class="lineNum"> 29 </span> :
-<span class="lineNum"> 30 </span> : namespace ept {
-<span class="lineNum"> 31 </span> : namespace core {
-<span class="lineNum"> 32 </span> : namespace record {
-<span class="lineNum"> 33 </span> :
-<span class="lineNum"> 34 </span> : /**
-<span class="lineNum"> 35 </span> : * Access the fields of a package record contained inside a std::string.
-<span class="lineNum"> 36 </span> : *
-<span class="lineNum"> 37 </span> : * Implementation note: this implementation should take advantage of
-<span class="lineNum"> 38 </span> : * std::string sharing buffer space among them.
-<span class="lineNum"> 39 </span> : */
-<span class="lineNum"> 40 </span> : class RecordParser
-<span class="lineNum"> 41 </span><span class="lineCov"> 1310 : {</span>
-<span class="lineNum"> 42 </span> : /// Buffer containing the whole record
-<span class="lineNum"> 43 </span> : std::string buffer;
-<span class="lineNum"> 44 </span> :
-<span class="lineNum"> 45 </span> : /// End offsets of the various fields in the record
-<span class="lineNum"> 46 </span> : std::vector&lt;size_t&gt; ends;
-<span class="lineNum"> 47 </span> :
-<span class="lineNum"> 48 </span> : /// Indexes on the ends vector, sorted by field name
-<span class="lineNum"> 49 </span> : std::vector&lt;size_t&gt; sorted;
-<span class="lineNum"> 50 </span> :
-<span class="lineNum"> 51 </span> : public:
-<span class="lineNum"> 52 </span> : RecordParser() {}
-<span class="lineNum"> 53 </span><span class="lineCov"> 1310 : RecordParser(const std::string&amp; str) { scan(str); }</span>
-<span class="lineNum"> 54 </span> :
-<span class="lineNum"> 55 </span> : /// Index a new record
-<span class="lineNum"> 56 </span> : void scan(const std::string&amp; str);
-<span class="lineNum"> 57 </span> :
-<span class="lineNum"> 58 </span> : /**
-<span class="lineNum"> 59 </span> : * Get the index of the field with the given name.
-<span class="lineNum"> 60 </span> : *
-<span class="lineNum"> 61 </span> : * size() is returned if not found
-<span class="lineNum"> 62 </span> : */
-<span class="lineNum"> 63 </span> : size_t index(const std::string&amp; str) const;
-<span class="lineNum"> 64 </span> :
-<span class="lineNum"> 65 </span> : /// Return the field by its index
-<span class="lineNum"> 66 </span> : std::string field(size_t idx) const;
-<span class="lineNum"> 67 </span> :
-<span class="lineNum"> 68 </span> : /// Return the name of a field by its index
-<span class="lineNum"> 69 </span> : std::string name(size_t idx) const;
-<span class="lineNum"> 70 </span> :
-<span class="lineNum"> 71 </span> : /// Return the content of a field by its index
-<span class="lineNum"> 72 </span> : std::string lookup(size_t idx) const;
-<span class="lineNum"> 73 </span> :
-<span class="lineNum"> 74 </span> : /// Return the content of a field by its name
-<span class="lineNum"> 75 </span><span class="lineCov"> 1310 : std::string lookup(const std::string&amp; name) const { return lookup(index(name)); }</span>
-<span class="lineNum"> 76 </span> :
-<span class="lineNum"> 77 </span> : /// Return the content of a field by its index
-<span class="lineNum"> 78 </span> : std::string operator[](size_t idx) const { return lookup(idx); }
-<span class="lineNum"> 79 </span> :
-<span class="lineNum"> 80 </span> : /// Return the content of a field by its name
-<span class="lineNum"> 81 </span> : std::string operator[](const std::string&amp; name) const { return lookup(name); }
-<span class="lineNum"> 82 </span> :
-<span class="lineNum"> 83 </span> : /// Return the entire record
-<span class="lineNum"> 84 </span> : const std::string&amp; record() const { return buffer; }
-<span class="lineNum"> 85 </span> :
-<span class="lineNum"> 86 </span> : /// Return the entire record
-<span class="lineNum"> 87 </span> : std::string record() { return buffer; }
-<span class="lineNum"> 88 </span> :
-<span class="lineNum"> 89 </span> : /// Return the number of fields in the record
-<span class="lineNum"> 90 </span><span class="lineCov"> 1311 : size_t size() const { return ends.size(); }</span>
-<span class="lineNum"> 91 </span> : };
-<span class="lineNum"> 92 </span> :
-<span class="lineNum"> 93 </span> : }
-<span class="lineNum"> 94 </span> : }
-<span class="lineNum"> 95 </span> : }
-<span class="lineNum"> 96 </span> :
-<span class="lineNum"> 97 </span> : // vim:set ts=4 sw=4:
-<span class="lineNum"> 98 </span> : #endif
-</pre>
- </td>
- </tr>
- </table>
- <br>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
- <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LTP GCOV extension version 1.6</a></td></tr>
- </table>
- <br>
-
-</body>
-</html>
diff --git a/rep/ept/core/apt/version.h.gcov.html b/rep/ept/core/apt/version.h.gcov.html
deleted file mode 100644
index b17fdfb..0000000
--- a/rep/ept/core/apt/version.h.gcov.html
+++ /dev/null
@@ -1,160 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>LCOV - lcov.info - ept/core/apt/version.h</title>
- <link rel="stylesheet" type="text/css" href="../../../gcov.css">
-</head>
-
-<body>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="title">LTP GCOV extension - code coverage report</td></tr>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
-
- <tr>
- <td width="100%">
- <table cellpadding=1 border=0 width="100%">
- <tr>
- <td class="headerItem" width="20%">Current&nbsp;view:</td>
- <td class="headerValue" width="80%" colspan=4><a href="../../../index.html">directory</a> - <a href="index.html">ept/core/apt</a> - version.h</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Test:</td>
- <td class="headerValue" width="80%" colspan=4>lcov.info</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Date:</td>
- <td class="headerValue" width="20%">2008-08-14</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Instrumented&nbsp;lines:</td>
- <td class="headerValue" width="20%">32</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Code&nbsp;covered:</td>
- <td class="headerValue" width="20%">93.8 %</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Executed&nbsp;lines:</td>
- <td class="headerValue" width="20%">30</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
-
- <table cellpadding=0 cellspacing=0 border=0>
- <tr>
- <td><br></td>
- </tr>
- <tr>
- <td><pre class="source">
-<span class="lineNum"> 1 </span> : // -*- C++ -*-
-<span class="lineNum"> 2 </span> : #ifndef EPT_CORE_APT_VERSION_H
-<span class="lineNum"> 3 </span> : #define EPT_CORE_APT_VERSION_H
-<span class="lineNum"> 4 </span> :
-<span class="lineNum"> 5 </span> : namespace ept {
-<span class="lineNum"> 6 </span> : namespace core {
-<span class="lineNum"> 7 </span> : namespace version {
-<span class="lineNum"> 8 </span> :
-<span class="lineNum"> 9 </span><span class="lineCov"> 3616 : struct InternalList {</span>
-<span class="lineNum"> 10 </span> : package::Internal m_pkg;
-<span class="lineNum"> 11 </span> : Internal m_ver;
-<span class="lineNum"> 12 </span> :
-<span class="lineNum"> 13 </span> : typedef Internal Type;
-<span class="lineNum"> 14 </span> :
-<span class="lineNum"> 15 </span><span class="lineCov"> 3616 : InternalList tail() const {</span>
-<span class="lineNum"> 16 </span><span class="lineCov"> 3616 : InternalList t = *this;</span>
-<span class="lineNum"> 17 </span><span class="lineCov"> 3616 : t.m_ver ++;</span>
-<span class="lineNum"> 18 </span><span class="lineCov"> 3616 : t.seek();</span>
-<span class="lineNum"> 19 </span> : return t;
-<span class="lineNum"> 20 </span> : }
-<span class="lineNum"> 21 </span> :
-<span class="lineNum"> 22 </span><span class="lineCov"> 5424 : const Internal head() const {</span>
-<span class="lineNum"> 23 </span><span class="lineCov"> 5424 : return m_ver;</span>
-<span class="lineNum"> 24 </span> : }
-<span class="lineNum"> 25 </span> :
-<span class="lineNum"> 26 </span> : Internal head() {
-<span class="lineNum"> 27 </span> : return m_ver;
-<span class="lineNum"> 28 </span> : }
-<span class="lineNum"> 29 </span> :
-<span class="lineNum"> 30 </span><span class="lineCov"> 3618 : bool empty() const {</span>
-<span class="lineNum"> 31 </span><span class="lineCov"> 3618 : return m_pkg.end();</span>
-<span class="lineNum"> 32 </span> : }
-<span class="lineNum"> 33 </span> :
-<span class="lineNum"> 34 </span><span class="lineCov"> 3618 : void seek()</span>
-<span class="lineNum"> 35 </span> : {
-<span class="lineNum"> 36 </span><span class="lineCov"> 14790 : while ( m_ver.end() &amp;&amp; !m_pkg.end() ) {</span>
-<span class="lineNum"> 37 </span><span class="lineCov"> 7554 : m_pkg ++;</span>
-<span class="lineNum"> 38 </span><span class="lineCov"> 7554 : m_ver = m_pkg.VersionList();</span>
-<span class="lineNum"> 39 </span> : }
-<span class="lineNum"> 40 </span><span class="lineCov"> 3618 : }</span>
-<span class="lineNum"> 41 </span> :
-<span class="lineNum"> 42 </span><span class="lineCov"> 2 : InternalList( package::Internal i )</span>
-<span class="lineNum"> 43 </span><span class="lineCov"> 2 : : m_pkg( i )</span>
-<span class="lineNum"> 44 </span> : {
-<span class="lineNum"> 45 </span><span class="lineCov"> 2 : m_ver = m_pkg.VersionList();</span>
-<span class="lineNum"> 46 </span><span class="lineCov"> 2 : seek();</span>
-<span class="lineNum"> 47 </span><span class="lineCov"> 2 : }</span>
-<span class="lineNum"> 48 </span> : };
-<span class="lineNum"> 49 </span> :
-<span class="lineNum"> 50 </span> : struct Setup {
-<span class="lineNum"> 51 </span> : typedef ept::Token Token;
-<span class="lineNum"> 52 </span> : typedef version::Internal Internal;
-<span class="lineNum"> 53 </span> : typedef version::PropertyId PropertyId;
-<span class="lineNum"> 54 </span> : typedef version::InternalList InternalList;
-<span class="lineNum"> 55 </span> : };
-<span class="lineNum"> 56 </span> :
-<span class="lineNum"> 57 </span> : struct Source : core::Source&lt; Source, Setup, PropertyType &gt;
-<span class="lineNum"> 58 </span><span class="lineCov"> 12 : {</span>
-<span class="lineNum"> 59 </span> : AptDatabase &amp;m_db;
-<span class="lineNum"> 60 </span><span class="lineCov"> 12 : Source( AptDatabase &amp;db ) : m_db( db ) {}</span>
-<span class="lineNum"> 61 </span> :
-<span class="lineNum"> 62 </span><span class="lineCov"> 2 : InternalList listInternal() {</span>
-<span class="lineNum"> 63 </span><span class="lineCov"> 2 : return InternalList( m_db.cache().PkgBegin() );</span>
-<span class="lineNum"> 64 </span> : }
-<span class="lineNum"> 65 </span> :
-<span class="lineNum"> 66 </span><span class="lineCov"> 1808 : Token getToken( Internal i ) {</span>
-<span class="lineNum"> 67 </span><span class="lineCov"> 1808 : Token t;</span>
-<span class="lineNum"> 68 </span><span class="lineCov"> 1808 : t._id = std::string( i.ParentPkg().Name() ) + &quot;_&quot; + i.VerStr();</span>
-<span class="lineNum"> 69 </span><span class="lineNoCov"> 0 : return t;</span>
-<span class="lineNum"> 70 </span> : }
-<span class="lineNum"> 71 </span> :
-<span class="lineNum"> 72 </span> : Internal lookupToken( Token t ) {
-<span class="lineNum"> 73 </span> : return m_db.lookupVersion( t );
-<span class="lineNum"> 74 </span> : }
-<span class="lineNum"> 75 </span> :
-<span class="lineNum"> 76 </span> : template&lt; PropertyId p &gt;
-<span class="lineNum"> 77 </span> : typename PropertyType&lt; p &gt;::T getInternal( Internal );
-<span class="lineNum"> 78 </span> : };
-<span class="lineNum"> 79 </span> :
-<span class="lineNum"> 80 </span> : template&lt;&gt; struct PropertyType&lt; Package &gt; { typedef Token T; };
-<span class="lineNum"> 81 </span> :
-<span class="lineNum"> 82 </span><span class="lineCov"> 3616 : template&lt;&gt; inline Token Source::getInternal&lt; Package &gt;( Internal i ) {</span>
-<span class="lineNum"> 83 </span><span class="lineCov"> 3616 : assert( !i.end() );</span>
-<span class="lineNum"> 84 </span><span class="lineCov"> 3616 : Token t;</span>
-<span class="lineNum"> 85 </span><span class="lineCov"> 7232 : t._id = i.ParentPkg().Name();</span>
-<span class="lineNum"> 86 </span><span class="lineNoCov"> 0 : return t;</span>
-<span class="lineNum"> 87 </span> : }
-<span class="lineNum"> 88 </span> :
-<span class="lineNum"> 89 </span> : }
-<span class="lineNum"> 90 </span> : }
-<span class="lineNum"> 91 </span> : }
-<span class="lineNum"> 92 </span> :
-<span class="lineNum"> 93 </span> : #endif
-</pre>
- </td>
- </tr>
- </table>
- <br>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
- <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LTP GCOV extension version 1.6</a></td></tr>
- </table>
- <br>
-
-</body>
-</html>
diff --git a/rep/ept/core/desktop.h.gcov.html b/rep/ept/core/desktop.h.gcov.html
deleted file mode 100644
index 27d0be3..0000000
--- a/rep/ept/core/desktop.h.gcov.html
+++ /dev/null
@@ -1,344 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>LCOV - lcov.info - ept/core/desktop.h</title>
- <link rel="stylesheet" type="text/css" href="../../gcov.css">
-</head>
-
-<body>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="title">LTP GCOV extension - code coverage report</td></tr>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
-
- <tr>
- <td width="100%">
- <table cellpadding=1 border=0 width="100%">
- <tr>
- <td class="headerItem" width="20%">Current&nbsp;view:</td>
- <td class="headerValue" width="80%" colspan=4><a href="../../index.html">directory</a> - <a href="index.html">ept/core</a> - desktop.h</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Test:</td>
- <td class="headerValue" width="80%" colspan=4>lcov.info</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Date:</td>
- <td class="headerValue" width="20%">2008-08-14</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Instrumented&nbsp;lines:</td>
- <td class="headerValue" width="20%">103</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Code&nbsp;covered:</td>
- <td class="headerValue" width="20%">94.2 %</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Executed&nbsp;lines:</td>
- <td class="headerValue" width="20%">97</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
-
- <table cellpadding=0 cellspacing=0 border=0>
- <tr>
- <td><br></td>
- </tr>
- <tr>
- <td><pre class="source">
-<span class="lineNum"> 1 </span> : /// -*- C++ -*- (c) 2006, 2007 Petr Rockai &lt;me@mornfall.net&gt;
-<span class="lineNum"> 2 </span> :
-<span class="lineNum"> 3 </span> : #include &lt;wibble/string.h&gt;
-<span class="lineNum"> 4 </span> :
-<span class="lineNum"> 5 </span> : #include &lt;ept/token.h&gt;
-<span class="lineNum"> 6 </span> : #include &lt;ept/core/desktopfile.h&gt;
-<span class="lineNum"> 7 </span> : #include &lt;ept/core/source.h&gt;
-<span class="lineNum"> 8 </span> :
-<span class="lineNum"> 9 </span> : #include &lt;set&gt;
-<span class="lineNum"> 10 </span> : #include &lt;vector&gt;
-<span class="lineNum"> 11 </span> : #include &lt;fstream&gt;
-<span class="lineNum"> 12 </span> : #include &lt;sstream&gt;
-<span class="lineNum"> 13 </span> : #include &lt;iterator&gt;
-<span class="lineNum"> 14 </span> : #include &lt;functional&gt;
-<span class="lineNum"> 15 </span> :
-<span class="lineNum"> 16 </span> : #include &lt;dirent.h&gt;
-<span class="lineNum"> 17 </span> :
-<span class="lineNum"> 18 </span> : #ifndef EPT_CORE_DESKTOP_H
-<span class="lineNum"> 19 </span> : #define EPT_CORE_DESKTOP_H
-<span class="lineNum"> 20 </span> :
-<span class="lineNum"> 21 </span> : namespace ept {
-<span class="lineNum"> 22 </span> : namespace core {
-<span class="lineNum"> 23 </span> : namespace desktop {
-<span class="lineNum"> 24 </span> :
-<span class="lineNum"> 25 </span> : typedef enum { Name, Group, ShortDescription, Package, Icon } PropertyId;
-<span class="lineNum"> 26 </span> :
-<span class="lineNum"> 27 </span> : template&lt; PropertyId &gt; struct PropertyType {};
-<span class="lineNum"> 28 </span> : template&lt;&gt; struct PropertyType&lt; Name &gt; { typedef std::string T; };
-<span class="lineNum"> 29 </span> : template&lt;&gt; struct PropertyType&lt; Group &gt; { typedef std::string T; };
-<span class="lineNum"> 30 </span> : template&lt;&gt; struct PropertyType&lt; ShortDescription &gt; { typedef std::string T; };
-<span class="lineNum"> 31 </span> : template&lt;&gt; struct PropertyType&lt; Package &gt; { typedef ept::Token T; };
-<span class="lineNum"> 32 </span> : template&lt;&gt; struct PropertyType&lt; Icon &gt; { typedef std::string T; };
-<span class="lineNum"> 33 </span> :
-<span class="lineNum"> 34 </span> : typedef std::set&lt; std::string &gt; Categories;
-<span class="lineNum"> 35 </span> :
-<span class="lineNum"> 36 </span><span class="lineCov"> 64 : struct Category {</span>
-<span class="lineNum"> 37 </span> : std::string name;
-<span class="lineNum"> 38 </span><span class="lineCov"> 112 : operator std::string() const { return name; }</span>
-<span class="lineNum"> 39 </span> : };
-<span class="lineNum"> 40 </span> :
-<span class="lineNum"> 41 </span><span class="lineCov"> 80 : inline std::istream &amp;operator &gt;&gt;( std::istream &amp;i, Category &amp;cat ) {</span>
-<span class="lineNum"> 42 </span> : char c;
-<span class="lineNum"> 43 </span><span class="lineCov"> 80 : cat.name = &quot;&quot;;</span>
-<span class="lineNum"> 44 </span><span class="lineCov"> 468 : while ( i.peek() != EOF ) {</span>
-<span class="lineNum"> 45 </span><span class="lineCov"> 356 : c = i.get();</span>
-<span class="lineNum"> 46 </span><span class="lineCov"> 356 : if ( c == ';' ) return i;</span>
-<span class="lineNum"> 47 </span><span class="lineCov"> 308 : cat.name += c;</span>
-<span class="lineNum"> 48 </span> : }
-<span class="lineNum"> 49 </span><span class="lineCov"> 32 : return i;</span>
-<span class="lineNum"> 50 </span> : }
-<span class="lineNum"> 51 </span> :
-<span class="lineNum"> 52 </span><span class="lineCov"> 567 : struct Entry : wibble::mixin::Comparable&lt; Entry &gt; {</span>
-<span class="lineNum"> 53 </span><span class="lineCov"> 18 : Entry() {}</span>
-<span class="lineNum"> 54 </span> : Entry( std::string n, std::string g,
-<span class="lineNum"> 55 </span> : std::string p, std::string d , std::string i )
-<span class="lineNum"> 56 </span> : : m_name( n ),
-<span class="lineNum"> 57 </span> : m_package( p ),
-<span class="lineNum"> 58 </span> : m_description( d ),
-<span class="lineNum"> 59 </span> : m_icon( i )
-<span class="lineNum"> 60 </span> : { setCategories( g ); }
-<span class="lineNum"> 61 </span> :
-<span class="lineNum"> 62 </span><span class="lineCov"> 16 : void load( std::string file ) {</span>
-<span class="lineNum"> 63 </span><span class="lineCov"> 16 : m_id = file;</span>
-<span class="lineNum"> 64 </span><span class="lineCov"> 16 : std::ifstream i( file.c_str() );</span>
-<span class="lineNum"> 65 </span><span class="lineCov"> 16 : if ( !i.is_open() )</span>
-<span class="lineNum"> 66 </span><span class="lineNoCov"> 0 : return; // throw?</span>
-<span class="lineNum"> 67 </span><span class="lineCov"> 16 : desktop::File e;</span>
-<span class="lineNum"> 68 </span><span class="lineCov"> 16 : i &gt;&gt; e;</span>
-<span class="lineNum"> 69 </span><span class="lineCov"> 16 : i.close();</span>
-<span class="lineNum"> 70 </span><span class="lineCov"> 16 : desktop::File::Group &amp;g = e.group( &quot;Desktop Entry&quot; );</span>
-<span class="lineNum"> 71 </span><span class="lineCov"> 32 : m_name = g.entry( &quot;Name&quot; ).value;</span>
-<span class="lineNum"> 72 </span><span class="lineCov"> 32 : m_description = g.entry( &quot;Comment&quot; ).value;</span>
-<span class="lineNum"> 73 </span><span class="lineCov"> 32 : if ( m_description == &quot;&quot; )</span>
-<span class="lineNum"> 74 </span><span class="lineCov"> 8 : m_description = g.entry( &quot;GenericName&quot; ).value;</span>
-<span class="lineNum"> 75 </span><span class="lineCov"> 16 : m_package = g.entry( &quot;X-AppInstall-Package&quot; ).value;</span>
-<span class="lineNum"> 76 </span> : // m_group = g.entry( &quot;Categories&quot; ).value;
-<span class="lineNum"> 77 </span><span class="lineCov"> 32 : m_icon = g.entry( &quot;Icon&quot; ).value;</span>
-<span class="lineNum"> 78 </span><span class="lineCov"> 32 : setCategories( g.entry( &quot;Categories&quot; ).value );</span>
-<span class="lineNum"> 79 </span> : }
-<span class="lineNum"> 80 </span> :
-<span class="lineNum"> 81 </span><span class="lineCov"> 16 : void setCategories( std::string s ) {</span>
-<span class="lineNum"> 82 </span><span class="lineCov"> 16 : std::istringstream i( s );</span>
-<span class="lineNum"> 83 </span><span class="lineCov"> 16 : m_categories.clear();</span>
-<span class="lineNum"> 84 </span> : std::remove_copy_if(
-<span class="lineNum"> 85 </span> : std::istream_iterator&lt; Category &gt;( i ),
-<span class="lineNum"> 86 </span> : std::istream_iterator&lt; Category &gt;(),
-<span class="lineNum"> 87 </span> : std::inserter( m_categories, m_categories.begin() ),
-<span class="lineNum"> 88 </span><span class="lineCov"> 16 : std::bind1st( std::equal_to&lt; std::string &gt;(), &quot;&quot; ) );</span>
-<span class="lineNum"> 89 </span><span class="lineCov"> 16 : }</span>
-<span class="lineNum"> 90 </span> :
-<span class="lineNum"> 91 </span><span class="lineCov"> 16 : Categories categories() const { return m_categories; }</span>
-<span class="lineNum"> 92 </span> : bool inCategory( std::string c ) const {
-<span class="lineNum"> 93 </span> : return m_categories.find( c ) != m_categories.end();
-<span class="lineNum"> 94 </span> : }
-<span class="lineNum"> 95 </span><span class="lineCov"> 34 : std::string id() const { return m_id; }</span>
-<span class="lineNum"> 96 </span><span class="lineCov"> 6 : std::string name() const { return m_name; }</span>
-<span class="lineNum"> 97 </span> : std::string package() const { return m_package; }
-<span class="lineNum"> 98 </span> : std::string description() const { return m_description; }
-<span class="lineNum"> 99 </span> : std::string icon() const { return m_icon; }
-<span class="lineNum"> 100 </span> : bool operator&lt; ( const Entry &amp;o ) const {
-<span class="lineNum"> 101 </span> : if ( m_name &lt; o.m_name ) return true;
-<span class="lineNum"> 102 </span> : if ( m_name == o.m_name )
-<span class="lineNum"> 103 </span> : if ( m_package &lt; o.m_package ) return true;
-<span class="lineNum"> 104 </span> : return false;
-<span class="lineNum"> 105 </span> : }
-<span class="lineNum"> 106 </span> : protected:
-<span class="lineNum"> 107 </span> : std::string m_name, m_package, m_description, m_icon, m_id;
-<span class="lineNum"> 108 </span> : bool m_supported, m_free;
-<span class="lineNum"> 109 </span> : Categories m_categories;
-<span class="lineNum"> 110 </span> : };
-<span class="lineNum"> 111 </span> :
-<span class="lineNum"> 112 </span><span class="lineCov"> 450 : struct InternalList {</span>
-<span class="lineNum"> 113 </span> : std::string dir;
-<span class="lineNum"> 114 </span> : std::string current;
-<span class="lineNum"> 115 </span> : mutable Entry entry;
-<span class="lineNum"> 116 </span> : off_t offset;
-<span class="lineNum"> 117 </span> : mutable bool loaded;
-<span class="lineNum"> 118 </span> :
-<span class="lineNum"> 119 </span><span class="lineCov"> 9 : InternalList() : dir( &quot;&quot; ), offset( -2 ), loaded( false ) {}</span>
-<span class="lineNum"> 120 </span><span class="lineCov"> 4 : InternalList( std::string d ) : dir( d ), offset( -1 ), loaded( false )</span>
-<span class="lineNum"> 121 </span> : {
-<span class="lineNum"> 122 </span><span class="lineCov"> 4 : firstFile();</span>
-<span class="lineNum"> 123 </span><span class="lineCov"> 4 : }</span>
-<span class="lineNum"> 124 </span> :
-<span class="lineNum"> 125 </span><span class="lineCov"> 56 : Entry head() const {</span>
-<span class="lineNum"> 126 </span><span class="lineCov"> 56 : if (!loaded)</span>
-<span class="lineNum"> 127 </span><span class="lineCov"> 16 : entry.load( current );</span>
-<span class="lineNum"> 128 </span><span class="lineCov"> 56 : loaded = true;</span>
-<span class="lineNum"> 129 </span><span class="lineCov"> 56 : return entry;</span>
-<span class="lineNum"> 130 </span> : }
-<span class="lineNum"> 131 </span> :
-<span class="lineNum"> 132 </span><span class="lineCov"> 33 : bool empty() const {</span>
-<span class="lineNum"> 133 </span><span class="lineCov"> 33 : return (offset == -2);</span>
-<span class="lineNum"> 134 </span> : }
-<span class="lineNum"> 135 </span> :
-<span class="lineNum"> 136 </span><span class="lineCov"> 4 : void firstFile() {</span>
-<span class="lineNum"> 137 </span><span class="lineCov"> 4 : offset = -1;</span>
-<span class="lineNum"> 138 </span><span class="lineCov"> 4 : nextFile();</span>
-<span class="lineNum"> 139 </span><span class="lineCov"> 4 : }</span>
-<span class="lineNum"> 140 </span> :
-<span class="lineNum"> 141 </span><span class="lineCov"> 16 : InternalList tail() const {</span>
-<span class="lineNum"> 142 </span><span class="lineCov"> 16 : InternalList r = *this;</span>
-<span class="lineNum"> 143 </span><span class="lineCov"> 16 : r.nextFile();</span>
-<span class="lineNum"> 144 </span><span class="lineNoCov"> 0 : return r;</span>
-<span class="lineNum"> 145 </span> : }
-<span class="lineNum"> 146 </span> :
-<span class="lineNum"> 147 </span><span class="lineCov"> 20 : void nextFile() {</span>
-<span class="lineNum"> 148 </span><span class="lineCov"> 20 : loaded = false;</span>
-<span class="lineNum"> 149 </span><span class="lineCov"> 20 : DIR *d = opendir( dir.c_str() );</span>
-<span class="lineNum"> 150 </span><span class="lineCov"> 20 : if ( !d ) {</span>
-<span class="lineNum"> 151 </span><span class="lineNoCov"> 0 : offset = -2;</span>
-<span class="lineNum"> 152 </span><span class="lineNoCov"> 0 : closedir( d );</span>
-<span class="lineNum"> 153 </span><span class="lineNoCov"> 0 : return;</span>
-<span class="lineNum"> 154 </span> : }
-<span class="lineNum"> 155 </span> :
-<span class="lineNum"> 156 </span><span class="lineCov"> 20 : if ( offset != -1 )</span>
-<span class="lineNum"> 157 </span><span class="lineCov"> 16 : seekdir( d, offset );</span>
-<span class="lineNum"> 158 </span> :
-<span class="lineNum"> 159 </span><span class="lineCov"> 20 : dirent *ent = 0;</span>
-<span class="lineNum"> 160 </span><span class="lineCov"> 48 : while ( ( ent = readdir( d ) ) != 0 ) {</span>
-<span class="lineNum"> 161 </span><span class="lineCov"> 24 : std::string name( ent-&gt;d_name );</span>
-<span class="lineNum"> 162 </span><span class="lineCov"> 48 : if ( name == &quot;.&quot; || name == &quot;..&quot; )</span>
-<span class="lineNum"> 163 </span><span class="lineCov"> 8 : continue;</span>
-<span class="lineNum"> 164 </span><span class="lineCov"> 16 : if ( !wibble::str::endsWith( name, &quot;.desktop&quot; ) )</span>
-<span class="lineNum"> 165 </span> : continue;
-<span class="lineNum"> 166 </span><span class="lineCov"> 16 : current = dir + &quot;/&quot; + name;</span>
-<span class="lineNum"> 167 </span><span class="lineCov"> 16 : offset = telldir( d );</span>
-<span class="lineNum"> 168 </span><span class="lineCov"> 16 : closedir( d );</span>
-<span class="lineNum"> 169 </span><span class="lineCov"> 16 : return;</span>
-<span class="lineNum"> 170 </span> : }
-<span class="lineNum"> 171 </span><span class="lineCov"> 4 : closedir( d );</span>
-<span class="lineNum"> 172 </span><span class="lineCov"> 4 : offset = -2;</span>
-<span class="lineNum"> 173 </span> : }
-<span class="lineNum"> 174 </span> : };
-<span class="lineNum"> 175 </span> :
-<span class="lineNum"> 176 </span> : struct Setup {
-<span class="lineNum"> 177 </span> : typedef ept::Token Token;
-<span class="lineNum"> 178 </span> : typedef Entry Internal;
-<span class="lineNum"> 179 </span> : typedef desktop::PropertyId PropertyId;
-<span class="lineNum"> 180 </span> : typedef desktop::InternalList InternalList;
-<span class="lineNum"> 181 </span> : };
-<span class="lineNum"> 182 </span> :
-<span class="lineNum"> 183 </span><span class="lineCov"> 5 : struct GroupPolicy {</span>
-<span class="lineNum"> 184 </span><span class="lineCov"> 16 : virtual std::string group( const Entry &amp;e )</span>
-<span class="lineNum"> 185 </span> : {
-<span class="lineNum"> 186 </span><span class="lineCov"> 16 : return wibble::str::fmt( e.categories() );</span>
-<span class="lineNum"> 187 </span> : }
-<span class="lineNum"> 188 </span><span class="lineCov"> 5 : virtual ~GroupPolicy() {}</span>
-<span class="lineNum"> 189 </span> : };
-<span class="lineNum"> 190 </span> :
-<span class="lineNum"> 191 </span> : struct Source : core::Source&lt; Source, Setup, PropertyType &gt;
-<span class="lineNum"> 192 </span><span class="lineCov"> 5 : {</span>
-<span class="lineNum"> 193 </span> : std::string m_dir;
-<span class="lineNum"> 194 </span> :
-<span class="lineNum"> 195 </span> : GroupPolicy m_defaultPolicy;
-<span class="lineNum"> 196 </span> : GroupPolicy *m_policy;
-<span class="lineNum"> 197 </span> :
-<span class="lineNum"> 198 </span><span class="lineCov"> 5 : Source( std::string dir ) : m_dir( dir ),</span>
-<span class="lineNum"> 199 </span><span class="lineCov"> 5 : m_policy( &amp;m_defaultPolicy ) {}</span>
-<span class="lineNum"> 200 </span> :
-<span class="lineNum"> 201 </span><span class="lineCov"> 4 : InternalList listInternal() {</span>
-<span class="lineNum"> 202 </span><span class="lineCov"> 4 : return InternalList( m_dir );</span>
-<span class="lineNum"> 203 </span> : }
-<span class="lineNum"> 204 </span> :
-<span class="lineNum"> 205 </span><span class="lineCov"> 34 : Token getToken( Entry i ) {</span>
-<span class="lineNum"> 206 </span><span class="lineCov"> 34 : Token t;</span>
-<span class="lineNum"> 207 </span><span class="lineCov"> 34 : t._id = std::string( &quot;desktop:&quot; ) + i.id();</span>
-<span class="lineNum"> 208 </span><span class="lineNoCov"> 0 : return t;</span>
-<span class="lineNum"> 209 </span> : }
-<span class="lineNum"> 210 </span> :
-<span class="lineNum"> 211 </span> : Entry lookupToken( Token t ) {
-<span class="lineNum"> 212 </span> : Entry e;
-<span class="lineNum"> 213 </span> : e.load( t.desktop() );
-<span class="lineNum"> 214 </span> : return e;
-<span class="lineNum"> 215 </span> : }
-<span class="lineNum"> 216 </span> :
-<span class="lineNum"> 217 </span> : void setGroupPolicy( GroupPolicy *p ) {
-<span class="lineNum"> 218 </span> : m_policy = p;
-<span class="lineNum"> 219 </span> : }
-<span class="lineNum"> 220 </span> :
-<span class="lineNum"> 221 </span> : template&lt; PropertyId p &gt;
-<span class="lineNum"> 222 </span> : typename PropertyType&lt; p &gt;::T getInternal( Entry );
-<span class="lineNum"> 223 </span> :
-<span class="lineNum"> 224 </span><span class="lineCov"> 56 : struct IsInGroup {</span>
-<span class="lineNum"> 225 </span> : std::string g;
-<span class="lineNum"> 226 </span><span class="lineCov"> 2 : IsInGroup( std::string _g = &quot;&quot; ) : g( _g ) {}</span>
-<span class="lineNum"> 227 </span><span class="lineCov"> 8 : bool operator()( Token, std::string gr ) const {</span>
-<span class="lineNum"> 228 </span><span class="lineCov"> 8 : return gr == g;</span>
-<span class="lineNum"> 229 </span> : }
-<span class="lineNum"> 230 </span> : };
-<span class="lineNum"> 231 </span> :
-<span class="lineNum"> 232 </span><span class="lineCov"> 1 : PropertyFilter&lt; Group, IsInGroup &gt;::T group( std::string id )</span>
-<span class="lineNum"> 233 </span> : {
-<span class="lineNum"> 234 </span><span class="lineCov"> 1 : return propertyFilter&lt; Group &gt;( IsInGroup( id ) );</span>
-<span class="lineNum"> 235 </span> : }
-<span class="lineNum"> 236 </span> :
-<span class="lineNum"> 237 </span><span class="lineCov"> 4 : static std::string projectGroup( ComposedList&lt; Name &gt; t ) {</span>
-<span class="lineNum"> 238 </span><span class="lineCov"> 4 : return t.get&lt; Group &gt;();</span>
-<span class="lineNum"> 239 </span> : }
-<span class="lineNum"> 240 </span> :
-<span class="lineNum"> 241 </span> : list::Unique&lt; list::Sorted&lt;
-<span class="lineNum"> 242 </span> : list::Map&lt; ComposedList&lt; Name &gt;,
-<span class="lineNum"> 243 </span> : __typeof( std::ptr_fun( &amp;projectGroup ) ) &gt; &gt; &gt;
-<span class="lineNum"> 244 </span><span class="lineCov"> 1 : groupList() {</span>
-<span class="lineNum"> 245 </span> : return list::unique(
-<span class="lineNum"> 246 </span> : list::sort( list::map( list&lt; Name &gt;(),
-<span class="lineNum"> 247 </span><span class="lineCov"> 1 : std::ptr_fun( &amp;projectGroup ) ) ) );</span>
-<span class="lineNum"> 248 </span> : }
-<span class="lineNum"> 249 </span> : };
-<span class="lineNum"> 250 </span> :
-<span class="lineNum"> 251 </span><span class="lineCov"> 6 : template&lt;&gt; inline std::string Source::getInternal&lt; Name &gt;( Entry e ) {</span>
-<span class="lineNum"> 252 </span><span class="lineCov"> 6 : return e.name();</span>
-<span class="lineNum"> 253 </span> : }
-<span class="lineNum"> 254 </span> :
-<span class="lineNum"> 255 </span> : template&lt;&gt; inline std::string Source::getInternal&lt; Icon &gt;( Entry e ) {
-<span class="lineNum"> 256 </span> : return e.icon();
-<span class="lineNum"> 257 </span> : }
-<span class="lineNum"> 258 </span> :
-<span class="lineNum"> 259 </span> : template&lt;&gt; inline ept::Token Source::getInternal&lt; Package &gt;( Entry e ) {
-<span class="lineNum"> 260 </span> : ept::Token t;
-<span class="lineNum"> 261 </span> : t._id = e.package();
-<span class="lineNum"> 262 </span> : return t;
-<span class="lineNum"> 263 </span> : }
-<span class="lineNum"> 264 </span> :
-<span class="lineNum"> 265 </span><span class="lineCov"> 16 : template&lt;&gt; inline std::string Source::getInternal&lt; Group &gt;( Entry e ) {</span>
-<span class="lineNum"> 266 </span><span class="lineCov"> 16 : return m_policy-&gt;group( e );</span>
-<span class="lineNum"> 267 </span> : }
-<span class="lineNum"> 268 </span> :
-<span class="lineNum"> 269 </span> : template&lt;&gt; inline std::string Source::getInternal&lt; ShortDescription &gt;( Entry e ) {
-<span class="lineNum"> 270 </span> : return e.description();
-<span class="lineNum"> 271 </span> : }
-<span class="lineNum"> 272 </span> :
-<span class="lineNum"> 273 </span> : }
-<span class="lineNum"> 274 </span> : }
-<span class="lineNum"> 275 </span> : }
-<span class="lineNum"> 276 </span> :
-<span class="lineNum"> 277 </span> : #endif
-</pre>
- </td>
- </tr>
- </table>
- <br>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
- <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LTP GCOV extension version 1.6</a></td></tr>
- </table>
- <br>
-
-</body>
-</html>
diff --git a/rep/ept/core/desktop.test.h.gcov.html b/rep/ept/core/desktop.test.h.gcov.html
deleted file mode 100644
index 0d08106..0000000
--- a/rep/ept/core/desktop.test.h.gcov.html
+++ /dev/null
@@ -1,135 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>LCOV - lcov.info - ept/core/desktop.test.h</title>
- <link rel="stylesheet" type="text/css" href="../../gcov.css">
-</head>
-
-<body>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="title">LTP GCOV extension - code coverage report</td></tr>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
-
- <tr>
- <td width="100%">
- <table cellpadding=1 border=0 width="100%">
- <tr>
- <td class="headerItem" width="20%">Current&nbsp;view:</td>
- <td class="headerValue" width="80%" colspan=4><a href="../../index.html">directory</a> - <a href="index.html">ept/core</a> - desktop.test.h</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Test:</td>
- <td class="headerValue" width="80%" colspan=4>lcov.info</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Date:</td>
- <td class="headerValue" width="20%">2008-08-14</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Instrumented&nbsp;lines:</td>
- <td class="headerValue" width="20%">33</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Code&nbsp;covered:</td>
- <td class="headerValue" width="20%">100.0 %</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Executed&nbsp;lines:</td>
- <td class="headerValue" width="20%">33</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
-
- <table cellpadding=0 cellspacing=0 border=0>
- <tr>
- <td><br></td>
- </tr>
- <tr>
- <td><pre class="source">
-<span class="lineNum"> 1 </span> : // -*- C++ -*-
-<span class="lineNum"> 2 </span> : #include &lt;ept/config.h&gt;
-<span class="lineNum"> 3 </span> : #include &lt;ept/core/desktop.h&gt;
-<span class="lineNum"> 4 </span> : #include &lt;ept/core/list.h&gt;
-<span class="lineNum"> 5 </span> : #include &lt;ept/test.h&gt;
-<span class="lineNum"> 6 </span> :
-<span class="lineNum"> 7 </span> : using namespace ept::core;
-<span class="lineNum"> 8 </span> :
-<span class="lineNum"> 9 </span><span class="lineCov"> 5 : struct TestDesktop {</span>
-<span class="lineNum"> 10 </span> : desktop::Source desk;
-<span class="lineNum"> 11 </span> : ept::Token t;
-<span class="lineNum"> 12 </span> :
-<span class="lineNum"> 13 </span><span class="lineCov"> 5 : TestDesktop() : desk( TEST_ENV_DIR &quot;desktop&quot; ) {}</span>
-<span class="lineNum"> 14 </span> :
-<span class="lineNum"> 15 </span> : template&lt; desktop::PropertyId P, typename L &gt;
-<span class="lineNum"> 16 </span><span class="lineCov"> 3 : void checkIteration2( int c, const char **check, L l ) {</span>
-<span class="lineNum"> 17 </span><span class="lineCov"> 3 : int i = 0;</span>
-<span class="lineNum"> 18 </span><span class="lineCov"> 16 : while ( !l.empty() ) {</span>
-<span class="lineNum"> 19 </span><span class="lineCov"> 10 : assert_eq( l.head().template get&lt; P &gt;(), check[ i ] );</span>
-<span class="lineNum"> 20 </span><span class="lineCov"> 20 : l = l.tail();</span>
-<span class="lineNum"> 21 </span><span class="lineCov"> 10 : ++ i;</span>
-<span class="lineNum"> 22 </span> : }
-<span class="lineNum"> 23 </span><span class="lineCov"> 3 : assert_eq( i, c );</span>
-<span class="lineNum"> 24 </span><span class="lineCov"> 3 : }</span>
-<span class="lineNum"> 25 </span> :
-<span class="lineNum"> 26 </span> : template&lt; desktop::PropertyId P, typename L &gt;
-<span class="lineNum"> 27 </span><span class="lineCov"> 3 : void checkIteration( int c, const char **check, L l ) {</span>
-<span class="lineNum"> 28 </span><span class="lineCov"> 3 : checkIteration2&lt; P &gt;( c, check, list::sort( l ) );</span>
-<span class="lineNum"> 29 </span><span class="lineCov"> 3 : }</span>
-<span class="lineNum"> 30 </span> :
-<span class="lineNum"> 31 </span><span class="lineCov"> 1 : Test iteration() {</span>
-<span class="lineNum"> 32 </span><span class="lineCov"> 1 : const char *check[] = { &quot;Kdict&quot;, &quot;foo&quot;, &quot;XQF&quot;, &quot;X-Server&quot; };</span>
-<span class="lineNum"> 33 </span> : checkIteration&lt; desktop::Name &gt;(
-<span class="lineNum"> 34 </span><span class="lineCov"> 1 : 4, check, desk.list&lt; desktop::Name &gt;() );</span>
-<span class="lineNum"> 35 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 36 </span> :
-<span class="lineNum"> 37 </span><span class="lineCov"> 1 : Test groupProperty() {</span>
-<span class="lineNum"> 38 </span> : const char *check[] = {
-<span class="lineNum"> 39 </span> : &quot;{ KDE, Qt, Utility }&quot;,
-<span class="lineNum"> 40 </span> : &quot;{ KDE, Qt, Utility }&quot;,
-<span class="lineNum"> 41 </span> : &quot;{ Application, Game, X-SuSE-Core-Game }&quot;,
-<span class="lineNum"> 42 </span> : &quot;{ KDE, Qt, X-KDE-information }&quot;,
-<span class="lineNum"> 43 </span><span class="lineCov"> 1 : };</span>
-<span class="lineNum"> 44 </span> : checkIteration&lt; desktop::Group &gt;(
-<span class="lineNum"> 45 </span><span class="lineCov"> 1 : 4, check, desk.list&lt; desktop::Name &gt;() );</span>
-<span class="lineNum"> 46 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 47 </span> :
-<span class="lineNum"> 48 </span><span class="lineCov"> 1 : Test groups() {</span>
-<span class="lineNum"> 49 </span><span class="lineCov"> 1 : const char *check[] = { &quot;Kdict&quot;, &quot;foo&quot; };</span>
-<span class="lineNum"> 50 </span> : checkIteration&lt; desktop::Name &gt;(
-<span class="lineNum"> 51 </span><span class="lineCov"> 1 : 2, check, desk.group( &quot;{ KDE, Qt, Utility }&quot; ) );</span>
-<span class="lineNum"> 52 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 53 </span> :
-<span class="lineNum"> 54 </span><span class="lineCov"> 1 : Test groupList() {</span>
-<span class="lineNum"> 55 </span> : std::string check[] = {
-<span class="lineNum"> 56 </span> : &quot;{ Application, Game, X-SuSE-Core-Game }&quot;,
-<span class="lineNum"> 57 </span> : &quot;{ KDE, Qt, Utility }&quot;,
-<span class="lineNum"> 58 </span> : &quot;{ KDE, Qt, X-KDE-information }&quot;,
-<span class="lineNum"> 59 </span><span class="lineCov"> 1 : };</span>
-<span class="lineNum"> 60 </span> :
-<span class="lineNum"> 61 </span><span class="lineCov"> 2 : assert_list_eq( desk.groupList(), check );</span>
-<span class="lineNum"> 62 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 63 </span> :
-<span class="lineNum"> 64 </span><span class="lineCov"> 1 : Test emptyGroupList() {</span>
-<span class="lineNum"> 65 </span><span class="lineCov"> 1 : desktop::InternalList l;</span>
-<span class="lineNum"> 66 </span><span class="lineCov"> 1 : assert( l.empty() );</span>
-<span class="lineNum"> 67 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 68 </span> : };
-</pre>
- </td>
- </tr>
- </table>
- <br>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
- <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LTP GCOV extension version 1.6</a></td></tr>
- </table>
- <br>
-
-</body>
-</html>
diff --git a/rep/ept/core/desktopfile.h.gcov.html b/rep/ept/core/desktopfile.h.gcov.html
deleted file mode 100644
index 9ed8552..0000000
--- a/rep/ept/core/desktopfile.h.gcov.html
+++ /dev/null
@@ -1,205 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>LCOV - lcov.info - ept/core/desktopfile.h</title>
- <link rel="stylesheet" type="text/css" href="../../gcov.css">
-</head>
-
-<body>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="title">LTP GCOV extension - code coverage report</td></tr>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
-
- <tr>
- <td width="100%">
- <table cellpadding=1 border=0 width="100%">
- <tr>
- <td class="headerItem" width="20%">Current&nbsp;view:</td>
- <td class="headerValue" width="80%" colspan=4><a href="../../index.html">directory</a> - <a href="index.html">ept/core</a> - desktopfile.h</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Test:</td>
- <td class="headerValue" width="80%" colspan=4>lcov.info</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Date:</td>
- <td class="headerValue" width="20%">2008-08-14</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Instrumented&nbsp;lines:</td>
- <td class="headerValue" width="20%">77</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Code&nbsp;covered:</td>
- <td class="headerValue" width="20%">75.3 %</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Executed&nbsp;lines:</td>
- <td class="headerValue" width="20%">58</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
-
- <table cellpadding=0 cellspacing=0 border=0>
- <tr>
- <td><br></td>
- </tr>
- <tr>
- <td><pre class="source">
-<span class="lineNum"> 1 </span> : /// -*- C++ -*- (c) 2006, 2007 Petr Rockai &lt;me@mornfall.net&gt;
-<span class="lineNum"> 2 </span> :
-<span class="lineNum"> 3 </span> : #include &lt;iostream&gt;
-<span class="lineNum"> 4 </span> : #include &lt;string&gt;
-<span class="lineNum"> 5 </span> : #include &lt;map&gt;
-<span class="lineNum"> 6 </span> :
-<span class="lineNum"> 7 </span> : #ifndef EPT_CORE_DESKTOPFILE_H
-<span class="lineNum"> 8 </span> : #define EPT_CORE_DESKTOPFILE_H
-<span class="lineNum"> 9 </span> :
-<span class="lineNum"> 10 </span> : namespace ept {
-<span class="lineNum"> 11 </span> : namespace core {
-<span class="lineNum"> 12 </span> : namespace desktop {
-<span class="lineNum"> 13 </span> :
-<span class="lineNum"> 14 </span><span class="lineCov"> 32 : struct File {</span>
-<span class="lineNum"> 15 </span><span class="lineCov"> 13540 : struct Entry {</span>
-<span class="lineNum"> 16 </span> : std::string key;
-<span class="lineNum"> 17 </span> : std::string value;
-<span class="lineNum"> 18 </span> : };
-<span class="lineNum"> 19 </span> : typedef std::map&lt; std::string, Entry &gt; EntryMap;
-<span class="lineNum"> 20 </span> :
-<span class="lineNum"> 21 </span><span class="lineCov"> 144 : struct Group {</span>
-<span class="lineNum"> 22 </span> : std::string name;
-<span class="lineNum"> 23 </span> : EntryMap entries;
-<span class="lineNum"> 24 </span><span class="lineCov"> 88 : Entry &amp;entry( std::string k ) { return entries[ k ]; }</span>
-<span class="lineNum"> 25 </span> : };
-<span class="lineNum"> 26 </span> :
-<span class="lineNum"> 27 </span> : typedef std::map&lt; std::string, Group &gt; GroupMap;
-<span class="lineNum"> 28 </span> : GroupMap groups;
-<span class="lineNum"> 29 </span><span class="lineCov"> 16 : Group &amp;group( std::string k ) { return groups[ k ]; }</span>
-<span class="lineNum"> 30 </span> : };
-<span class="lineNum"> 31 </span> :
-<span class="lineNum"> 32 </span><span class="lineCov"> 1228 : inline std::istream &amp;operator &gt;&gt;( std::istream &amp;i, File::Entry &amp;e )</span>
-<span class="lineNum"> 33 </span> : {
-<span class="lineNum"> 34 </span><span class="lineCov"> 1228 : std::string spaces = &quot;&quot;; char c; bool started = false;</span>
-<span class="lineNum"> 35 </span> :
-<span class="lineNum"> 36 </span><span class="lineCov"> 1228 : e.key = &quot;&quot;;</span>
-<span class="lineNum"> 37 </span> : // read key
-<span class="lineNum"> 38 </span><span class="lineCov"> 16056 : while ( i.peek() != EOF ) {</span>
-<span class="lineNum"> 39 </span><span class="lineCov"> 14820 : c = i.get();</span>
-<span class="lineNum"> 40 </span><span class="lineCov"> 14820 : if ( !started &amp;&amp; c == '\n' )</span>
-<span class="lineNum"> 41 </span><span class="lineCov"> 8 : return i &gt;&gt; e;</span>
-<span class="lineNum"> 42 </span><span class="lineCov"> 14812 : if ( isspace( c ) ) {</span>
-<span class="lineNum"> 43 </span><span class="lineNoCov"> 0 : spaces += c;</span>
-<span class="lineNum"> 44 </span><span class="lineNoCov"> 0 : continue;</span>
-<span class="lineNum"> 45 </span> : }
-<span class="lineNum"> 46 </span><span class="lineCov"> 14812 : if ( !started &amp;&amp; c == '#' ) {</span>
-<span class="lineNum"> 47 </span><span class="lineNoCov"> 0 : while ( i.peek() != EOF &amp;&amp; i.get() != '\n' )</span>
-<span class="lineNum"> 48 </span> : ; // read till eol
-<span class="lineNum"> 49 </span><span class="lineNoCov"> 0 : return i &gt;&gt; e; // restart reading</span>
-<span class="lineNum"> 50 </span> : }
-<span class="lineNum"> 51 </span><span class="lineCov"> 14812 : started = true;</span>
-<span class="lineNum"> 52 </span><span class="lineCov"> 14812 : if ( c == '=' )</span>
-<span class="lineNum"> 53 </span><span class="lineCov"> 1212 : break;</span>
-<span class="lineNum"> 54 </span><span class="lineCov"> 13600 : e.key += spaces;</span>
-<span class="lineNum"> 55 </span><span class="lineCov"> 13600 : e.key += c;</span>
-<span class="lineNum"> 56 </span><span class="lineCov"> 13600 : spaces = &quot;&quot;;</span>
-<span class="lineNum"> 57 </span> : }
-<span class="lineNum"> 58 </span> : // std::cerr &lt;&lt; &quot;read key: &quot; &lt;&lt; e.key &lt;&lt; std::endl;
-<span class="lineNum"> 59 </span> :
-<span class="lineNum"> 60 </span><span class="lineCov"> 1220 : started = false;</span>
-<span class="lineNum"> 61 </span><span class="lineCov"> 1220 : bool backslash = false;</span>
-<span class="lineNum"> 62 </span> : // read value
-<span class="lineNum"> 63 </span><span class="lineCov"> 37496 : while ( i.peek() != EOF ) {</span>
-<span class="lineNum"> 64 </span><span class="lineCov"> 36268 : c = i.get();</span>
-<span class="lineNum"> 65 </span><span class="lineCov"> 36268 : if ( c == '\n' ) {</span>
-<span class="lineNum"> 66 </span><span class="lineCov"> 1212 : if ( backslash )</span>
-<span class="lineNum"> 67 </span><span class="lineNoCov"> 0 : e.value += '\\';</span>
-<span class="lineNum"> 68 </span><span class="lineCov"> 1212 : return i;</span>
-<span class="lineNum"> 69 </span> : }
-<span class="lineNum"> 70 </span><span class="lineCov"> 35056 : if ( !started &amp;&amp; isspace( c ) )</span>
-<span class="lineNum"> 71 </span><span class="lineNoCov"> 0 : continue;</span>
-<span class="lineNum"> 72 </span><span class="lineCov"> 35056 : started = true;</span>
-<span class="lineNum"> 73 </span><span class="lineCov"> 35056 : if ( backslash ) { // interpret escape sequences</span>
-<span class="lineNum"> 74 </span><span class="lineNoCov"> 0 : if ( c == '\\' ) e.value += '\\';</span>
-<span class="lineNum"> 75 </span><span class="lineNoCov"> 0 : else if ( c == 'n' ) e.value += '\n';</span>
-<span class="lineNum"> 76 </span><span class="lineNoCov"> 0 : else if ( c == 't' ) e.value += '\t';</span>
-<span class="lineNum"> 77 </span><span class="lineNoCov"> 0 : else if ( c == 'r' ) e.value += '\r';</span>
-<span class="lineNum"> 78 </span><span class="lineNoCov"> 0 : else if ( c == 's' ) e.value += ' ';</span>
-<span class="lineNum"> 79 </span><span class="lineNoCov"> 0 : else { e.value += '\\'; e.value += c; }</span>
-<span class="lineNum"> 80 </span><span class="lineNoCov"> 0 : backslash = false;</span>
-<span class="lineNum"> 81 </span><span class="lineNoCov"> 0 : continue;</span>
-<span class="lineNum"> 82 </span> : }
-<span class="lineNum"> 83 </span><span class="lineCov"> 35056 : if ( c == '\\' ) {</span>
-<span class="lineNum"> 84 </span><span class="lineNoCov"> 0 : backslash = true;</span>
-<span class="lineNum"> 85 </span><span class="lineNoCov"> 0 : continue;</span>
-<span class="lineNum"> 86 </span> : }
-<span class="lineNum"> 87 </span><span class="lineCov"> 35056 : e.value += c;</span>
-<span class="lineNum"> 88 </span> : }
-<span class="lineNum"> 89 </span><span class="lineCov"> 8 : return i;</span>
-<span class="lineNum"> 90 </span> : }
-<span class="lineNum"> 91 </span> :
-<span class="lineNum"> 92 </span><span class="lineCov"> 16 : inline std::istream &amp;operator &gt;&gt;( std::istream &amp;i, File::Group &amp;g )</span>
-<span class="lineNum"> 93 </span> : {
-<span class="lineNum"> 94 </span><span class="lineCov"> 16 : bool started = false; char c;</span>
-<span class="lineNum"> 95 </span><span class="lineCov"> 16 : g.name = &quot;&quot;;</span>
-<span class="lineNum"> 96 </span><span class="lineCov"> 256 : while ( i.peek() != EOF ) {</span>
-<span class="lineNum"> 97 </span><span class="lineCov"> 240 : c = i.get();</span>
-<span class="lineNum"> 98 </span><span class="lineCov"> 240 : if ( !started &amp;&amp; isspace( c ) )</span>
-<span class="lineNum"> 99 </span><span class="lineNoCov"> 0 : continue;</span>
-<span class="lineNum"> 100 </span><span class="lineCov"> 240 : if ( !started &amp;&amp; c == '#' ) {</span>
-<span class="lineNum"> 101 </span><span class="lineNoCov"> 0 : while( i.peek() != EOF &amp;&amp; i.get() != '\n' )</span>
-<span class="lineNum"> 102 </span> : ; // read till eol
-<span class="lineNum"> 103 </span><span class="lineNoCov"> 0 : return i &gt;&gt; g; // restart reading</span>
-<span class="lineNum"> 104 </span> : }
-<span class="lineNum"> 105 </span><span class="lineCov"> 240 : if ( !started &amp;&amp; c == '[' ) {</span>
-<span class="lineNum"> 106 </span><span class="lineCov"> 16 : started = true;</span>
-<span class="lineNum"> 107 </span><span class="lineCov"> 16 : continue;</span>
-<span class="lineNum"> 108 </span> : }
-<span class="lineNum"> 109 </span><span class="lineCov"> 224 : if ( started &amp;&amp; c == ']' ) {</span>
-<span class="lineNum"> 110 </span><span class="lineCov"> 16 : while( i.peek() != EOF &amp;&amp; i.get() != '\n' )</span>
-<span class="lineNum"> 111 </span> : ; // read till eol
-<span class="lineNum"> 112 </span><span class="lineCov"> 16 : break;</span>
-<span class="lineNum"> 113 </span> : }
-<span class="lineNum"> 114 </span><span class="lineCov"> 208 : g.name += c;</span>
-<span class="lineNum"> 115 </span> : }
-<span class="lineNum"> 116 </span><span class="lineCov"> 1236 : while ( i.peek() != EOF ) {</span>
-<span class="lineNum"> 117 </span><span class="lineCov"> 1220 : File::Entry e;</span>
-<span class="lineNum"> 118 </span><span class="lineCov"> 1220 : i &gt;&gt; e;</span>
-<span class="lineNum"> 119 </span><span class="lineCov"> 1220 : g.entries[ e.key ] = e;</span>
-<span class="lineNum"> 120 </span> : }
-<span class="lineNum"> 121 </span><span class="lineCov"> 16 : return i;</span>
-<span class="lineNum"> 122 </span> : }
-<span class="lineNum"> 123 </span> :
-<span class="lineNum"> 124 </span><span class="lineCov"> 16 : inline std::istream &amp;operator &gt;&gt;( std::istream &amp;i, File &amp;f )</span>
-<span class="lineNum"> 125 </span> : {
-<span class="lineNum"> 126 </span><span class="lineCov"> 32 : while ( i.peek() != EOF ) {</span>
-<span class="lineNum"> 127 </span><span class="lineCov"> 16 : File::Group g;</span>
-<span class="lineNum"> 128 </span><span class="lineCov"> 16 : i &gt;&gt; g;</span>
-<span class="lineNum"> 129 </span><span class="lineCov"> 16 : f.groups[ g.name ] = g;</span>
-<span class="lineNum"> 130 </span> : }
-<span class="lineNum"> 131 </span><span class="lineCov"> 16 : return i;</span>
-<span class="lineNum"> 132 </span> : }
-<span class="lineNum"> 133 </span> :
-<span class="lineNum"> 134 </span> : }
-<span class="lineNum"> 135 </span> : }
-<span class="lineNum"> 136 </span> : }
-<span class="lineNum"> 137 </span> :
-<span class="lineNum"> 138 </span> : #endif
-</pre>
- </td>
- </tr>
- </table>
- <br>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
- <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LTP GCOV extension version 1.6</a></td></tr>
- </table>
- <br>
-
-</body>
-</html>
diff --git a/rep/ept/core/index.html b/rep/ept/core/index.html
deleted file mode 100644
index bec608b..0000000
--- a/rep/ept/core/index.html
+++ /dev/null
@@ -1,164 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>LCOV - lcov.info - ept/core</title>
- <link rel="stylesheet" type="text/css" href="../../gcov.css">
-</head>
-
-<body>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="title">LTP GCOV extension - code coverage report</td></tr>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
-
- <tr>
- <td width="100%">
- <table cellpadding=1 border=0 width="100%">
- <tr>
- <td class="headerItem" width="20%">Current&nbsp;view:</td>
- <td class="headerValue" width="80%" colspan=4><a href="../../index.html">directory</a> - ept/core</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Test:</td>
- <td class="headerValue" width="80%" colspan=4>lcov.info</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Date:</td>
- <td class="headerValue" width="20%">2008-08-14</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Instrumented&nbsp;lines:</td>
- <td class="headerValue" width="20%">688</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Code&nbsp;covered:</td>
- <td class="headerValue" width="20%">82.8 %</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Executed&nbsp;lines:</td>
- <td class="headerValue" width="20%">570</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
-
- <center>
- <table width="80%" cellpadding=2 cellspacing=1 border=0>
-
- <tr>
- <td width="50%"><br></td>
- <td width="15%"></td>
- <td width="15%"></td>
- <td width="20%"></td>
- </tr>
-
- <tr>
- <td class="tableHead">Filename</td>
- <td class="tableHead" colspan=3>Coverage</td>
- </tr>
-
- <tr>
- <td class="coverFile"><a href="apt.cpp.gcov.html">apt.cpp</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
- </td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">7&nbsp;/&nbsp;7&nbsp;lines</td>
- </tr>
-
- <tr>
- <td class="coverFile"><a href="apt.h.gcov.html">apt.h</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=80 height=10 alt="79.8%"><img src="../../snow.png" width=20 height=10 alt="79.8%"></td></tr></table>
- </td>
- <td class="coverPerHi">79.8&nbsp;%</td>
- <td class="coverNumHi">138&nbsp;/&nbsp;173&nbsp;lines</td>
- </tr>
-
- <tr>
- <td class="coverFile"><a href="apt.test.h.gcov.html">apt.test.h</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
- </td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">60&nbsp;/&nbsp;60&nbsp;lines</td>
- </tr>
-
- <tr>
- <td class="coverFile"><a href="desktop.h.gcov.html">desktop.h</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=94 height=10 alt="94.2%"><img src="../../snow.png" width=6 height=10 alt="94.2%"></td></tr></table>
- </td>
- <td class="coverPerHi">94.2&nbsp;%</td>
- <td class="coverNumHi">97&nbsp;/&nbsp;103&nbsp;lines</td>
- </tr>
-
- <tr>
- <td class="coverFile"><a href="desktop.test.h.gcov.html">desktop.test.h</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
- </td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">33&nbsp;/&nbsp;33&nbsp;lines</td>
- </tr>
-
- <tr>
- <td class="coverFile"><a href="desktopfile.h.gcov.html">desktopfile.h</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=75 height=10 alt="75.3%"><img src="../../snow.png" width=25 height=10 alt="75.3%"></td></tr></table>
- </td>
- <td class="coverPerHi">75.3&nbsp;%</td>
- <td class="coverNumHi">58&nbsp;/&nbsp;77&nbsp;lines</td>
- </tr>
-
- <tr>
- <td class="coverFile"><a href="source.h.gcov.html">source.h</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
- </td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">34&nbsp;/&nbsp;34&nbsp;lines</td>
- </tr>
-
- <tr>
- <td class="coverFile"><a href="xapian.cpp.gcov.html">xapian.cpp</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../amber.png" width=21 height=10 alt="21.4%"><img src="../../snow.png" width=79 height=10 alt="21.4%"></td></tr></table>
- </td>
- <td class="coverPerMed">21.4&nbsp;%</td>
- <td class="coverNumMed">12&nbsp;/&nbsp;56&nbsp;lines</td>
- </tr>
-
- <tr>
- <td class="coverFile"><a href="xapian.h.gcov.html">xapian.h</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=87 height=10 alt="87.2%"><img src="../../snow.png" width=13 height=10 alt="87.2%"></td></tr></table>
- </td>
- <td class="coverPerHi">87.2&nbsp;%</td>
- <td class="coverNumHi">95&nbsp;/&nbsp;109&nbsp;lines</td>
- </tr>
-
- <tr>
- <td class="coverFile"><a href="xapian.test.h.gcov.html">xapian.test.h</a></td>
- <td class="coverBar" align="center">
- <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
- </td>
- <td class="coverPerHi">100.0&nbsp;%</td>
- <td class="coverNumHi">36&nbsp;/&nbsp;36&nbsp;lines</td>
- </tr>
-
- </table>
- </center>
- <br>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
- <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php">LTP GCOV extension version 1.6</a></td></tr>
- </table>
- <br>
-
-</body>
-</html>
diff --git a/rep/ept/core/source.h.gcov.html b/rep/ept/core/source.h.gcov.html
deleted file mode 100644
index 2c2d8e5..0000000
--- a/rep/ept/core/source.h.gcov.html
+++ /dev/null
@@ -1,181 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>LCOV - lcov.info - ept/core/source.h</title>
- <link rel="stylesheet" type="text/css" href="../../gcov.css">
-</head>
-
-<body>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="title">LTP GCOV extension - code coverage report</td></tr>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
-
- <tr>
- <td width="100%">
- <table cellpadding=1 border=0 width="100%">
- <tr>
- <td class="headerItem" width="20%">Current&nbsp;view:</td>
- <td class="headerValue" width="80%" colspan=4><a href="../../index.html">directory</a> - <a href="index.html">ept/core</a> - source.h</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Test:</td>
- <td class="headerValue" width="80%" colspan=4>lcov.info</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Date:</td>
- <td class="headerValue" width="20%">2008-08-14</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Instrumented&nbsp;lines:</td>
- <td class="headerValue" width="20%">34</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Code&nbsp;covered:</td>
- <td class="headerValue" width="20%">100.0 %</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Executed&nbsp;lines:</td>
- <td class="headerValue" width="20%">34</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
-
- <table cellpadding=0 cellspacing=0 border=0>
- <tr>
- <td><br></td>
- </tr>
- <tr>
- <td><pre class="source">
-<span class="lineNum"> 1 </span> : // -*- C++ -*-
-<span class="lineNum"> 2 </span> :
-<span class="lineNum"> 3 </span> : #include &lt;ept/core/list.h&gt;
-<span class="lineNum"> 4 </span> :
-<span class="lineNum"> 5 </span> : #ifndef EPT_CORE_SOURCE_H
-<span class="lineNum"> 6 </span> : #define EPT_CORE_SOURCE_H
-<span class="lineNum"> 7 </span> :
-<span class="lineNum"> 8 </span> : namespace ept {
-<span class="lineNum"> 9 </span> : namespace core {
-<span class="lineNum"> 10 </span> :
-<span class="lineNum"> 11 </span> : template&lt; typename Self, typename Setup,
-<span class="lineNum"> 12 </span> : template&lt; typename Setup::PropertyId &gt; class PType &gt;
-<span class="lineNum"> 13 </span><span class="lineCov"> 38 : struct Source {</span>
-<span class="lineNum"> 14 </span> : typedef typename Setup::PropertyId PropertyId;
-<span class="lineNum"> 15 </span> : typedef typename Setup::Token Token;
-<span class="lineNum"> 16 </span> :
-<span class="lineNum"> 17 </span> : Token m_cachedToken;
-<span class="lineNum"> 18 </span> : typename Setup::Internal m_cached;
-<span class="lineNum"> 19 </span> :
-<span class="lineNum"> 20 </span><span class="lineCov"> 43 : Self &amp;self() { return *static_cast&lt; Self * &gt;( this ); }</span>
-<span class="lineNum"> 21 </span> :
-<span class="lineNum"> 22 </span> : template&lt; PropertyId property &gt;
-<span class="lineNum"> 23 </span><span class="lineCov"> 13 : typename PType&lt; property &gt;::T get( Token t ) {</span>
-<span class="lineNum"> 24 </span><span class="lineCov"> 13 : if ( m_cachedToken != t ) {</span>
-<span class="lineNum"> 25 </span><span class="lineCov"> 10 : m_cachedToken = t;</span>
-<span class="lineNum"> 26 </span><span class="lineCov"> 10 : m_cached = self().lookupToken( t );</span>
-<span class="lineNum"> 27 </span> : }
-<span class="lineNum"> 28 </span><span class="lineCov"> 13 : return self().template getInternal&lt; property &gt;( m_cached );</span>
-<span class="lineNum"> 29 </span> : }
-<span class="lineNum"> 30 </span> :
-<span class="lineNum"> 31 </span> : void invalidate() {
-<span class="lineNum"> 32 </span> : m_cachedToken = ept::Token();
-<span class="lineNum"> 33 </span> : m_cached = typename Setup::Internal();
-<span class="lineNum"> 34 </span> : }
-<span class="lineNum"> 35 </span> :
-<span class="lineNum"> 36 </span> : template&lt; PropertyId _property &gt;
-<span class="lineNum"> 37 </span> : struct ComposedList : wibble::mixin::Comparable&lt; ComposedList&lt; _property &gt; &gt;
-<span class="lineNum"> 38 </span><span class="lineCov"> 4009 : {</span>
-<span class="lineNum"> 39 </span> : typedef Self Origin;
-<span class="lineNum"> 40 </span> : typedef typename Setup::Token Token;
-<span class="lineNum"> 41 </span> : typedef typename PType&lt; _property &gt;::T Property;
-<span class="lineNum"> 42 </span> : typedef ComposedList Type;
-<span class="lineNum"> 43 </span> :
-<span class="lineNum"> 44 </span> : Origin *origin;
-<span class="lineNum"> 45 </span> : typename Setup::InternalList internal;
-<span class="lineNum"> 46 </span> :
-<span class="lineNum"> 47 </span><span class="lineCov"> 12056 : ComposedList tail() const {</span>
-<span class="lineNum"> 48 </span><span class="lineCov"> 12056 : return ComposedList&lt; _property &gt;( *origin, internal.tail() );</span>
-<span class="lineNum"> 49 </span> : }
-<span class="lineNum"> 50 </span> :
-<span class="lineNum"> 51 </span><span class="lineCov"> 12078 : bool empty() const { return internal.empty(); }</span>
-<span class="lineNum"> 52 </span> :
-<span class="lineNum"> 53 </span><span class="lineCov"> 13 : bool operator&lt;( const ComposedList &amp;o ) const {</span>
-<span class="lineNum"> 54 </span><span class="lineCov"> 13 : return token() &lt; o.token();</span>
-<span class="lineNum"> 55 </span> : }
-<span class="lineNum"> 56 </span> :
-<span class="lineNum"> 57 </span><span class="lineCov"> 18 : ComposedList &amp;head() { return *this; }</span>
-<span class="lineNum"> 58 </span><span class="lineCov"> 4 : const ComposedList &amp;head() const { return *this; }</span>
-<span class="lineNum"> 59 </span> :
-<span class="lineNum"> 60 </span><span class="lineCov"> 6054 : Token token() const { return origin-&gt;getToken( internal.head() ); }</span>
-<span class="lineNum"> 61 </span> :
-<span class="lineNum"> 62 </span><span class="lineCov"> 7836 : Property property() const {</span>
-<span class="lineNum"> 63 </span> : return origin-&gt;template getInternal&lt; _property &gt;(
-<span class="lineNum"> 64 </span><span class="lineCov"> 7836 : internal.head() );</span>
-<span class="lineNum"> 65 </span> : }
-<span class="lineNum"> 66 </span> :
-<span class="lineNum"> 67 </span> : template&lt; PropertyId P &gt;
-<span class="lineNum"> 68 </span> : typename PType&lt; P &gt;::T
-<span class="lineNum"> 69 </span><span class="lineCov"> 14 : get() const {</span>
-<span class="lineNum"> 70 </span><span class="lineCov"> 14 : return origin-&gt;template getInternal&lt; P &gt;( internal.head() );</span>
-<span class="lineNum"> 71 </span> : }
-<span class="lineNum"> 72 </span> :
-<span class="lineNum"> 73 </span><span class="lineCov"> 8 : ComposedList() : origin( 0 ) {}</span>
-<span class="lineNum"> 74 </span> :
-<span class="lineNum"> 75 </span><span class="lineCov"> 12066 : ComposedList( Origin &amp;o, typename Setup::InternalList i )</span>
-<span class="lineNum"> 76 </span><span class="lineCov"> 12066 : : origin( &amp;o ), internal( i ) {}</span>
-<span class="lineNum"> 77 </span> : };
-<span class="lineNum"> 78 </span> :
-<span class="lineNum"> 79 </span> : template&lt; PropertyId property &gt;
-<span class="lineNum"> 80 </span><span class="lineCov"> 10 : ComposedList&lt; property &gt; list()</span>
-<span class="lineNum"> 81 </span> : {
-<span class="lineNum"> 82 </span><span class="lineCov"> 10 : return ComposedList&lt; property &gt;( self(), self().listInternal() );</span>
-<span class="lineNum"> 83 </span> : }
-<span class="lineNum"> 84 </span> :
-<span class="lineNum"> 85 </span> : template&lt; PropertyId P, typename F &gt;
-<span class="lineNum"> 86 </span><span class="lineCov"> 50 : struct Propertify {</span>
-<span class="lineNum"> 87 </span> : F f;
-<span class="lineNum"> 88 </span><span class="lineCov"> 2 : Propertify( F _f = F() ) : f( _f ) {}</span>
-<span class="lineNum"> 89 </span><span class="lineCov"> 8 : bool operator()( const ComposedList&lt; P &gt; &amp;x ) const {</span>
-<span class="lineNum"> 90 </span><span class="lineCov"> 8 : return f( x.token(), x.property() );</span>
-<span class="lineNum"> 91 </span> : }
-<span class="lineNum"> 92 </span> : };
-<span class="lineNum"> 93 </span> :
-<span class="lineNum"> 94 </span> : template&lt; PropertyId P, typename F &gt;
-<span class="lineNum"> 95 </span> : struct PropertyFilter {
-<span class="lineNum"> 96 </span> : typedef typename list::Filtered&lt;
-<span class="lineNum"> 97 </span> : ComposedList&lt; P &gt;, Propertify&lt; P, F &gt; &gt; T;
-<span class="lineNum"> 98 </span> : };
-<span class="lineNum"> 99 </span> :
-<span class="lineNum"> 100 </span> : template&lt; PropertyId P, typename F &gt;
-<span class="lineNum"> 101 </span> : typename PropertyFilter&lt; P, F &gt;::T
-<span class="lineNum"> 102 </span><span class="lineCov"> 1 : propertyFilter( F f ) {</span>
-<span class="lineNum"> 103 </span><span class="lineCov"> 1 : return list::filter( list&lt; P &gt;(), Propertify&lt; P, F &gt;( f ) );</span>
-<span class="lineNum"> 104 </span> : }
-<span class="lineNum"> 105 </span> :
-<span class="lineNum"> 106 </span><span class="lineCov"> 38 : Source()</span>
-<span class="lineNum"> 107 </span><span class="lineCov"> 38 : {</span>
-<span class="lineNum"> 108 </span><span class="lineCov"> 38 : }</span>
-<span class="lineNum"> 109 </span> : };
-<span class="lineNum"> 110 </span> :
-<span class="lineNum"> 111 </span> : }
-<span class="lineNum"> 112 </span> : }
-<span class="lineNum"> 113 </span> :
-<span class="lineNum"> 114 </span> : #endif
-</pre>
- </td>
- </tr>
- </table>
- <br>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
- <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LTP GCOV extension version 1.6</a></td></tr>
- </table>
- <br>
-
-</body>
-</html>
diff --git a/rep/ept/core/xapian.cpp.gcov.html b/rep/ept/core/xapian.cpp.gcov.html
deleted file mode 100644
index fdd7a16..0000000
--- a/rep/ept/core/xapian.cpp.gcov.html
+++ /dev/null
@@ -1,208 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>LCOV - lcov.info - ept/core/xapian.cpp</title>
- <link rel="stylesheet" type="text/css" href="../../gcov.css">
-</head>
-
-<body>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="title">LTP GCOV extension - code coverage report</td></tr>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
-
- <tr>
- <td width="100%">
- <table cellpadding=1 border=0 width="100%">
- <tr>
- <td class="headerItem" width="20%">Current&nbsp;view:</td>
- <td class="headerValue" width="80%" colspan=4><a href="../../index.html">directory</a> - <a href="index.html">ept/core</a> - xapian.cpp</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Test:</td>
- <td class="headerValue" width="80%" colspan=4>lcov.info</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Date:</td>
- <td class="headerValue" width="20%">2008-08-14</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Instrumented&nbsp;lines:</td>
- <td class="headerValue" width="20%">56</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Code&nbsp;covered:</td>
- <td class="headerValue" width="20%">21.4 %</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Executed&nbsp;lines:</td>
- <td class="headerValue" width="20%">12</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
-
- <table cellpadding=0 cellspacing=0 border=0>
- <tr>
- <td><br></td>
- </tr>
- <tr>
- <td><pre class="source">
-<span class="lineNum"> 1 </span> : // -*- C++ -*- (c) 2007 Enrico Zini &lt;enrico@enricozini.org&gt;
-<span class="lineNum"> 2 </span> : // Petr Rockai &lt;me@mornfall.net&gt;
-<span class="lineNum"> 3 </span> :
-<span class="lineNum"> 4 </span> : /*
-<span class="lineNum"> 5 </span> : * Copyright (C) 2007 Enrico Zini &lt;enrico@debian.org&gt;
-<span class="lineNum"> 6 </span> : *
-<span class="lineNum"> 7 </span> : * This program is free software; you can redistribute it and/or modify
-<span class="lineNum"> 8 </span> : * it under the terms of the GNU General Public License as published by
-<span class="lineNum"> 9 </span> : * the Free Software Foundation; either version 2 of the License, or
-<span class="lineNum"> 10 </span> : * (at your option) any later version.
-<span class="lineNum"> 11 </span> : *
-<span class="lineNum"> 12 </span> : * This program is distributed in the hope that it will be useful,
-<span class="lineNum"> 13 </span> : * but WITHOUT ANY WARRANTY; without even the implied warranty of
-<span class="lineNum"> 14 </span> : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-<span class="lineNum"> 15 </span> : * GNU General Public License for more details.
-<span class="lineNum"> 16 </span> : *
-<span class="lineNum"> 17 </span> : * You should have received a copy of the GNU General Public License
-<span class="lineNum"> 18 </span> : * along with this program; if not, write to the Free Software
-<span class="lineNum"> 19 </span> : * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-<span class="lineNum"> 20 </span> : */
-<span class="lineNum"> 21 </span> :
-<span class="lineNum"> 22 </span> : #include &lt;ept/core/xapian.h&gt;
-<span class="lineNum"> 23 </span> : #include &lt;ept/core/apt.h&gt;
-<span class="lineNum"> 24 </span> : #include &lt;ept/core/apt/record.h&gt;
-<span class="lineNum"> 25 </span> :
-<span class="lineNum"> 26 </span> : #include &lt;ept/textsearch/maint/path.h&gt;
-<span class="lineNum"> 27 </span> :
-<span class="lineNum"> 28 </span> : #include &lt;wibble/regexp.h&gt;
-<span class="lineNum"> 29 </span> : #include &lt;cctype&gt;
-<span class="lineNum"> 30 </span> : #include &lt;cmath&gt;
-<span class="lineNum"> 31 </span> :
-<span class="lineNum"> 32 </span> : #include &lt;xapian/queryparser.h&gt;
-<span class="lineNum"> 33 </span> : #include &lt;xapian/base.h&gt;
-<span class="lineNum"> 34 </span> :
-<span class="lineNum"> 35 </span> : #include &lt;algorithm&gt;
-<span class="lineNum"> 36 </span> :
-<span class="lineNum"> 37 </span> : #include &lt;iostream&gt;
-<span class="lineNum"> 38 </span> :
-<span class="lineNum"> 39 </span> : using namespace std;
-<span class="lineNum"> 40 </span> : using namespace ept;
-<span class="lineNum"> 41 </span> : // using namespace ept::debtags;
-<span class="lineNum"> 42 </span> :
-<span class="lineNum"> 43 </span> : namespace ept {
-<span class="lineNum"> 44 </span> : namespace core {
-<span class="lineNum"> 45 </span> : namespace xapian {
-<span class="lineNum"> 46 </span> :
-<span class="lineNum"> 47 </span> : size_t max_index = 0;
-<span class="lineNum"> 48 </span> :
-<span class="lineNum"> 49 </span><span class="lineCov"> 4 : Source::Source()</span>
-<span class="lineNum"> 50 </span><span class="lineCov"> 4 : : m_stem(&quot;en&quot;), m_opened( false )</span>
-<span class="lineNum"> 51 </span> : {
-<span class="lineNum"> 52 </span><span class="lineCov"> 4 : }</span>
-<span class="lineNum"> 53 </span> :
-<span class="lineNum"> 54 </span><span class="lineCov"> 9 : time_t Source::timestamp() const {</span>
-<span class="lineNum"> 55 </span><span class="lineCov"> 9 : return textsearch::Path::indexTimestamp();</span>
-<span class="lineNum"> 56 </span> : }
-<span class="lineNum"> 57 </span> :
-<span class="lineNum"> 58 </span><span class="lineCov"> 9 : void Source::open() const {</span>
-<span class="lineNum"> 59 </span><span class="lineCov"> 9 : if (timestamp()) {</span>
-<span class="lineNum"> 60 </span><span class="lineCov"> 9 : std::string path = textsearch::Path::index();</span>
-<span class="lineNum"> 61 </span><span class="lineCov"> 9 : m_db = Xapian::Database( path );</span>
-<span class="lineNum"> 62 </span><span class="lineCov"> 9 : m_opened = true;</span>
-<span class="lineNum"> 63 </span> : }
-<span class="lineNum"> 64 </span><span class="lineCov"> 9 : }</span>
-<span class="lineNum"> 65 </span> :
-<span class="lineNum"> 66 </span><span class="lineNoCov"> 0 : std::string Source::toLower(const std::string&amp; str)</span>
-<span class="lineNum"> 67 </span> : {
-<span class="lineNum"> 68 </span><span class="lineNoCov"> 0 : std::string res;</span>
-<span class="lineNum"> 69 </span><span class="lineNoCov"> 0 : res.reserve(str.size());</span>
-<span class="lineNum"> 70 </span><span class="lineNoCov"> 0 : for (std::string::const_iterator i = str.begin(); i != str.end(); ++i)</span>
-<span class="lineNum"> 71 </span><span class="lineNoCov"> 0 : res += tolower(*i);</span>
-<span class="lineNum"> 72 </span><span class="lineNoCov"> 0 : return res;</span>
-<span class="lineNum"> 73 </span> : }
-<span class="lineNum"> 74 </span> :
-<span class="lineNum"> 75 </span> : void Source::normalize_and_add(Xapian::Document&amp; doc, const std::string&amp; term,
-<span class="lineNum"> 76 </span><span class="lineNoCov"> 0 : int&amp; /* pos */) const</span>
-<span class="lineNum"> 77 </span> : {
-<span class="lineNum"> 78 </span><span class="lineNoCov"> 0 : string t = Source::toLower(term);</span>
-<span class="lineNum"> 79 </span><span class="lineNoCov"> 0 : string s = m_stem(t);</span>
-<span class="lineNum"> 80 </span><span class="lineNoCov"> 0 : doc.add_term(t);</span>
-<span class="lineNum"> 81 </span><span class="lineNoCov"> 0 : if (s != t)</span>
-<span class="lineNum"> 82 </span><span class="lineNoCov"> 0 : doc.add_term(s);</span>
-<span class="lineNum"> 83 </span><span class="lineNoCov"> 0 : }</span>
-<span class="lineNum"> 84 </span> :
-<span class="lineNum"> 85 </span><span class="lineNoCov"> 0 : Xapian::docid Source::docidByName(const std::string&amp; pkgname) const</span>
-<span class="lineNum"> 86 </span> : {
-<span class="lineNum"> 87 </span><span class="lineNoCov"> 0 : Xapian::PostingIterator i = m_db.postlist_begin(&quot;pkg:&quot;+pkgname);</span>
-<span class="lineNum"> 88 </span><span class="lineNoCov"> 0 : if (i == m_db.postlist_end(&quot;pkg:&quot;+pkgname))</span>
-<span class="lineNum"> 89 </span><span class="lineNoCov"> 0 : return 0;</span>
-<span class="lineNum"> 90 </span> : else
-<span class="lineNum"> 91 </span><span class="lineNoCov"> 0 : return *i;</span>
-<span class="lineNum"> 92 </span> : }
-<span class="lineNum"> 93 </span> :
-<span class="lineNum"> 94 </span><span class="lineNoCov"> 0 : Xapian::Query Source::makeRelatedQuery(const std::string&amp; pkgname) const</span>
-<span class="lineNum"> 95 </span> : {
-<span class="lineNum"> 96 </span><span class="lineNoCov"> 0 : Xapian::Enquire enquire(db());</span>
-<span class="lineNum"> 97 </span> :
-<span class="lineNum"> 98 </span> : // Retrieve the document for the given package
-<span class="lineNum"> 99 </span><span class="lineNoCov"> 0 : enquire.set_query(Xapian::Query(&quot;pkg:&quot;+pkgname));</span>
-<span class="lineNum"> 100 </span><span class="lineNoCov"> 0 : Xapian::MSet matches = enquire.get_mset(0, 1);</span>
-<span class="lineNum"> 101 </span><span class="lineNoCov"> 0 : Xapian::MSetIterator mi = matches.begin();</span>
-<span class="lineNum"> 102 </span><span class="lineNoCov"> 0 : if (mi == matches.end()) return Xapian::Query();</span>
-<span class="lineNum"> 103 </span><span class="lineNoCov"> 0 : Xapian::Document doc = mi.get_document();</span>
-<span class="lineNum"> 104 </span> :
-<span class="lineNum"> 105 </span> : // Return the query to get the list of similar documents
-<span class="lineNum"> 106 </span><span class="lineNoCov"> 0 : return Xapian::Query(Xapian::Query::OP_OR, doc.termlist_begin(), doc.termlist_end());</span>
-<span class="lineNum"> 107 </span> : }
-<span class="lineNum"> 108 </span> :
-<span class="lineNum"> 109 </span> : double Source::getDoubleValue(const std::string&amp; pkgname,
-<span class="lineNum"> 110 </span><span class="lineNoCov"> 0 : Xapian::valueno val_id) const</span>
-<span class="lineNum"> 111 </span> : {
-<span class="lineNum"> 112 </span><span class="lineNoCov"> 0 : Xapian::docid id = docidByName(pkgname);</span>
-<span class="lineNum"> 113 </span><span class="lineNoCov"> 0 : if (id == 0)</span>
-<span class="lineNum"> 114 </span><span class="lineNoCov"> 0 : return 0.0;</span>
-<span class="lineNum"> 115 </span><span class="lineNoCov"> 0 : Xapian::Document doc = db().get_document(id);</span>
-<span class="lineNum"> 116 </span><span class="lineNoCov"> 0 : string val = doc.get_value(val_id);</span>
-<span class="lineNum"> 117 </span><span class="lineNoCov"> 0 : if (val.empty())</span>
-<span class="lineNum"> 118 </span><span class="lineNoCov"> 0 : return 0.0;</span>
-<span class="lineNum"> 119 </span> : else
-<span class="lineNum"> 120 </span><span class="lineNoCov"> 0 : return Xapian::sortable_unserialise(val);</span>
-<span class="lineNum"> 121 </span> : }
-<span class="lineNum"> 122 </span> :
-<span class="lineNum"> 123 </span> : int Source::getIntValue(const std::string&amp; pkgname,
-<span class="lineNum"> 124 </span><span class="lineNoCov"> 0 : Xapian::valueno val_id) const</span>
-<span class="lineNum"> 125 </span> : {
-<span class="lineNum"> 126 </span><span class="lineNoCov"> 0 : Xapian::docid id = docidByName(pkgname);</span>
-<span class="lineNum"> 127 </span><span class="lineNoCov"> 0 : if (id == 0)</span>
-<span class="lineNum"> 128 </span><span class="lineNoCov"> 0 : return 0;</span>
-<span class="lineNum"> 129 </span><span class="lineNoCov"> 0 : Xapian::Document doc = db().get_document(id);</span>
-<span class="lineNum"> 130 </span><span class="lineNoCov"> 0 : string val = doc.get_value(val_id);</span>
-<span class="lineNum"> 131 </span><span class="lineNoCov"> 0 : if (val.empty())</span>
-<span class="lineNum"> 132 </span><span class="lineNoCov"> 0 : return 0;</span>
-<span class="lineNum"> 133 </span> : else
-<span class="lineNum"> 134 </span><span class="lineNoCov"> 0 : return (int)nearbyint(Xapian::sortable_unserialise(val));</span>
-<span class="lineNum"> 135 </span> : }
-<span class="lineNum"> 136 </span> :
-<span class="lineNum"> 137 </span> : }
-<span class="lineNum"> 138 </span> : }
-<span class="lineNum"> 139 </span><span class="lineCov"> 3 : }</span>
-<span class="lineNum"> 140 </span> :
-<span class="lineNum"> 141 </span> : // vim:set ts=4 sw=4:
-</pre>
- </td>
- </tr>
- </table>
- <br>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
- <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LTP GCOV extension version 1.6</a></td></tr>
- </table>
- <br>
-
-</body>
-</html>
diff --git a/rep/ept/core/xapian.h.gcov.html b/rep/ept/core/xapian.h.gcov.html
deleted file mode 100644
index d38457e..0000000
--- a/rep/ept/core/xapian.h.gcov.html
+++ /dev/null
@@ -1,456 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>LCOV - lcov.info - ept/core/xapian.h</title>
- <link rel="stylesheet" type="text/css" href="../../gcov.css">
-</head>
-
-<body>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="title">LTP GCOV extension - code coverage report</td></tr>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
-
- <tr>
- <td width="100%">
- <table cellpadding=1 border=0 width="100%">
- <tr>
- <td class="headerItem" width="20%">Current&nbsp;view:</td>
- <td class="headerValue" width="80%" colspan=4><a href="../../index.html">directory</a> - <a href="index.html">ept/core</a> - xapian.h</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Test:</td>
- <td class="headerValue" width="80%" colspan=4>lcov.info</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Date:</td>
- <td class="headerValue" width="20%">2008-08-14</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Instrumented&nbsp;lines:</td>
- <td class="headerValue" width="20%">109</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Code&nbsp;covered:</td>
- <td class="headerValue" width="20%">87.2 %</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Executed&nbsp;lines:</td>
- <td class="headerValue" width="20%">95</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
-
- <table cellpadding=0 cellspacing=0 border=0>
- <tr>
- <td><br></td>
- </tr>
- <tr>
- <td><pre class="source">
-<span class="lineNum"> 1 </span> : // -*- C++ -*-
-<span class="lineNum"> 2 </span> : #include &lt;xapian.h&gt;
-<span class="lineNum"> 3 </span> : #include &lt;ept/core/apt.h&gt;
-<span class="lineNum"> 4 </span> : #include &lt;wibble/regexp.h&gt;
-<span class="lineNum"> 5 </span> : #include &lt;wibble/sys/pipe.h&gt;
-<span class="lineNum"> 6 </span> : #include &lt;wibble/sys/exec.h&gt;
-<span class="lineNum"> 7 </span> :
-<span class="lineNum"> 8 </span> : #ifndef EPT_XAPIAN_H
-<span class="lineNum"> 9 </span> : #define EPT_XAPIAN_H
-<span class="lineNum"> 10 </span> :
-<span class="lineNum"> 11 </span> : namespace ept {
-<span class="lineNum"> 12 </span> : namespace core {
-<span class="lineNum"> 13 </span> : namespace xapian {
-<span class="lineNum"> 14 </span> :
-<span class="lineNum"> 15 </span> : // Allocate value indexes for known values
-<span class="lineNum"> 16 </span> : const Xapian::valueno VAL_APT_INSTALLED_SIZE = 1;
-<span class="lineNum"> 17 </span> : const Xapian::valueno VAL_APT_PACKAGE_SIZE = 2;
-<span class="lineNum"> 18 </span> : const Xapian::valueno VAL_POPCON = 10;
-<span class="lineNum"> 19 </span> : const Xapian::valueno VAL_ITERATING_RATING = 20;
-<span class="lineNum"> 20 </span> : const Xapian::valueno VAL_ITERATING_FUNCTIONALITY = 21;
-<span class="lineNum"> 21 </span> : const Xapian::valueno VAL_ITERATING_USABILITY = 22;
-<span class="lineNum"> 22 </span> : const Xapian::valueno VAL_ITERATING_SECURITY = 23;
-<span class="lineNum"> 23 </span> : const Xapian::valueno VAL_ITERATING_PERFORMANCE = 24;
-<span class="lineNum"> 24 </span> : const Xapian::valueno VAL_ITERATING_QUALITY = 25;
-<span class="lineNum"> 25 </span> : const Xapian::valueno VAL_ITERATING_SUPPORT = 26;
-<span class="lineNum"> 26 </span> : const Xapian::valueno VAL_ITERATING_ADOPTION = 27;
-<span class="lineNum"> 27 </span> :
-<span class="lineNum"> 28 </span> : struct TagFilter : public Xapian::ExpandDecider
-<span class="lineNum"> 29 </span><span class="lineCov"> 8 : {</span>
-<span class="lineNum"> 30 </span><span class="lineCov"> 1760 : virtual bool operator()(const std::string &amp;term) const {</span>
-<span class="lineNum"> 31 </span><span class="lineCov"> 1760 : return term[0] == 'X' &amp;&amp; term[1] == 'T';</span>
-<span class="lineNum"> 32 </span> : }
-<span class="lineNum"> 33 </span> : };
-<span class="lineNum"> 34 </span> :
-<span class="lineNum"> 35 </span><span class="lineCov"> 91 : struct List {</span>
-<span class="lineNum"> 36 </span> : char m_enqPlace[sizeof(Xapian::Enquire)];
-<span class="lineNum"> 37 </span> : mutable Xapian::MSet m_matches;
-<span class="lineNum"> 38 </span> : mutable Xapian::MSet::const_iterator m_iter;
-<span class="lineNum"> 39 </span> : mutable int m_pos;
-<span class="lineNum"> 40 </span> : typedef List Type;
-<span class="lineNum"> 41 </span> :
-<span class="lineNum"> 42 </span> : static const size_t chunkSize = 20;
-<span class="lineNum"> 43 </span> :
-<span class="lineNum"> 44 </span> : List head() const {
-<span class="lineNum"> 45 </span> : seek();
-<span class="lineNum"> 46 </span> : return *this;
-<span class="lineNum"> 47 </span> : }
-<span class="lineNum"> 48 </span> :
-<span class="lineNum"> 49 </span><span class="lineCov"> 15 : Token token() const {</span>
-<span class="lineNum"> 50 </span><span class="lineCov"> 15 : Token t;</span>
-<span class="lineNum"> 51 </span><span class="lineCov"> 15 : t._id = m_iter.get_document().get_data();</span>
-<span class="lineNum"> 52 </span><span class="lineNoCov"> 0 : return t;</span>
-<span class="lineNum"> 53 </span> : }
-<span class="lineNum"> 54 </span> :
-<span class="lineNum"> 55 </span> : bool operator&lt;( const List &amp;o ) const {
-<span class="lineNum"> 56 </span> : return token() &lt; o.token();
-<span class="lineNum"> 57 </span> : }
-<span class="lineNum"> 58 </span> :
-<span class="lineNum"> 59 </span><span class="lineCov"> 58 : void seek() const {</span>
-<span class="lineNum"> 60 </span><span class="lineCov"> 58 : if ( m_matches.size() == chunkSize &amp;&amp; m_iter == m_matches.end() ) {</span>
-<span class="lineNum"> 61 </span><span class="lineNoCov"> 0 : m_matches = enq().get_mset( m_pos, chunkSize );</span>
-<span class="lineNum"> 62 </span><span class="lineNoCov"> 0 : m_iter = m_matches.begin();</span>
-<span class="lineNum"> 63 </span><span class="lineNoCov"> 0 : m_pos += chunkSize;</span>
-<span class="lineNum"> 64 </span> : }
-<span class="lineNum"> 65 </span><span class="lineCov"> 58 : }</span>
-<span class="lineNum"> 66 </span> :
-<span class="lineNum"> 67 </span><span class="lineCov"> 30 : bool empty() const {</span>
-<span class="lineNum"> 68 </span><span class="lineCov"> 30 : if ( m_pos == -1 )</span>
-<span class="lineNum"> 69 </span><span class="lineNoCov"> 0 : return true;</span>
-<span class="lineNum"> 70 </span><span class="lineCov"> 30 : seek();</span>
-<span class="lineNum"> 71 </span><span class="lineCov"> 30 : return m_matches.size() &lt; 30 &amp;&amp; m_iter == m_matches.end();</span>
-<span class="lineNum"> 72 </span> : }
-<span class="lineNum"> 73 </span> :
-<span class="lineNum"> 74 </span><span class="lineCov"> 28 : List tail() const {</span>
-<span class="lineNum"> 75 </span><span class="lineCov"> 28 : List t = *this;</span>
-<span class="lineNum"> 76 </span><span class="lineCov"> 28 : t.seek();</span>
-<span class="lineNum"> 77 </span><span class="lineCov"> 28 : t.m_iter ++;</span>
-<span class="lineNum"> 78 </span><span class="lineNoCov"> 0 : return t;</span>
-<span class="lineNum"> 79 </span> : }
-<span class="lineNum"> 80 </span> :
-<span class="lineNum"> 81 </span><span class="lineCov"> 6 : Xapian::Enquire const &amp;enq() const {</span>
-<span class="lineNum"> 82 </span><span class="lineCov"> 6 : return *reinterpret_cast&lt; Xapian::Enquire const * &gt;( m_enqPlace );</span>
-<span class="lineNum"> 83 </span> : }
-<span class="lineNum"> 84 </span> :
-<span class="lineNum"> 85 </span><span class="lineCov"> 3 : List( Xapian::Enquire _enq )</span>
-<span class="lineNum"> 86 </span><span class="lineCov"> 3 : {</span>
-<span class="lineNum"> 87 </span><span class="lineCov"> 3 : Xapian::Enquire *e = new (m_enqPlace) Xapian::Enquire( _enq );</span>
-<span class="lineNum"> 88 </span><span class="lineCov"> 3 : assert_eq( e, &amp;enq() );</span>
-<span class="lineNum"> 89 </span><span class="lineCov"> 6 : m_matches = enq().get_mset( 0, chunkSize );</span>
-<span class="lineNum"> 90 </span><span class="lineCov"> 3 : m_iter = m_matches.begin();</span>
-<span class="lineNum"> 91 </span><span class="lineCov"> 3 : m_pos = chunkSize;</span>
-<span class="lineNum"> 92 </span><span class="lineCov"> 3 : }</span>
-<span class="lineNum"> 93 </span> :
-<span class="lineNum"> 94 </span> : List() {}
-<span class="lineNum"> 95 </span> : };
-<span class="lineNum"> 96 </span> :
-<span class="lineNum"> 97 </span><span class="lineCov"> 13 : struct Query {</span>
-<span class="lineNum"> 98 </span> : Xapian::Database *m_db;
-<span class="lineNum"> 99 </span> : Xapian::Enquire m_enq;
-<span class="lineNum"> 100 </span> : Xapian::Stem m_stem;
-<span class="lineNum"> 101 </span> : typedef std::set&lt; std::string &gt; Terms;
-<span class="lineNum"> 102 </span> : Terms m_include, m_exclude;
-<span class="lineNum"> 103 </span> : int m_cutoff;
-<span class="lineNum"> 104 </span> : bool m_expand;
-<span class="lineNum"> 105 </span> :
-<span class="lineNum"> 106 </span><span class="lineCov"> 5 : void setQualityCutoff( int c ) {</span>
-<span class="lineNum"> 107 </span><span class="lineCov"> 5 : m_cutoff = c;</span>
-<span class="lineNum"> 108 </span><span class="lineCov"> 5 : }</span>
-<span class="lineNum"> 109 </span> :
-<span class="lineNum"> 110 </span><span class="lineCov"> 5 : void setExpand( bool e ) { m_expand = e; }</span>
-<span class="lineNum"> 111 </span> :
-<span class="lineNum"> 112 </span><span class="lineCov"> 9 : Query( Xapian::Database &amp;e ) : m_db( &amp;e ), m_enq( e ) {</span>
-<span class="lineNum"> 113 </span><span class="lineCov"> 9 : m_cutoff = 50;</span>
-<span class="lineNum"> 114 </span><span class="lineCov"> 9 : m_expand = true;</span>
-<span class="lineNum"> 115 </span><span class="lineCov"> 9 : }</span>
-<span class="lineNum"> 116 </span> :
-<span class="lineNum"> 117 </span><span class="lineCov"> 5 : wibble::Tokenizer queryTokenizer( std::string q ) const {</span>
-<span class="lineNum"> 118 </span><span class="lineCov"> 5 : return wibble::Tokenizer( q, &quot;[A-Za-z0-9_+:-]+&quot;, REG_EXTENDED );</span>
-<span class="lineNum"> 119 </span> : }
-<span class="lineNum"> 120 </span> :
-<span class="lineNum"> 121 </span> : template&lt; typename Out &gt;
-<span class="lineNum"> 122 </span><span class="lineCov"> 5 : void tokenizeQuery( std::string q, Out o ) const</span>
-<span class="lineNum"> 123 </span> : {
-<span class="lineNum"> 124 </span><span class="lineCov"> 5 : wibble::Tokenizer tok = queryTokenizer( q );</span>
-<span class="lineNum"> 125 </span><span class="lineCov"> 15 : for (wibble::Tokenizer::const_iterator i = tok.begin(); i != tok.end(); ++i )</span>
-<span class="lineNum"> 126 </span> : {
-<span class="lineNum"> 127 </span><span class="lineCov"> 10 : if ( (*i).find( &quot;::&quot; ) != std::string::npos ) { // assume tag</span>
-<span class="lineNum"> 128 </span><span class="lineNoCov"> 0 : *o++ = (&quot;XT&quot; + *i);</span>
-<span class="lineNum"> 129 </span> : } else {
-<span class="lineNum"> 130 </span><span class="lineCov"> 10 : std::string t = wibble::str::tolower(*i);</span>
-<span class="lineNum"> 131 </span><span class="lineCov"> 10 : std::string s = m_stem(t);</span>
-<span class="lineNum"> 132 </span><span class="lineCov"> 10 : *o++ = t;</span>
-<span class="lineNum"> 133 </span><span class="lineCov"> 10 : if (s != t)</span>
-<span class="lineNum"> 134 </span><span class="lineCov"> 5 : *o++ = (&quot;Z&quot; + s);</span>
-<span class="lineNum"> 135 </span> : }
-<span class="lineNum"> 136 </span> : }
-<span class="lineNum"> 137 </span><span class="lineCov"> 5 : }</span>
-<span class="lineNum"> 138 </span> :
-<span class="lineNum"> 139 </span> : template&lt; typename Out &gt;
-<span class="lineNum"> 140 </span><span class="lineCov"> 4 : void expand( Out o ) const</span>
-<span class="lineNum"> 141 </span> : {
-<span class="lineNum"> 142 </span><span class="lineCov"> 4 : Xapian::RSet rset;</span>
-<span class="lineNum"> 143 </span> : // Get the top 5 results as 'good ones' to compute the search expansion
-<span class="lineNum"> 144 </span><span class="lineCov"> 4 : Xapian::MSet mset = m_enq.get_mset(0, 5);</span>
-<span class="lineNum"> 145 </span><span class="lineCov"> 24 : for ( Xapian::MSet::iterator i = mset.begin(); i != mset.end(); ++i )</span>
-<span class="lineNum"> 146 </span><span class="lineCov"> 24 : rset.add_document(i);</span>
-<span class="lineNum"> 147 </span> : // Get the expanded set, only expanding the query with tag names
-<span class="lineNum"> 148 </span><span class="lineCov"> 4 : TagFilter tagf;</span>
-<span class="lineNum"> 149 </span><span class="lineCov"> 4 : Xapian::ESet eset = m_enq.get_eset(5, rset, &amp;tagf);</span>
-<span class="lineNum"> 150 </span><span class="lineCov"> 4 : for ( Xapian::ESetIterator i = eset.begin(); i != eset.end(); ++i )</span>
-<span class="lineNum"> 151 </span><span class="lineCov"> 4 : *o++ = *i;</span>
-<span class="lineNum"> 152 </span><span class="lineCov"> 4 : }</span>
-<span class="lineNum"> 153 </span> :
-<span class="lineNum"> 154 </span><span class="lineCov"> 8 : void updateEnquire() {</span>
-<span class="lineNum"> 155 </span> : // set up query now
-<span class="lineNum"> 156 </span> : Xapian::Query inc( Xapian::Query::OP_OR,
-<span class="lineNum"> 157 </span> : m_include.begin(),
-<span class="lineNum"> 158 </span><span class="lineCov"> 8 : m_include.end() ),</span>
-<span class="lineNum"> 159 </span> : exc( Xapian::Query::OP_OR,
-<span class="lineNum"> 160 </span> : m_exclude.begin(),
-<span class="lineNum"> 161 </span><span class="lineCov"> 8 : m_exclude.end() ),</span>
-<span class="lineNum"> 162 </span><span class="lineCov"> 8 : query( Xapian::Query::OP_AND_NOT, inc, exc );</span>
-<span class="lineNum"> 163 </span> :
-<span class="lineNum"> 164 </span><span class="lineCov"> 8 : m_enq.set_query( query );</span>
-<span class="lineNum"> 165 </span> :
-<span class="lineNum"> 166 </span><span class="lineCov"> 8 : if ( m_expand ) {</span>
-<span class="lineNum"> 167 </span><span class="lineCov"> 4 : m_expand = false;</span>
-<span class="lineNum"> 168 </span><span class="lineCov"> 4 : expand( std::inserter( m_include, m_include.begin() ) );</span>
-<span class="lineNum"> 169 </span><span class="lineCov"> 4 : updateEnquire();</span>
-<span class="lineNum"> 170 </span><span class="lineCov"> 4 : m_expand = true;</span>
-<span class="lineNum"> 171 </span><span class="lineCov"> 4 : return;</span>
-<span class="lineNum"> 172 </span> : }
-<span class="lineNum"> 173 </span> :
-<span class="lineNum"> 174 </span><span class="lineCov"> 4 : Xapian::MSet first = m_enq.get_mset(0, 1, 0, 0, 0);</span>
-<span class="lineNum"> 175 </span><span class="lineCov"> 4 : Xapian::MSetIterator ifirst = first.begin();</span>
-<span class="lineNum"> 176 </span><span class="lineCov"> 4 : if ( ifirst != first.end() ) {</span>
-<span class="lineNum"> 177 </span><span class="lineCov"> 4 : Xapian::percent cutoff = ifirst.get_percent() * m_cutoff / 100;</span>
-<span class="lineNum"> 178 </span><span class="lineCov"> 4 : m_enq.set_cutoff(cutoff);</span>
-<span class="lineNum"> 179 </span><span class="lineCov"> 4 : }</span>
-<span class="lineNum"> 180 </span> : }
-<span class="lineNum"> 181 </span> :
-<span class="lineNum"> 182 </span><span class="lineCov"> 3 : List results() {</span>
-<span class="lineNum"> 183 </span><span class="lineCov"> 3 : updateEnquire();</span>
-<span class="lineNum"> 184 </span><span class="lineCov"> 3 : return List( m_enq );</span>
-<span class="lineNum"> 185 </span> : }
-<span class="lineNum"> 186 </span> :
-<span class="lineNum"> 187 </span> : std::map&lt; std::string, int &gt; relevantTags( int n = 30 ) {
-<span class="lineNum"> 188 </span> : updateEnquire();
-<span class="lineNum"> 189 </span> : std::map&lt; std::string, int &gt; relev;
-<span class="lineNum"> 190 </span> : Xapian::RSet rset;
-<span class="lineNum"> 191 </span> : Xapian::MSet mset = m_enq.get_mset(0, 100);
-<span class="lineNum"> 192 </span> : for ( Xapian::MSet::iterator i = mset.begin(); i != mset.end(); ++i )
-<span class="lineNum"> 193 </span> : rset.add_document(i);
-<span class="lineNum"> 194 </span> : // Get the expanded set, only expanding the query with tag names
-<span class="lineNum"> 195 </span> : TagFilter tagf;
-<span class="lineNum"> 196 </span> : Xapian::ESet eset = m_enq.get_eset(n, rset, &amp;tagf);
-<span class="lineNum"> 197 </span> : for ( Xapian::ESetIterator i = eset.begin(); i != eset.end(); ++i )
-<span class="lineNum"> 198 </span> : relev.insert( relev.begin(),
-<span class="lineNum"> 199 </span> : std::make_pair(
-<span class="lineNum"> 200 </span> : std::string( *i, 2, std::string::npos ),
-<span class="lineNum"> 201 </span> : i.get_weight() ) );
-<span class="lineNum"> 202 </span> : return relev;
-<span class="lineNum"> 203 </span> : }
-<span class="lineNum"> 204 </span> :
-<span class="lineNum"> 205 </span><span class="lineCov"> 5 : void addTerms( std::string t, bool partial = false, bool exclude = false ) {</span>
-<span class="lineNum"> 206 </span><span class="lineCov"> 5 : Terms &amp;to = exclude ? m_exclude : m_include;</span>
-<span class="lineNum"> 207 </span><span class="lineCov"> 5 : std::vector&lt; std::string &gt; tok;</span>
-<span class="lineNum"> 208 </span><span class="lineCov"> 5 : tokenizeQuery( t, std::back_inserter( tok ) );</span>
-<span class="lineNum"> 209 </span><span class="lineCov"> 5 : if ( partial ) {</span>
-<span class="lineNum"> 210 </span><span class="lineNoCov"> 0 : if ( tok.back().size() == 1 ) {</span>
-<span class="lineNum"> 211 </span><span class="lineNoCov"> 0 : tok.pop_back();</span>
-<span class="lineNum"> 212 </span> : } else {
-<span class="lineNum"> 213 </span> : std::copy(
-<span class="lineNum"> 214 </span> : m_db-&gt;allterms_begin( tok.back() ),
-<span class="lineNum"> 215 </span> : m_db-&gt;allterms_end( tok.back() ),
-<span class="lineNum"> 216 </span><span class="lineNoCov"> 0 : std::back_inserter( tok ) );</span>
-<span class="lineNum"> 217 </span> : }
-<span class="lineNum"> 218 </span> : }
-<span class="lineNum"> 219 </span><span class="lineCov"> 5 : std::copy( tok.begin(), tok.end(), std::inserter( to, to.begin() ) );</span>
-<span class="lineNum"> 220 </span><span class="lineCov"> 5 : }</span>
-<span class="lineNum"> 221 </span> :
-<span class="lineNum"> 222 </span> : void addTerms( const Terms &amp;t, bool exclude = false ) {
-<span class="lineNum"> 223 </span> : Terms &amp;to = exclude ? m_exclude : m_include;
-<span class="lineNum"> 224 </span> : std::copy( t.begin(), t.end(), std::inserter( to, to.begin() ) );
-<span class="lineNum"> 225 </span> : }
-<span class="lineNum"> 226 </span> :
-<span class="lineNum"> 227 </span> : };
-<span class="lineNum"> 228 </span> :
-<span class="lineNum"> 229 </span> : struct Source
-<span class="lineNum"> 230 </span><span class="lineCov"> 4 : {</span>
-<span class="lineNum"> 231 </span> : protected:
-<span class="lineNum"> 232 </span> : mutable Xapian::Database m_db;
-<span class="lineNum"> 233 </span> : Xapian::Stem m_stem;
-<span class="lineNum"> 234 </span> : mutable bool m_opened;
-<span class="lineNum"> 235 </span> :
-<span class="lineNum"> 236 </span> : /// Return a lowercased copy of the string
-<span class="lineNum"> 237 </span> : static std::string toLower(const std::string&amp; str);
-<span class="lineNum"> 238 </span> :
-<span class="lineNum"> 239 </span> : /**
-<span class="lineNum"> 240 </span> : * Add normalised tokens computed from the string to the document doc.
-<span class="lineNum"> 241 </span> : *
-<span class="lineNum"> 242 </span> : * pos is used as a sequence generator for entering the token position in
-<span class="lineNum"> 243 </span> : * the document.
-<span class="lineNum"> 244 </span> : */
-<span class="lineNum"> 245 </span> : void normalize_and_add(Xapian::Document&amp; doc, const std::string&amp; term,
-<span class="lineNum"> 246 </span> : int&amp; pos) const;
-<span class="lineNum"> 247 </span> :
-<span class="lineNum"> 248 </span> : public:
-<span class="lineNum"> 249 </span> : Source();
-<span class="lineNum"> 250 </span> :
-<span class="lineNum"> 251 </span> : /// Access the Xapian database
-<span class="lineNum"> 252 </span><span class="lineCov"> 9 : Xapian::Database&amp; db() {</span>
-<span class="lineNum"> 253 </span><span class="lineCov"> 9 : open();</span>
-<span class="lineNum"> 254 </span><span class="lineCov"> 9 : return m_db;</span>
-<span class="lineNum"> 255 </span> : }
-<span class="lineNum"> 256 </span> :
-<span class="lineNum"> 257 </span> : /// Access the Xapian database
-<span class="lineNum"> 258 </span><span class="lineNoCov"> 0 : const Xapian::Database&amp; db() const {</span>
-<span class="lineNum"> 259 </span><span class="lineNoCov"> 0 : open();</span>
-<span class="lineNum"> 260 </span><span class="lineNoCov"> 0 : return m_db;</span>
-<span class="lineNum"> 261 </span> : }
-<span class="lineNum"> 262 </span> :
-<span class="lineNum"> 263 </span> : void open() const;
-<span class="lineNum"> 264 </span> : void invalidate() {
-<span class="lineNum"> 265 </span> : m_db = Xapian::Database();
-<span class="lineNum"> 266 </span> : m_opened = false;
-<span class="lineNum"> 267 </span> : }
-<span class="lineNum"> 268 </span> :
-<span class="lineNum"> 269 </span> : /// Timestamp of when the Xapian database was last updated
-<span class="lineNum"> 270 </span> : time_t timestamp() const;
-<span class="lineNum"> 271 </span> :
-<span class="lineNum"> 272 </span> : void updateLeniently( AptDatabase &amp;apt, OpProgress *op = 0 ) {
-<span class="lineNum"> 273 </span> : if (apt.timestamp() - timestamp() &gt; 86400 * 8) // a little over a week
-<span class="lineNum"> 274 </span> : update( op );
-<span class="lineNum"> 275 </span> : }
-<span class="lineNum"> 276 </span> :
-<span class="lineNum"> 277 </span> : void update( OpProgress *op = 0 ) {
-<span class="lineNum"> 278 </span> : if ( !op )
-<span class="lineNum"> 279 </span> : op = new OpProgress();
-<span class="lineNum"> 280 </span> :
-<span class="lineNum"> 281 </span> : wibble::exception::AddContext _ctx( &quot;Rebuilding Xapian database.&quot; );
-<span class="lineNum"> 282 </span> : int outfd;
-<span class="lineNum"> 283 </span> : std::string op_str;
-<span class="lineNum"> 284 </span> :
-<span class="lineNum"> 285 </span> : wibble::sys::Exec ex( &quot;update-apt-xapian-index&quot; );
-<span class="lineNum"> 286 </span> : ex.args.push_back( &quot;--batch-mode&quot; );
-<span class="lineNum"> 287 </span> : ex.searchInPath = true;
-<span class="lineNum"> 288 </span> : ex.forkAndRedirect( 0, &amp;outfd, 0 );
-<span class="lineNum"> 289 </span> :
-<span class="lineNum"> 290 </span> : wibble::sys::Pipe monit( outfd );
-<span class="lineNum"> 291 </span> : while ( !monit.eof() ) {
-<span class="lineNum"> 292 </span> : std::string line = monit.nextLine();
-<span class="lineNum"> 293 </span> : if ( line.empty() ) {
-<span class="lineNum"> 294 </span> : usleep( 100000 );
-<span class="lineNum"> 295 </span> : continue;
-<span class="lineNum"> 296 </span> : }
-<span class="lineNum"> 297 </span> : std::cerr &lt;&lt; &quot;got : &quot; &lt;&lt; line &lt;&lt; std::endl;
-<span class="lineNum"> 298 </span> : if ( wibble::str::startsWith( line, &quot;begin: &quot; ) ) {
-<span class="lineNum"> 299 </span> : op_str = std::string( line, 7, std::string::npos );
-<span class="lineNum"> 300 </span> : op-&gt;OverallProgress( 0, 100, 100, op_str );
-<span class="lineNum"> 301 </span> :
-<span class="lineNum"> 302 </span> : } else if ( wibble::str::startsWith( line, &quot;done: &quot; ) ) {
-<span class="lineNum"> 303 </span> : op-&gt;Done();
-<span class="lineNum"> 304 </span> : } else if ( wibble::str::startsWith( line, &quot;progress: &quot; ) ) {
-<span class="lineNum"> 305 </span> : wibble::ERegexp re( &quot;progress: ([0-9]+)/([0-9]+)&quot;, 3 );
-<span class="lineNum"> 306 </span> : if ( re.match( line ) ) {
-<span class="lineNum"> 307 </span> : assert_eq( re[2], &quot;100&quot; );
-<span class="lineNum"> 308 </span> : op-&gt;OverallProgress( atoi( re[1].c_str() ), 100, 100, op_str );
-<span class="lineNum"> 309 </span> : }
-<span class="lineNum"> 310 </span> : }
-<span class="lineNum"> 311 </span> : }
-<span class="lineNum"> 312 </span> : ex.waitForSuccess();
-<span class="lineNum"> 313 </span> : invalidate();
-<span class="lineNum"> 314 </span> : }
-<span class="lineNum"> 315 </span> :
-<span class="lineNum"> 316 </span> : /// Returns true if the index has data
-<span class="lineNum"> 317 </span> : bool hasData() const { return timestamp() &gt; 0; }
-<span class="lineNum"> 318 </span> :
-<span class="lineNum"> 319 </span> : Query query( const std::string &amp;s,
-<span class="lineNum"> 320 </span> : bool expand = true,
-<span class="lineNum"> 321 </span><span class="lineCov"> 5 : int qualityCutoff = 50 )</span>
-<span class="lineNum"> 322 </span> : {
-<span class="lineNum"> 323 </span><span class="lineCov"> 5 : Query q( db() );</span>
-<span class="lineNum"> 324 </span><span class="lineCov"> 5 : q.setQualityCutoff( qualityCutoff );</span>
-<span class="lineNum"> 325 </span><span class="lineCov"> 5 : q.setExpand( expand );</span>
-<span class="lineNum"> 326 </span><span class="lineCov"> 5 : q.addTerms( s );</span>
-<span class="lineNum"> 327 </span><span class="lineNoCov"> 0 : return q;</span>
-<span class="lineNum"> 328 </span> : }
-<span class="lineNum"> 329 </span> :
-<span class="lineNum"> 330 </span> : Query partialQuery( const std::string &amp;s ) {
-<span class="lineNum"> 331 </span> : Query q( db() );
-<span class="lineNum"> 332 </span> : q.addTerms( s, true ); // partial
-<span class="lineNum"> 333 </span> : return q;
-<span class="lineNum"> 334 </span> : }
-<span class="lineNum"> 335 </span> :
-<span class="lineNum"> 336 </span> : /// Returns true if the index is older than the Apt database information
-<span class="lineNum"> 337 </span> : // bool needsRebuild(apt::Apt&amp; apt);
-<span class="lineNum"> 338 </span> :
-<span class="lineNum"> 339 </span> : Xapian::docid docidByName(const std::string&amp; pkgname) const;
-<span class="lineNum"> 340 </span> :
-<span class="lineNum"> 341 </span> : /**
-<span class="lineNum"> 342 </span> : * Tokenize the string and build an OR query with the resulting keywords
-<span class="lineNum"> 343 </span> : */
-<span class="lineNum"> 344 </span> : Xapian::Query makeORQuery(const std::string&amp; keywords) const;
-<span class="lineNum"> 345 </span> :
-<span class="lineNum"> 346 </span> : /**
-<span class="lineNum"> 347 </span> : * Tokenize the string and build an OR query with the resulting keywords.
-<span class="lineNum"> 348 </span> : *
-<span class="lineNum"> 349 </span> : * The last token in keywords is considered to be typed only partially, to
-<span class="lineNum"> 350 </span> : * implement proper search-as-you-type.
-<span class="lineNum"> 351 </span> : */
-<span class="lineNum"> 352 </span> : Xapian::Query makePartialORQuery(const std::string&amp; keywords) const;
-<span class="lineNum"> 353 </span> :
-<span class="lineNum"> 354 </span> : /**
-<span class="lineNum"> 355 </span> : * Build a query with the given keywords, specified as iterators of strings
-<span class="lineNum"> 356 </span> : */
-<span class="lineNum"> 357 </span> : template&lt;typename ITER&gt;
-<span class="lineNum"> 358 </span> : Xapian::Query makeORQuery(const ITER&amp; begin, const ITER&amp; end) const
-<span class="lineNum"> 359 </span> : {
-<span class="lineNum"> 360 </span> : return Xapian::Query(Xapian::Query::OP_OR, begin, end);
-<span class="lineNum"> 361 </span> : }
-<span class="lineNum"> 362 </span> :
-<span class="lineNum"> 363 </span> : /// Return a list of tag-based terms that can be used to expand an OR query
-<span class="lineNum"> 364 </span> : std::vector&lt;std::string&gt; expand(Xapian::Enquire&amp; enq) const;
-<span class="lineNum"> 365 </span> :
-<span class="lineNum"> 366 </span> : // std::vector&lt;std::string&gt; similar(const std::string&amp; pkg);
-<span class="lineNum"> 367 </span> :
-<span class="lineNum"> 368 </span> : /**
-<span class="lineNum"> 369 </span> : * Create a query to look for packages similar to the given one
-<span class="lineNum"> 370 </span> : */
-<span class="lineNum"> 371 </span> : Xapian::Query makeRelatedQuery(const std::string&amp; pkgname) const;
-<span class="lineNum"> 372 </span> :
-<span class="lineNum"> 373 </span> : /**
-<span class="lineNum"> 374 </span> : * Get the integer value for
-<span class="lineNum"> 375 </span> : */
-<span class="lineNum"> 376 </span> : double getDoubleValue(const std::string&amp; pkgname,
-<span class="lineNum"> 377 </span> : Xapian::valueno val_id) const;
-<span class="lineNum"> 378 </span> :
-<span class="lineNum"> 379 </span> : /**
-<span class="lineNum"> 380 </span> : * Get the integer value for
-<span class="lineNum"> 381 </span> : */
-<span class="lineNum"> 382 </span> : int getIntValue(const std::string&amp; pkgname, Xapian::valueno val_id) const;
-<span class="lineNum"> 383 </span> : };
-<span class="lineNum"> 384 </span> :
-<span class="lineNum"> 385 </span> : }
-<span class="lineNum"> 386 </span> : }
-<span class="lineNum"> 387 </span> : }
-<span class="lineNum"> 388 </span> :
-<span class="lineNum"> 389 </span> : #endif
-</pre>
- </td>
- </tr>
- </table>
- <br>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
- <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LTP GCOV extension version 1.6</a></td></tr>
- </table>
- <br>
-
-</body>
-</html>
diff --git a/rep/ept/core/xapian.test.h.gcov.html b/rep/ept/core/xapian.test.h.gcov.html
deleted file mode 100644
index 17fc9dd..0000000
--- a/rep/ept/core/xapian.test.h.gcov.html
+++ /dev/null
@@ -1,141 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>LCOV - lcov.info - ept/core/xapian.test.h</title>
- <link rel="stylesheet" type="text/css" href="../../gcov.css">
-</head>
-
-<body>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="title">LTP GCOV extension - code coverage report</td></tr>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
-
- <tr>
- <td width="100%">
- <table cellpadding=1 border=0 width="100%">
- <tr>
- <td class="headerItem" width="20%">Current&nbsp;view:</td>
- <td class="headerValue" width="80%" colspan=4><a href="../../index.html">directory</a> - <a href="index.html">ept/core</a> - xapian.test.h</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Test:</td>
- <td class="headerValue" width="80%" colspan=4>lcov.info</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Date:</td>
- <td class="headerValue" width="20%">2008-08-14</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Instrumented&nbsp;lines:</td>
- <td class="headerValue" width="20%">36</td>
- </tr>
- <tr>
- <td class="headerItem" width="20%">Code&nbsp;covered:</td>
- <td class="headerValue" width="20%">100.0 %</td>
- <td width="20%"></td>
- <td class="headerItem" width="20%">Executed&nbsp;lines:</td>
- <td class="headerValue" width="20%">36</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
- </table>
-
- <table cellpadding=0 cellspacing=0 border=0>
- <tr>
- <td><br></td>
- </tr>
- <tr>
- <td><pre class="source">
-<span class="lineNum"> 1 </span> : // -*- C++ -*-
-<span class="lineNum"> 2 </span> : #include &lt;ept/test.h&gt;
-<span class="lineNum"> 3 </span> : #include &lt;ept/core/list.h&gt;
-<span class="lineNum"> 4 </span> : #include &lt;ept/core/xapian.h&gt;
-<span class="lineNum"> 5 </span> :
-<span class="lineNum"> 6 </span> : // TODO temporary, for building test database
-<span class="lineNum"> 7 </span> : #include &lt;ept/apt/apt.h&gt;
-<span class="lineNum"> 8 </span> : #include &lt;ept/textsearch/textsearch.h&gt;
-<span class="lineNum"> 9 </span> : #include &lt;ept/textsearch/maint/path.h&gt;
-<span class="lineNum"> 10 </span> :
-<span class="lineNum"> 11 </span> : using namespace ept;
-<span class="lineNum"> 12 </span> : using namespace core;
-<span class="lineNum"> 13 </span> :
-<span class="lineNum"> 14 </span> : namespace ept {
-<span class="lineNum"> 15 </span> : namespace textsearch {
-<span class="lineNum"> 16 </span> : extern size_t max_index;
-<span class="lineNum"> 17 </span> : }
-<span class="lineNum"> 18 </span> : }
-<span class="lineNum"> 19 </span> :
-<span class="lineNum"> 20 </span><span class="lineCov"> 4 : struct XapianTestEnvironment : AptTestEnvironment {</span>
-<span class="lineNum"> 21 </span> : textsearch::Path::OverrideIndexDir oid;
-<span class="lineNum"> 22 </span> : textsearch::TextSearch textsearch;
-<span class="lineNum"> 23 </span> : apt::Apt apt;
-<span class="lineNum"> 24 </span><span class="lineCov"> 4 : XapianTestEnvironment()</span>
-<span class="lineNum"> 25 </span><span class="lineCov"> 4 : : oid( TEST_ENV_DIR &quot;xapian&quot; )</span>
-<span class="lineNum"> 26 </span> : {
-<span class="lineNum"> 27 </span><span class="lineCov"> 4 : ept::textsearch::max_index = 1000;</span>
-<span class="lineNum"> 28 </span><span class="lineCov"> 4 : textsearch.rebuildIfNeeded(apt);</span>
-<span class="lineNum"> 29 </span><span class="lineCov"> 4 : }</span>
-<span class="lineNum"> 30 </span> : };
-<span class="lineNum"> 31 </span> :
-<span class="lineNum"> 32 </span><span class="lineCov"> 4 : struct TestXapian : XapianTestEnvironment {</span>
-<span class="lineNum"> 33 </span> : xapian::Source xap;
-<span class="lineNum"> 34 </span> : xapian::Query query;
-<span class="lineNum"> 35 </span> :
-<span class="lineNum"> 36 </span><span class="lineCov"> 4 : TestXapian() : query( xap.db() )</span>
-<span class="lineNum"> 37 </span> : {
-<span class="lineNum"> 38 </span><span class="lineCov"> 4 : query = xap.query( &quot;sgml tool&quot; );</span>
-<span class="lineNum"> 39 </span><span class="lineCov"> 4 : }</span>
-<span class="lineNum"> 40 </span> :
-<span class="lineNum"> 41 </span><span class="lineCov"> 1 : Test enquire() {</span>
-<span class="lineNum"> 42 </span><span class="lineCov"> 1 : query.updateEnquire();</span>
-<span class="lineNum"> 43 </span><span class="lineCov"> 1 : Xapian::MSet matches = query.m_enq.get_mset(0, 100);</span>
-<span class="lineNum"> 44 </span><span class="lineCov"> 1 : assert( matches.size() &gt; 0 );</span>
-<span class="lineNum"> 45 </span><span class="lineCov"> 2 : assert_eq( matches.begin().get_document().get_data(), &quot;psgml&quot; );</span>
-<span class="lineNum"> 46 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 47 </span> :
-<span class="lineNum"> 48 </span><span class="lineCov"> 1 : Test listCount() {</span>
-<span class="lineNum"> 49 </span><span class="lineCov"> 1 : xapian::List l( query.results() );</span>
-<span class="lineNum"> 50 </span><span class="lineCov"> 1 : Xapian::MSet matches = query.m_enq.get_mset(0, 6000);</span>
-<span class="lineNum"> 51 </span><span class="lineCov"> 1 : assert_eq( list::count( l ), matches.size() );</span>
-<span class="lineNum"> 52 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 53 </span> :
-<span class="lineNum"> 54 </span> : template&lt; typename List &gt;
-<span class="lineNum"> 55 </span><span class="lineCov"> 1 : void checkXapianList( List l, Xapian::MSet m ) {</span>
-<span class="lineNum"> 56 </span><span class="lineCov"> 1 : Xapian::MSet::const_iterator i = m.begin();</span>
-<span class="lineNum"> 57 </span><span class="lineCov"> 16 : while (! l.empty() ) {</span>
-<span class="lineNum"> 58 </span><span class="lineCov"> 14 : assert_eq( l.token().package(), i.get_document().get_data() );</span>
-<span class="lineNum"> 59 </span><span class="lineCov"> 14 : l = l.tail();</span>
-<span class="lineNum"> 60 </span><span class="lineCov"> 15 : ++ i;</span>
-<span class="lineNum"> 61 </span> : }
-<span class="lineNum"> 62 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 63 </span> :
-<span class="lineNum"> 64 </span><span class="lineCov"> 1 : Test list() {</span>
-<span class="lineNum"> 65 </span><span class="lineCov"> 1 : xapian::List l( query.results() );</span>
-<span class="lineNum"> 66 </span><span class="lineCov"> 1 : Xapian::MSet matches = query.m_enq.get_mset(0, 6000);</span>
-<span class="lineNum"> 67 </span><span class="lineCov"> 1 : checkXapianList( l, matches );</span>
-<span class="lineNum"> 68 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 69 </span> :
-<span class="lineNum"> 70 </span><span class="lineCov"> 1 : Test checkQuery() {</span>
-<span class="lineNum"> 71 </span><span class="lineCov"> 1 : assert_eq( xap.query( &quot;sgml tool&quot; ).results().token().package(), &quot;psgml&quot; );</span>
-<span class="lineNum"> 72 </span><span class="lineCov"> 1 : }</span>
-<span class="lineNum"> 73 </span> :
-<span class="lineNum"> 74 </span> : };
-</pre>
- </td>
- </tr>
- </table>
- <br>
-
- <table width="100%" border=0 cellspacing=0 cellpadding=0>
- <tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
- <tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LTP GCOV extension version 1.6</a></td></tr>
- </table>
- <br>
-
-</body>
-</html>