<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>ZVBI Library: Cache</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.9 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> </ul> </div> </div> <div class="contents"> <h1>Cache</h1><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Modules</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Search.html">Search</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Search the Teletext page cache. <br></td></tr> <p> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Cache.html#gf22bf32b5027d5c5d34d615bc22896a3">vbi_unref_page</a> (<a class="el" href="structvbi__page.html">vbi_page</a> *pg)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Cache.html#g6bef9040725203946cd78656319c3f23">vbi_is_cached</a> (vbi_decoder *, int pgno, int subno)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Cache.html#g4acead5ea36aa202d79c097f4cfa74eb">vbi_cache_hi_subno</a> (vbi_decoder *vbi, int pgno)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">vbi_bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Cache.html#g7569e113defe7ccfdebd396691a696f6">vbi_fetch_cc_page</a> (vbi_decoder *vbi, <a class="el" href="structvbi__page.html">vbi_page</a> *pg, <a class="el" href="group__HiDec.html#g8711c9b42b61d518b7f79e941fe94eb1">vbi_pgno</a> pgno, vbi_bool reset)</td></tr> </table> <hr><h2>Function Documentation</h2> <a class="anchor" name="gf22bf32b5027d5c5d34d615bc22896a3"></a><!-- doxytag: member="cache.h::vbi_unref_page" ref="gf22bf32b5027d5c5d34d615bc22896a3" args="(vbi_page *pg)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vbi_unref_page </td> <td>(</td> <td class="paramtype"><a class="el" href="structvbi__page.html">vbi_page</a> * </td> <td class="paramname"> <em>pg</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>pg</em> </td><td>Previously fetched <a class="el" href="structvbi__page.html" title="Formatted Teletext or Closed Caption page.">vbi_page</a>.</td></tr> </table> </dl> A <a class="el" href="structvbi__page.html" title="Formatted Teletext or Closed Caption page.">vbi_page</a> fetched from cache with vbi_fetch_vt_page() or <a class="el" href="group__Cache.html#g7569e113defe7ccfdebd396691a696f6">vbi_fetch_cc_page()</a> may reference other resource in cache which are locked after fetching. When done processing the page, you must call this function to unlock all the resources associated with this <a class="el" href="structvbi__page.html" title="Formatted Teletext or Closed Caption page.">vbi_page</a>. </div> </div><p> <a class="anchor" name="g6bef9040725203946cd78656319c3f23"></a><!-- doxytag: member="cache.h::vbi_is_cached" ref="g6bef9040725203946cd78656319c3f23" args="(vbi_decoder *, int pgno, int subno)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int vbi_is_cached </td> <td>(</td> <td class="paramtype">vbi_decoder * </td> <td class="paramname"> <em>vbi</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>pgno</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>subno</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>vbi</em> </td><td></td></tr> <tr><td valign="top"></td><td valign="top"><em>pgno</em> </td><td></td></tr> <tr><td valign="top"></td><td valign="top"><em>subno</em> </td><td></td></tr> </table> </dl> <dl class="deprecated" compact><dt><b><a class="el" href="deprecated.html#_deprecated000008">Deprecated:</a></b></dt><dd>At the moment pages can only be added to the cache but not removed unless the decoder is reset. That will change, making the result volatile in a multithreaded environment.</dd></dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd><code>TRUE</code> if the given page is cached. </dd></dl> </div> </div><p> <a class="anchor" name="g4acead5ea36aa202d79c097f4cfa74eb"></a><!-- doxytag: member="cache.h::vbi_cache_hi_subno" ref="g4acead5ea36aa202d79c097f4cfa74eb" args="(vbi_decoder *vbi, int pgno)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int vbi_cache_hi_subno </td> <td>(</td> <td class="paramtype">vbi_decoder * </td> <td class="paramname"> <em>vbi</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>pgno</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>vbi</em> </td><td></td></tr> <tr><td valign="top"></td><td valign="top"><em>pgno</em> </td><td></td></tr> </table> </dl> <dl class="deprecated" compact><dt><b><a class="el" href="deprecated.html#_deprecated000009">Deprecated:</a></b></dt><dd>Rationale same as <a class="el" href="group__Cache.html#g6bef9040725203946cd78656319c3f23">vbi_is_cached()</a>.</dd></dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Highest cached subpage of this page. </dd></dl> </div> </div><p> <a class="anchor" name="g7569e113defe7ccfdebd396691a696f6"></a><!-- doxytag: member="cc.h::vbi_fetch_cc_page" ref="g7569e113defe7ccfdebd396691a696f6" args="(vbi_decoder *vbi, vbi_page *pg, vbi_pgno pgno, vbi_bool reset)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vbi_bool vbi_fetch_cc_page </td> <td>(</td> <td class="paramtype">vbi_decoder * </td> <td class="paramname"> <em>vbi</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structvbi__page.html">vbi_page</a> * </td> <td class="paramname"> <em>pg</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__HiDec.html#g8711c9b42b61d518b7f79e941fe94eb1">vbi_pgno</a> </td> <td class="paramname"> <em>pgno</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">vbi_bool </td> <td class="paramname"> <em>reset</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>vbi</em> </td><td>Initialized vbi decoding context. </td></tr> <tr><td valign="top"></td><td valign="top"><em>pg</em> </td><td>Place to store the formatted page. </td></tr> <tr><td valign="top"></td><td valign="top"><em>pgno</em> </td><td>Page number 1 ... 8 of the page to fetch, see vbi_pgno. </td></tr> <tr><td valign="top"></td><td valign="top"><em>reset</em> </td><td><code>TRUE</code> resets the <a class="el" href="structvbi__page.html" title="Formatted Teletext or Closed Caption page.">vbi_page</a> dirty fields in cache after fetching. Pass <code>FALSE</code> only if you plan to call this function again to update other displays.</td></tr> </table> </dl> Fetches a Closed Caption page designated by <em>pgno</em> from the cache, formats and stores it in <em>pg</em>. CC pages are transmitted basically in two modes: at once and character by character ("roll-up" mode). Either way you get a snapshot of the page as it should appear on screen at present. With <a class="el" href="group__Event.html#gcd13f9d8a2d47a4393541b7411fe426a">vbi_event_handler_add()</a> you can request a <code>VBI_EVENT_CAPTION</code> event to be notified about pending changes (in case of "roll-up" mode that is with each new word received) and the vbi_page->dirty fields will mark the lines actually in need of updates, to speed up rendering.<p> Although safe to do, this function is not supposed to be called from an event handler, since rendering may block decoding for extended periods of time.<p> <dl class="return" compact><dt><b>Returns:</b></dt><dd><code>FALSE</code> if some error occured. </dd></dl> </div> </div><p> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Wed May 27 04:47:58 2009 for ZVBI Library by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address> </body> </html>