Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > c9cfbd1355daacaf3b34517a6d7b18cc > files > 614

libdap-doc-3.11.0-2.fc15.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libdap++: libdap::DODSFilter Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.3 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">libdap++&#160;<span id="projectnumber">Updated for version 3.8.2</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('classlibdap_1_1DODSFilter.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a>  </div>
  <div class="headertitle">
<h1>libdap::DODSFilter Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="libdap::DODSFilter" -->
<p>Common functions for DODS server filter programs.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="DODSFilter_8h_source.html">DODSFilter.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for libdap::DODSFilter:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DODSFilter__coll__graph.png" border="0" usemap="#libdap_1_1DODSFilter_coll__map" alt="Collaboration graph"/></div>
<map name="libdap_1_1DODSFilter_coll__map" id="libdap_1_1DODSFilter_coll__map">
</map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classlibdap_1_1DODSFilter-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a908589f76cb20a5acdbc1eee0707fe9c">Response</a> { <br/>
&#160;&#160;<a class="el" href="classlibdap_1_1DODSFilter.html#a908589f76cb20a5acdbc1eee0707fe9ca8dc83891bc5af14f36728cf41ae8a56d">Unknown_Response</a>, 
<a class="el" href="classlibdap_1_1DODSFilter.html#a908589f76cb20a5acdbc1eee0707fe9ca76e8a72ea312936dea238527ce4695c4">DAS_Response</a>, 
<a class="el" href="classlibdap_1_1DODSFilter.html#a908589f76cb20a5acdbc1eee0707fe9ca8b6e5aa1130bc4ad747f7a206144c900">DDS_Response</a>, 
<a class="el" href="classlibdap_1_1DODSFilter.html#a908589f76cb20a5acdbc1eee0707fe9caa78c10a0edfb814265ff23373af482fc">DataDDS_Response</a>, 
<br/>
&#160;&#160;<a class="el" href="classlibdap_1_1DODSFilter.html#a908589f76cb20a5acdbc1eee0707fe9ca4019280b92b56b01a879c0235dc8419c">DDX_Response</a>, 
<a class="el" href="classlibdap_1_1DODSFilter.html#a908589f76cb20a5acdbc1eee0707fe9caee571a8ebbbf7085de41bf30c25d14f0">DataDDX_Response</a>, 
<a class="el" href="classlibdap_1_1DODSFilter.html#a908589f76cb20a5acdbc1eee0707fe9cab5315b3a7bd11190e8067cd5897de28f">BLOB_Response</a>, 
<a class="el" href="classlibdap_1_1DODSFilter.html#a908589f76cb20a5acdbc1eee0707fe9ca9c4a350a040f60ac49d34e20ca528159">Version_Response</a>
<br/>
 }</td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a583e99824e39a20f95c09c9c76caf16c">dataset_constraint</a> (<a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;dds, <a class="el" href="classlibdap_1_1ConstraintEvaluator.html">ConstraintEvaluator</a> &amp;eval, ostream &amp;out, bool ce_eval=true) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#af839215a3954a918196a69830a89605e">dataset_constraint_ddx</a> (<a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;dds, <a class="el" href="classlibdap_1_1ConstraintEvaluator.html">ConstraintEvaluator</a> &amp;eval, ostream &amp;out, const string &amp;boundary, const string &amp;start, bool ce_eval=true) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#aa802f48ceffcaff00634940067a1ba02">DODSFilter</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#aab6e493b315d390b41f6d6e806c90045">DODSFilter</a> (int argc, char *argv[])  throw (Error)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classlibdap_1_1DODSFilter.html" title="Common functions for DODS server filter programs.">DODSFilter</a> constructor.  <a href="#aab6e493b315d390b41f6d6e806c90045"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#aa22ce448000822dafde1c227fe3d19ed">establish_timeout</a> (ostream &amp;stream) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a16dd363c7532a7b590c405151332489a">functional_constraint</a> (<a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> &amp;var, <a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;dds, <a class="el" href="classlibdap_1_1ConstraintEvaluator.html">ConstraintEvaluator</a> &amp;eval, ostream &amp;out) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#aa21f7ce7a1c4b940e9f7abf40d6e7a96">get_action</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#afe2a7fe4d0aa60091c38da40f73e2f52">get_cache_dir</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the cache directory.  <a href="#afe2a7fe4d0aa60091c38da40f73e2f52"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#aad1eee238ed4bde5f5dc49ecf0966635">get_ce</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the constraint expression.  <a href="#aad1eee238ed4bde5f5dc49ecf0966635"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a06f827d52efe528675ee43533fdbae16">get_cgi_version</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual time_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#ab55744c3af88ff8f07f0222677b7b4c7">get_das_last_modified_time</a> (const string &amp;anc_location=&quot;&quot;) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual time_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#aa5fc0e0c30a428025907de4a0585f5d9">get_data_last_modified_time</a> (const string &amp;anc_location=&quot;&quot;) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual time_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#ae8c0264353f460c217baf41d128fd2e8">get_dataset_last_modified_time</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a9a1de0e3f85c4126901e1d70e00f35ea">get_dataset_name</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the dataset name.  <a href="#a9a1de0e3f85c4126901e1d70e00f35ea"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#ad97a446900d0bf79e740d407a97ca2f5">get_dataset_version</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the version information for the dataset.  <a href="#ad97a446900d0bf79e740d407a97ca2f5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual time_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#ae572e243caf43e6c24a0b85a504fccca">get_dds_last_modified_time</a> (const string &amp;anc_location=&quot;&quot;) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual time_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#aad6c4d1bd437c7bb8b5c13d81739960f">get_request_if_modified_since</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classlibdap_1_1DODSFilter.html#a908589f76cb20a5acdbc1eee0707fe9c">Response</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a463bb84c66a67099039a60462fa8aca8">get_response</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#aa3bbcd151470297d8b34bed9fbe03868">get_timeout</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a6563ae634c261dda52bc2d96090c9530">get_URL</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a0129530c994f1e826c6b6357ea48a650">is_conditional</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Is this request conditional?  <a href="#a0129530c994f1e826c6b6357ea48a650"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a73e8b49c5a7927a373e6088ad60a5193">print_usage</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Print usage information for a filter program.  <a href="#a73e8b49c5a7927a373e6088ad60a5193"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a18819961cd0413a5535335dae91f8f76">send_das</a> (ostream &amp;out, <a class="el" href="classlibdap_1_1DAS.html">DAS</a> &amp;das, const string &amp;anc_location=&quot;&quot;, bool with_mime_headers=true) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit a <a class="el" href="classlibdap_1_1DAS.html" title="Hold attribute data for a DAP2 dataset.">DAS</a>.  <a href="#a18819961cd0413a5535335dae91f8f76"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a5a8258609efd1f9a5f9aeea50995aee7">send_das</a> (<a class="el" href="classlibdap_1_1DAS.html">DAS</a> &amp;das, const string &amp;anc_location=&quot;&quot;, bool with_mime_headers=true) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a01f7f1509b351472c74493303429e43d">send_data</a> (<a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;dds, <a class="el" href="classlibdap_1_1ConstraintEvaluator.html">ConstraintEvaluator</a> &amp;eval, ostream &amp;data_stream, const string &amp;anc_location=&quot;&quot;, bool with_mime_headers=true) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit data.  <a href="#a01f7f1509b351472c74493303429e43d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a6e65bf845deb5cac859790b4e632a1f8">send_data_ddx</a> (<a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;dds, <a class="el" href="classlibdap_1_1ConstraintEvaluator.html">ConstraintEvaluator</a> &amp;eval, ostream &amp;data_stream, const string &amp;start, const string &amp;boundary, const string &amp;anc_location=&quot;&quot;, bool with_mime_headers=true) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit data.  <a href="#a6e65bf845deb5cac859790b4e632a1f8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#ace2a4de8462020ceaa32edb69d53b706">send_dds</a> (ostream &amp;out, <a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;dds, <a class="el" href="classlibdap_1_1ConstraintEvaluator.html">ConstraintEvaluator</a> &amp;eval, bool constrained=false, const string &amp;anc_location=&quot;&quot;, bool with_mime_headers=true) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit a <a class="el" href="classlibdap_1_1DDS.html">DDS</a>.  <a href="#ace2a4de8462020ceaa32edb69d53b706"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#accaa557685fa556753f0a63cbc3b2d60">send_dds</a> (<a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;dds, <a class="el" href="classlibdap_1_1ConstraintEvaluator.html">ConstraintEvaluator</a> &amp;eval, bool constrained=false, const string &amp;anc_location=&quot;&quot;, bool with_mime_headers=true) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a7326c5e9c62affd221c0e99cf6f9fdd1">send_ddx</a> (<a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;dds, <a class="el" href="classlibdap_1_1ConstraintEvaluator.html">ConstraintEvaluator</a> &amp;eval, ostream &amp;out, bool with_mime_headers=true) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a17243fd4f8bc977f091f125572502bf5">send_version_info</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Send version information back to the client program.  <a href="#a17243fd4f8bc977f091f125572502bf5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a7a3b83c758edb5ed45270004673a355d">set_ce</a> (string _ce)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#ad95070bc42a8aff97cb6c626c78480b6">set_cgi_version</a> (string <a class="el" href="getdap_8cc.html#aa31f487a99743d24af9076a3e11e5425">version</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#ab4aa216d0b462b2a18234a241d9b6b01">set_dataset_name</a> (const string _dataset)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#acdf3c3346d326a252d17f5dc346aed5c">set_response</a> (const string &amp;r)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a8d9a76bd0ef270d86ef40b7cc4dc03ff">set_timeout</a> (int timeout=0)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a6c1b6941a1a6421607eadd675d341077">set_URL</a> (const string &amp;url)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a31b50cf60ff28ac38e73703abb432cb7">~DODSFilter</a> ()</td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a8ac695c5b7ebe39e2a7c8dd44079f317">initialize</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a1420d214791dc0c4bb907cd9f6d967a6">initialize</a> (int argc, char *argv[])</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a609ed4df55fdf7cc995e3951a1f2ddd0">process_options</a> (int argc, char *argv[])</td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a18f324b6760e82d1a0fea5a272125af3">d_action</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">time_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a32605daab8497b578477748934b009cc">d_anc_das_lmt</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">time_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a10ec1bad5515cb040d6b67e42a738a5c">d_anc_dds_lmt</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#ad3b704cdf6eae452da68dc16731ee5ce">d_anc_dir</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a624e0d9fd279c1d75ec769655d6db372">d_anc_file</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#aafe1eced520da8420b3a3a4aee610fe2">d_bad_options</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a71eee99308f72e94171ceca9ad161e5a">d_cache_dir</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#aec3b01d948821317cebee18bc489365b">d_ce</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a20a3784b4893aa9344908e60c228101d">d_cgi_ver</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#ac341bef83b259326604a80d39662c8ba">d_comp</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a61a5b0904d54eb56c7a6ad1684c05a34">d_conditional_request</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#abd2238d1d57f34a1d3a0a1d074b9530f">d_dataset</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">time_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#a6e1e20b5e89ce89556d3ef2a818a9093">d_if_modified_since</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#aff22b76e40a2a5341fcc2b0551080b24">d_program_name</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlibdap_1_1DODSFilter.html#a908589f76cb20a5acdbc1eee0707fe9c">Response</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#aab229b7ab7035001dbfbc664c5b31a06">d_response</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#aacd4a007b3849111d16f53fbdad31268">d_timeout</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DODSFilter.html#ae415bfa9bee1c09e58a4330f51c761f8">d_url</a></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>When a DODS server receives a request from a DODS client, the server CGI script dispatches the request to one of several ``filter'' programs. Each filter is responsible for returning a different aspect of the dataset information: one is for data, one is for the dataset <a class="el" href="classlibdap_1_1DDS.html">DDS</a>, one is for the dataset <a class="el" href="classlibdap_1_1DAS.html" title="Hold attribute data for a DAP2 dataset.">DAS</a>, and a fourth is for a usage message describing the server itself. Some installations may have additional optional filters.</p>
<p>The filter program receives a data request from the dispatch script. It receives its operating parameters from the command line, like any UNIX command, and it returns its output to standard output, which the httpd server packages up into a reply to the client.</p>
<p>This class contains some common functions for the filter programs used to make up the DODS data servers. The filter programs do not <em>have</em> to be called by a CGI program, but that is the normal mechanism by which they are invoked.</p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000014">Todo:</a></b></dt><dd><p class="startdd">Add a test to make sure that the required arguments are given. </p>
<p class="enddd">We need to rethink the ancillary file/directory stuff. I don't think it's ever been used...</p>
</dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>jhrg 8/26/97 </dd></dl>

<p>Definition at line <a class="el" href="DODSFilter_8h_source.html#l00080">80</a> of file <a class="el" href="DODSFilter_8h_source.html">DODSFilter.h</a>.</p>
</div><hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="a908589f76cb20a5acdbc1eee0707fe9c"></a><!-- doxytag: member="libdap::DODSFilter::Response" ref="a908589f76cb20a5acdbc1eee0707fe9c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classlibdap_1_1DODSFilter.html#a908589f76cb20a5acdbc1eee0707fe9c">libdap::DODSFilter::Response</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Types of responses <a class="el" href="classlibdap_1_1DODSFilter.html" title="Common functions for DODS server filter programs.">DODSFilter</a> know about. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a908589f76cb20a5acdbc1eee0707fe9ca8dc83891bc5af14f36728cf41ae8a56d"></a><!-- doxytag: member="Unknown_Response" ref="a908589f76cb20a5acdbc1eee0707fe9ca8dc83891bc5af14f36728cf41ae8a56d" args="" -->Unknown_Response</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a908589f76cb20a5acdbc1eee0707fe9ca76e8a72ea312936dea238527ce4695c4"></a><!-- doxytag: member="DAS_Response" ref="a908589f76cb20a5acdbc1eee0707fe9ca76e8a72ea312936dea238527ce4695c4" args="" -->DAS_Response</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a908589f76cb20a5acdbc1eee0707fe9ca8b6e5aa1130bc4ad747f7a206144c900"></a><!-- doxytag: member="DDS_Response" ref="a908589f76cb20a5acdbc1eee0707fe9ca8b6e5aa1130bc4ad747f7a206144c900" args="" -->DDS_Response</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a908589f76cb20a5acdbc1eee0707fe9caa78c10a0edfb814265ff23373af482fc"></a><!-- doxytag: member="DataDDS_Response" ref="a908589f76cb20a5acdbc1eee0707fe9caa78c10a0edfb814265ff23373af482fc" args="" -->DataDDS_Response</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a908589f76cb20a5acdbc1eee0707fe9ca4019280b92b56b01a879c0235dc8419c"></a><!-- doxytag: member="DDX_Response" ref="a908589f76cb20a5acdbc1eee0707fe9ca4019280b92b56b01a879c0235dc8419c" args="" -->DDX_Response</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a908589f76cb20a5acdbc1eee0707fe9caee571a8ebbbf7085de41bf30c25d14f0"></a><!-- doxytag: member="DataDDX_Response" ref="a908589f76cb20a5acdbc1eee0707fe9caee571a8ebbbf7085de41bf30c25d14f0" args="" -->DataDDX_Response</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a908589f76cb20a5acdbc1eee0707fe9cab5315b3a7bd11190e8067cd5897de28f"></a><!-- doxytag: member="BLOB_Response" ref="a908589f76cb20a5acdbc1eee0707fe9cab5315b3a7bd11190e8067cd5897de28f" args="" -->BLOB_Response</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a908589f76cb20a5acdbc1eee0707fe9ca9c4a350a040f60ac49d34e20ca528159"></a><!-- doxytag: member="Version_Response" ref="a908589f76cb20a5acdbc1eee0707fe9ca9c4a350a040f60ac49d34e20ca528159" args="" -->Version_Response</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="DODSFilter_8h_source.html#l00084">84</a> of file <a class="el" href="DODSFilter_8h_source.html">DODSFilter.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aa802f48ceffcaff00634940067a1ba02"></a><!-- doxytag: member="libdap::DODSFilter::DODSFilter" ref="aa802f48ceffcaff00634940067a1ba02" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">libdap::DODSFilter::DODSFilter </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Make an empty instance. Use the set_*() methods to load with needed values. You must call at least <a class="el" href="classlibdap_1_1DODSFilter.html#ab4aa216d0b462b2a18234a241d9b6b01">set_dataset_name()</a> or be requesting version information.</p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000015">Todo:</a></b></dt><dd>Add methods to provide a way to set all of the parameters this class contains. They can currently only be set using the argc/argv command line parameters. </dd></dl>

<p>Definition at line <a class="el" href="DODSFilter_8h_source.html#l00131">131</a> of file <a class="el" href="DODSFilter_8h_source.html">DODSFilter.h</a>.</p>

<p>References <a class="el" href="DODSFilter_8cc_source.html#l00196">initialize()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DODSFilter_aa802f48ceffcaff00634940067a1ba02_cgraph.png" border="0" usemap="#classlibdap_1_1DODSFilter_aa802f48ceffcaff00634940067a1ba02_cgraph" alt=""/></div>
<map name="classlibdap_1_1DODSFilter_aa802f48ceffcaff00634940067a1ba02_cgraph" id="classlibdap_1_1DODSFilter_aa802f48ceffcaff00634940067a1ba02_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1DODSFilter.html#a8ac695c5b7ebe39e2a7c8dd44079f317" title="libdap::DODSFilter::initialize" alt="" coords="376,5,699,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="aab6e493b315d390b41f6d6e806c90045"></a><!-- doxytag: member="libdap::DODSFilter::DODSFilter" ref="aab6e493b315d390b41f6d6e806c90045" args="(int argc, char *argv[])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">libdap::DODSFilter::DODSFilter </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>argv</em>[]&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>  throw (<a class="el" href="classlibdap_1_1Error.html">Error</a>)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Create an instance of <a class="el" href="classlibdap_1_1DODSFilter.html" title="Common functions for DODS server filter programs.">DODSFilter</a> using the command line arguments passed by the CGI (or other) program. The default constructor is private; this and the copy constructor (which is just the default copy constructor) are the only way to create an instance of <a class="el" href="classlibdap_1_1DODSFilter.html" title="Common functions for DODS server filter programs.">DODSFilter</a>.</p>
<p>These are the valid options:</p>
<dl>
<dt><em>filename</em></dt>
<dd><p class="startdd">The name of the file on which the filter is to operate. Usually this would be the file whose data has been requested. In fact, this class can be specialized and <em>any meaning</em> can be associated to this string. It could be the name of a database, for example.</p>
<p class="enddd"></p>
</dd>
<dt><code>-o</code> <em>response</em></dt>
<dd><p class="startdd"></p>
<p>Specifies the type of response desired. The <em>response</em> is a string and must be one of <code><a class="el" href="classlibdap_1_1DAS.html" title="Hold attribute data for a DAP2 dataset.">DAS</a></code>, <code><a class="el" href="classlibdap_1_1DDS.html">DDS</a></code>, <code><a class="el" href="classlibdap_1_1DataDDS.html" title="Holds a DAP2 DDS.">DataDDS</a></code> or <code>Version</code>. Note that <code>Version</code> returns version information in the body of the response and is useful for debugging, et cetera. Each response returns version information in an HTTP header for internal use by a client.</p>
<p class="enddd"></p>
</dd>
<dt><code>-c</code></dt>
<dd><p class="startdd">Send compressed data. Data are compressed using the deflate program.</p>
<p class="enddd"></p>
</dd>
<dt><code>-e</code> <em>expression</em></dt>
<dd><p class="startdd">This option specifies a non-blank constraint expression used to subsample a dataset.</p>
<p class="enddd"></p>
</dd>
<dt><code>-v</code> <em>cgi-version</em></dt>
<dd><p class="startdd">Set the CGI/Server version to <code>cgi-version</code>. This is a way for the caller to set version information passed back to the client either as the response to a version request of in the response headers.</p>
<p class="enddd"></p>
</dd>
<dt><code>-d</code> <em>ancdir</em></dt>
<dd><p class="startdd">Specifies that ancillary data be sought in the <em>ancdir</em> directory. <em>ancdir</em> must end in '/'.</p>
<p class="enddd"></p>
</dd>
<dt><code>-f</code> <em>ancfile</em></dt>
<dd><p class="startdd">Specifies that ancillary data may be found in a file called <em>ancfile</em>.</p>
<p class="enddd"></p>
</dd>
<dt><code>-r</code> <em>cache directory</em></dt>
<dd><p class="startdd">Specify a directory to use if/when files are to be cached. Not all handlers support caching and each uses its own rules tailored to a specific file or data type.</p>
<p class="enddd"></p>
</dd>
<dt><code>-t</code> <em>timeout</em></dt>
<dd><p class="startdd">Specifies a a timeout value in seconds. If the server runs longer than <em>timeout</em> seconds, an <a class="el" href="classlibdap_1_1Error.html" title="A class for error processing.">Error</a> is returned to the client explaining that the request has timed out.</p>
<p class="enddd"></p>
</dd>
<dt><code>-l</code> <em>time</em></dt>
<dd><p class="startdd">Indicates that the request is a conditional request; send a complete response if and only if the data has changed since <em>time</em>. If it has not changed since <em>time</em>, then send a 304 (Not Modified) response. The <em>time</em> parameter is the <code>Last-Modified</code> time from an If-Modified-Since condition GET request. It is given in seconds since the start of the Unix epoch (Midnight, 1 Jan 1970).</p>
<p class="enddd"></p>
</dd>
</dl>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00172">172</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00058">DBG</a>.</p>

</div>
</div>
<a class="anchor" id="a31b50cf60ff28ac38e73703abb432cb7"></a><!-- doxytag: member="libdap::DODSFilter::~DODSFilter" ref="a31b50cf60ff28ac38e73703abb432cb7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">libdap::DODSFilter::~DODSFilter </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00189">189</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a583e99824e39a20f95c09c9c76caf16c"></a><!-- doxytag: member="libdap::DODSFilter::dataset_constraint" ref="a583e99824e39a20f95c09c9c76caf16c" args="(DDS &amp;dds, ConstraintEvaluator &amp;eval, ostream &amp;out, bool ce_eval=true) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DODSFilter::dataset_constraint </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;&#160;</td>
          <td class="paramname"><em>dds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html">ConstraintEvaluator</a> &amp;&#160;</td>
          <td class="paramname"><em>eval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ostream &amp;&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>ce_eval</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00907">907</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00058">DBG</a>, <a class="el" href="DDS_8cc_source.html#l01012">libdap::DDS::print_constrained()</a>, <a class="el" href="DDS_8cc_source.html#l00766">libdap::DDS::var_begin()</a>, and <a class="el" href="DDS_8cc_source.html#l00778">libdap::DDS::var_end()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DODSFilter_a583e99824e39a20f95c09c9c76caf16c_cgraph.png" border="0" usemap="#classlibdap_1_1DODSFilter_a583e99824e39a20f95c09c9c76caf16c_cgraph" alt=""/></div>
<map name="classlibdap_1_1DODSFilter_a583e99824e39a20f95c09c9c76caf16c_cgraph" id="classlibdap_1_1DODSFilter_a583e99824e39a20f95c09c9c76caf16c_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1DDS.html#ab2e1cacd542373312d5154565b3c1571" title="Print a constrained DDS to the specified ostream." alt="" coords="456,5,779,32"/><area shape="rect" id="node9" href="classlibdap_1_1DDS.html#aac98f248cd5730a8769f9d71af9788d3" title="Return an iterator to the first variable." alt="" coords="496,56,739,83"/><area shape="rect" id="node11" href="classlibdap_1_1DDS.html#ad204bbd6eed8d440fb996f41bc986058" title="Return an iterator." alt="" coords="507,107,728,133"/><area shape="rect" id="node5" href="namespacelibdap.html#afbd709ed83699c11234a213463d16b9c" title="libdap::id2www" alt="" coords="827,5,989,32"/><area shape="rect" id="node7" href="namespacelibdap.html#a58976ab42baea9bf93449dda9e18342a" title="libdap::hexstring" alt="" coords="1037,5,1229,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="af839215a3954a918196a69830a89605e"></a><!-- doxytag: member="libdap::DODSFilter::dataset_constraint_ddx" ref="af839215a3954a918196a69830a89605e" args="(DDS &amp;dds, ConstraintEvaluator &amp;eval, ostream &amp;out, const string &amp;boundary, const string &amp;start, bool ce_eval=true) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DODSFilter::dataset_constraint_ddx </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;&#160;</td>
          <td class="paramname"><em>dds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html">ConstraintEvaluator</a> &amp;&#160;</td>
          <td class="paramname"><em>eval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ostream &amp;&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>boundary</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>ce_eval</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00958">958</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

<p>References <a class="el" href="EncodingType_8h_source.html#l00053">libdap::binary</a>, <a class="el" href="ObjectType_8h_source.html#l00065">libdap::dap4_data</a>, <a class="el" href="ObjectType_8h_source.html#l00064">libdap::dap4_ddx</a>, <a class="el" href="debug_8h_source.html#l00058">DBG</a>, <a class="el" href="DDS_8cc_source.html#l01130">libdap::DDS::print_xml()</a>, <a class="el" href="mime__util_8cc_source.html#l00702">libdap::set_mime_data_boundary()</a>, <a class="el" href="mime__util_8cc_source.html#l00689">libdap::set_mime_ddx_boundary()</a>, <a class="el" href="DDS_8cc_source.html#l00766">libdap::DDS::var_begin()</a>, and <a class="el" href="DDS_8cc_source.html#l00778">libdap::DDS::var_end()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DODSFilter_af839215a3954a918196a69830a89605e_cgraph.png" border="0" usemap="#classlibdap_1_1DODSFilter_af839215a3954a918196a69830a89605e_cgraph" alt=""/></div>
<map name="classlibdap_1_1DODSFilter_af839215a3954a918196a69830a89605e_cgraph" id="classlibdap_1_1DODSFilter_af839215a3954a918196a69830a89605e_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1DDS.html#af319354a044d02ea89732160131004dc" title="libdap::DDS::print_xml" alt="" coords="536,480,779,506"/><area shape="rect" id="node57" href="classlibdap_1_1DDS.html#aac98f248cd5730a8769f9d71af9788d3" title="Return an iterator to the first variable." alt="" coords="921,556,1164,582"/><area shape="rect" id="node59" href="classlibdap_1_1DDS.html#ad204bbd6eed8d440fb996f41bc986058" title="Return an iterator." alt="" coords="932,606,1153,633"/><area shape="rect" id="node61" href="namespacelibdap.html#a02822649dbf10c226e3f6be5c8a89991" title="libdap::set_mime_data_boundary" alt="" coords="496,657,819,684"/><area shape="rect" id="node63" href="namespacelibdap.html#a387c60d25f7e78d4ced09c7907ad0662" title="libdap::set_mime_ddx_boundary" alt="" coords="501,708,813,734"/><area shape="rect" id="node5" href="classlibdap_1_1DDS.html#ac00ec4e96b91d34bd09254005c4cbfdd" title="Get the DAP major version as sent by the client." alt="" coords="901,353,1184,380"/><area shape="rect" id="node7" href="classlibdap_1_1DDS.html#a9ddd1966f1902e4856757cf552fa2b4e" title="Get the DAP minor version as sent by the client." alt="" coords="901,404,1184,430"/><area shape="rect" id="node9" href="classlibdap_1_1DDS.html#a678cf679929468dc959adc136e727dfb" title="Get the URL that will return this DDS/DDX/DataThing." alt="" coords="867,454,1219,481"/><area shape="rect" id="node11" href="namespacelibdap.html#a62463a13bf510db3a14c0053fea14f4d" title="libdap::id2xml" alt="" coords="1361,505,1524,532"/><area shape="rect" id="node15" href="classlibdap_1_1AttrTable.html#a5e27ea09f83831eded1b3d86de7f4534" title="libdap::AttrTable::print_xml" alt="" coords="892,302,1193,329"/><area shape="rect" id="node13" href="namespacelibdap.html#a61f9b10ef0e659cebdca50a89d8ea7c3" title="libdap::octal_to_hex" alt="" coords="1732,505,1953,532"/><area shape="rect" id="node17" href="classlibdap_1_1AttrTable.html#a8881bb7044577dae3098f4a1d8bf4f2f" title="libdap::AttrTable::attr_begin" alt="" coords="2949,49,3261,76"/><area shape="rect" id="node19" href="classlibdap_1_1AttrTable.html#a543955729bad6b7a9d1d6b336596b1ba" title="libdap::AttrTable::attr_end" alt="" coords="2960,150,3251,177"/><area shape="rect" id="node21" href="classlibdap_1_1AttrTable.html#a615b618bb2333da0d7114eec2101defe" title="libdap::AttrTable::get_attr" alt="" coords="1297,353,1588,380"/><area shape="rect" id="node25" href="classlibdap_1_1AttrTable.html#a1c86cb6c91dfdc37b9787828dd09483c" title="Get the number of attributes in this container." alt="" coords="1277,404,1608,430"/><area shape="rect" id="node28" href="classlibdap_1_1AttrTable.html#a4010172de5c41cd88f2422d5e1975522" title="Get an attribute container." alt="" coords="1267,144,1619,170"/><area shape="rect" id="node43" href="classlibdap_1_1AttrTable.html#a4c79bee34f6d3fb0947776adaa52aeee" title="Get the name of this attribute table." alt="" coords="2575,150,2865,177"/><area shape="rect" id="node45" href="classlibdap_1_1AttrTable.html#a2ca5cf1e2aa163259b00affe49547a0d" title="libdap::AttrTable::is_container" alt="" coords="2555,201,2885,228"/><area shape="rect" id="node47" href="classlibdap_1_1AttrTable.html#aefcd82370930ba94a288f135d9417a93" title="Get the type of an attribute." alt="" coords="1272,454,1613,481"/><area shape="rect" id="node51" href="classlibdap_1_1AttrTable.html#a689563c3beb8e6f571387c5105821f27" title="Get the type name of an attribute within this attribute table." alt="" coords="1297,302,1588,329"/><area shape="rect" id="node23" href="classlibdap_1_1AttrTable.html#ae7824f413ad036d91df0ef62cac14351" title="libdap::AttrTable::simple_find" alt="" coords="1681,378,2004,405"/><area shape="rect" id="node30" href="classlibdap_1_1AttrTable.html#ae403d070910c829f74a59fbf4648588f" title="Find an attribute with a given name." alt="" coords="1667,137,2019,164"/><area shape="rect" id="node32" href="classlibdap_1_1AttrTable.html#a33653c34e856e2e5fc0578240eb7a959" title="libdap::AttrTable::find" alt="" coords="2153,100,2404,126"/><area shape="rect" id="node41" href="classlibdap_1_1AttrTable.html#a6602967438b96bf1ba08e2b8195b9238" title="libdap::AttrTable::simple_find_container" alt="" coords="2068,150,2489,177"/><area shape="rect" id="node35" href="classlibdap_1_1AttrTable.html#aefdc93c9514013ebd644488cd8365924" title="libdap::AttrTable::recurrsive_find" alt="" coords="2539,100,2901,126"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="aa22ce448000822dafde1c227fe3d19ed"></a><!-- doxytag: member="libdap::DODSFilter::establish_timeout" ref="aa22ce448000822dafde1c227fe3d19ed" args="(ostream &amp;stream) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DODSFilter::establish_timeout </td>
          <td>(</td>
          <td class="paramtype">ostream &amp;&#160;</td>
          <td class="paramname"><em>stream</em></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Use values of this instance to establish a timeout alarm for the server. If the timeout value is zero, do nothing.</p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000013">Todo:</a></b></dt><dd>When the alarm handler is called, two CRLF pairs are dumped to the stream and then an <a class="el" href="classlibdap_1_1Error.html" title="A class for error processing.">Error</a> object is sent. No attempt is made to write the 'correct' MIME headers for an <a class="el" href="classlibdap_1_1Error.html" title="A class for error processing.">Error</a> object. Instead, a savvy client will know that when an exception is thrown during a deserialize operation, it should scan ahead in the input stream for an <a class="el" href="classlibdap_1_1Error.html" title="A class for error processing.">Error</a> object. Add this, or a sensible variant once libdap++ supports reliable error delivery. Dumb clients will never get the <a class="el" href="classlibdap_1_1Error.html" title="A class for error processing.">Error</a> object... </dd></dl>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00625">625</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

<p>References <a class="el" href="SignalHandler_8cc_source.html#l00149">libdap::SignalHandler::register_handler()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DODSFilter_aa22ce448000822dafde1c227fe3d19ed_cgraph.png" border="0" usemap="#classlibdap_1_1DODSFilter_aa22ce448000822dafde1c227fe3d19ed_cgraph" alt=""/></div>
<map name="classlibdap_1_1DODSFilter_aa22ce448000822dafde1c227fe3d19ed_cgraph" id="classlibdap_1_1DODSFilter_aa22ce448000822dafde1c227fe3d19ed_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1SignalHandler.html#a1188177d392bdc1db6cf4450132c6d9f" title="libdap::SignalHandler::register_handler" alt="" coords="447,5,857,32"/><area shape="rect" id="node5" href="namespacelibdap.html#a317edea830aab50d2137a5bd313cc86a" title="libdap::long_to_string" alt="" coords="907,5,1149,32"/><area shape="rect" id="node7" href="namespacelibdap.html#a576580781bca7dcd4b5a84cc06892aff" title="libdap::append_long_to_string" alt="" coords="1197,5,1509,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a16dd363c7532a7b590c405151332489a"></a><!-- doxytag: member="libdap::DODSFilter::functional_constraint" ref="a16dd363c7532a7b590c405151332489a" args="(BaseType &amp;var, DDS &amp;dds, ConstraintEvaluator &amp;eval, ostream &amp;out) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DODSFilter::functional_constraint </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> &amp;&#160;</td>
          <td class="paramname"><em>var</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;&#160;</td>
          <td class="paramname"><em>dds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html">ConstraintEvaluator</a> &amp;&#160;</td>
          <td class="paramname"><em>eval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ostream &amp;&#160;</td>
          <td class="paramname"><em>out</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00858">858</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

<p>References <a class="el" href="BaseType_8cc_source.html#l00919">libdap::BaseType::print_decl()</a>, and <a class="el" href="classlibdap_1_1BaseType.html#a1f45893684a69b50b37817b88230de9f">libdap::BaseType::serialize()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DODSFilter_a16dd363c7532a7b590c405151332489a_cgraph.png" border="0" usemap="#classlibdap_1_1DODSFilter_a16dd363c7532a7b590c405151332489a_cgraph" alt=""/></div>
<map name="classlibdap_1_1DODSFilter_a16dd363c7532a7b590c405151332489a_cgraph" id="classlibdap_1_1DODSFilter_a16dd363c7532a7b590c405151332489a_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1BaseType.html#afd744b0ddeb04e7b173c9e83423ec572" title="Print an ASCII representation of the variable structure." alt="" coords="487,56,788,83"/><area shape="rect" id="node13" href="classlibdap_1_1BaseType.html#a1f45893684a69b50b37817b88230de9f" title="Move data to the net." alt="" coords="492,107,783,133"/><area shape="rect" id="node5" href="namespacelibdap.html#afbd709ed83699c11234a213463d16b9c" title="libdap::id2www" alt="" coords="903,5,1065,32"/><area shape="rect" id="node9" href="classlibdap_1_1BaseType.html#a980c0013817836aa77ef74aeec7fb192" title="Should this variable be sent?" alt="" coords="853,56,1115,83"/><area shape="rect" id="node11" href="classlibdap_1_1BaseType.html#ac4461c9e287b167871acade5e5472116" title="Returns the type of the class instance as a string." alt="" coords="839,107,1129,133"/><area shape="rect" id="node7" href="namespacelibdap.html#a58976ab42baea9bf93449dda9e18342a" title="libdap::hexstring" alt="" coords="1179,5,1371,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="aa21f7ce7a1c4b940e9f7abf40d6e7a96"></a><!-- doxytag: member="libdap::DODSFilter::get_action" ref="aa21f7ce7a1c4b940e9f7abf40d6e7a96" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::DODSFilter::get_action </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the string name of the response to be returned. </p>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00454">454</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

</div>
</div>
<a class="anchor" id="afe2a7fe4d0aa60091c38da40f73e2f52"></a><!-- doxytag: member="libdap::DODSFilter::get_cache_dir" ref="afe2a7fe4d0aa60091c38da40f73e2f52" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::DODSFilter::get_cache_dir </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>The <code>cache_dir</code> is used to hold the cached .dds and .das files. By default, this returns an empty string (store cache files in current directory.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A string object that contains the cache file directory. </dd></dl>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00590">590</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

</div>
</div>
<a class="anchor" id="aad1eee238ed4bde5f5dc49ecf0966635"></a><!-- doxytag: member="libdap::DODSFilter::get_ce" ref="aad1eee238ed4bde5f5dc49ecf0966635" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::DODSFilter::get_ce </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return the entire constraint expression in a string. This includes both the projection and selection clauses, but not the question mark.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A string object that contains the constraint expression. </dd></dl>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00346">346</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a06f827d52efe528675ee43533fdbae16"></a><!-- doxytag: member="libdap::DODSFilter::get_cgi_version" ref="a06f827d52efe528675ee43533fdbae16" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::DODSFilter::get_cgi_version </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return the version information passed to the instance when it was created. This string is passed to the <a class="el" href="classlibdap_1_1DODSFilter.html" title="Common functions for DODS server filter programs.">DODSFilter</a> ctor using the -v option.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The version string supplied at initialization. </dd></dl>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00334">334</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

</div>
</div>
<a class="anchor" id="ab55744c3af88ff8f07f0222677b7b4c7"></a><!-- doxytag: member="libdap::DODSFilter::get_das_last_modified_time" ref="ab55744c3af88ff8f07f0222677b7b4c7" args="(const string &amp;anc_location=&quot;&quot;) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">time_t libdap::DODSFilter::get_das_last_modified_time </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>anc_location</em> = <code>&quot;&quot;</code></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the last modified time for the dataset's <a class="el" href="classlibdap_1_1DAS.html" title="Hold attribute data for a DAP2 dataset.">DAS</a>. This time, given in seconds since the epoch (1 Jan 1970 00:00:00 GMT), is the greater of the datasets's and any ancillary DAS' last modified time.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">anc_location</td><td>A directory to search for ancillary files (in addition to the CWD). </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Time of last modification of the <a class="el" href="classlibdap_1_1DAS.html" title="Hold attribute data for a DAP2 dataset.">DAS</a>. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classlibdap_1_1DODSFilter.html#ae8c0264353f460c217baf41d128fd2e8">get_dataset_last_modified_time()</a> </dd>
<dd>
<a class="el" href="classlibdap_1_1DODSFilter.html#ae572e243caf43e6c24a0b85a504fccca">get_dds_last_modified_time()</a> </dd></dl>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00495">495</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00058">DBG</a>, and <a class="el" href="mime__util_8cc_source.html#l00266">libdap::last_modified_time()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DODSFilter_ab55744c3af88ff8f07f0222677b7b4c7_cgraph.png" border="0" usemap="#classlibdap_1_1DODSFilter_ab55744c3af88ff8f07f0222677b7b4c7_cgraph" alt=""/></div>
<map name="classlibdap_1_1DODSFilter_ab55744c3af88ff8f07f0222677b7b4c7_cgraph" id="classlibdap_1_1DODSFilter_ab55744c3af88ff8f07f0222677b7b4c7_cgraph">
<area shape="rect" id="node3" href="namespacelibdap.html#a394c0b1380a16e886f96bf4a9081ed3a" title="libdap::last_modified_time" alt="" coords="536,5,819,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="aa5fc0e0c30a428025907de4a0585f5d9"></a><!-- doxytag: member="libdap::DODSFilter::get_data_last_modified_time" ref="aa5fc0e0c30a428025907de4a0585f5d9" args="(const string &amp;anc_location=&quot;&quot;) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">time_t libdap::DODSFilter::get_data_last_modified_time </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>anc_location</em> = <code>&quot;&quot;</code></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the last modified time to be used for a particular data request. This method should look at both the constraint expression and any ancillary files for this dataset. The implementation provided here returns the latest time returned by the <code>get_dataset</code>...(), <code>get_das</code>...() and <code>get_dds</code>...() methods and does not currently check the CE.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">anc_location</td><td>A directory to search for ancillary files (in addition to the CWD). </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Time of last modification of the data. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classlibdap_1_1DODSFilter.html#ae8c0264353f460c217baf41d128fd2e8">get_dataset_last_modified_time()</a> </dd>
<dd>
<a class="el" href="classlibdap_1_1DODSFilter.html#ab55744c3af88ff8f07f0222677b7b4c7">get_das_last_modified_time()</a> </dd>
<dd>
<a class="el" href="classlibdap_1_1DODSFilter.html#ae572e243caf43e6c24a0b85a504fccca">get_dds_last_modified_time()</a> </dd></dl>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00547">547</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00058">DBG</a>, and <a class="el" href="mime__util_8cc_source.html#l00266">libdap::last_modified_time()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DODSFilter_aa5fc0e0c30a428025907de4a0585f5d9_cgraph.png" border="0" usemap="#classlibdap_1_1DODSFilter_aa5fc0e0c30a428025907de4a0585f5d9_cgraph" alt=""/></div>
<map name="classlibdap_1_1DODSFilter_aa5fc0e0c30a428025907de4a0585f5d9_cgraph" id="classlibdap_1_1DODSFilter_aa5fc0e0c30a428025907de4a0585f5d9_cgraph">
<area shape="rect" id="node3" href="namespacelibdap.html#a394c0b1380a16e886f96bf4a9081ed3a" title="libdap::last_modified_time" alt="" coords="547,5,829,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ae8c0264353f460c217baf41d128fd2e8"></a><!-- doxytag: member="libdap::DODSFilter::get_dataset_last_modified_time" ref="ae8c0264353f460c217baf41d128fd2e8" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">time_t libdap::DODSFilter::get_dataset_last_modified_time </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the dataset's last modified time. This returns the time at which the dataset was last modified as defined by UNIX's notion of modification. This does not take into account the modification of an ancillary <a class="el" href="classlibdap_1_1DAS.html" title="Hold attribute data for a DAP2 dataset.">DAS</a> or <a class="el" href="classlibdap_1_1DDS.html">DDS</a>. Time is given in seconds since the epoch (1 Jan 1970 00:00:00 GMT).</p>
<p>This method perform a simple check on the file named by the dataset given when the <a class="el" href="classlibdap_1_1DODSFilter.html" title="Common functions for DODS server filter programs.">DODSFilter</a> instance was created. If the dataset is not a filter, this method returns the current time. Servers which provide access to non-file-based data should subclass <a class="el" href="classlibdap_1_1DODSFilter.html" title="Common functions for DODS server filter programs.">DODSFilter</a> and supply a more suitable version of this method.</p>
<p>From the stat(2) man page: ``Traditionally, <code>st_mtime</code> is changed by mknod(2), utime(2), and write(2). The <code>st_mtime</code> is not changed for changes in owner, group, hard link count, or mode.''</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Time of the last modification in seconds since the epoch. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classlibdap_1_1DODSFilter.html#ab55744c3af88ff8f07f0222677b7b4c7">get_das_last_modified_time()</a> </dd>
<dd>
<a class="el" href="classlibdap_1_1DODSFilter.html#ae572e243caf43e6c24a0b85a504fccca">get_dds_last_modified_time()</a> </dd></dl>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00480">480</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

<p>References <a class="el" href="mime__util_8cc_source.html#l00266">libdap::last_modified_time()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DODSFilter_ae8c0264353f460c217baf41d128fd2e8_cgraph.png" border="0" usemap="#classlibdap_1_1DODSFilter_ae8c0264353f460c217baf41d128fd2e8_cgraph" alt=""/></div>
<map name="classlibdap_1_1DODSFilter_ae8c0264353f460c217baf41d128fd2e8_cgraph" id="classlibdap_1_1DODSFilter_ae8c0264353f460c217baf41d128fd2e8_cgraph">
<area shape="rect" id="node3" href="namespacelibdap.html#a394c0b1380a16e886f96bf4a9081ed3a" title="libdap::last_modified_time" alt="" coords="576,5,859,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a9a1de0e3f85c4126901e1d70e00f35ea"></a><!-- doxytag: member="libdap::DODSFilter::get_dataset_name" ref="a9a1de0e3f85c4126901e1d70e00f35ea" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::DODSFilter::get_dataset_name </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>The ``dataset name'' is the filename or other string that the filter program will use to access the data. In some cases this will indicate a disk file containing the data. In others, it may represent a database query or some other exotic data access method.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A string object that contains the name of the dataset. </dd></dl>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00366">366</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

</div>
</div>
<a class="anchor" id="ad97a446900d0bf79e740d407a97ca2f5"></a><!-- doxytag: member="libdap::DODSFilter::get_dataset_version" ref="ad97a446900d0bf79e740d407a97ca2f5" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::DODSFilter::get_dataset_version </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>To read version information that is specific to a certain dataset, override this method with an implementation that does what you want. By default, this returns an empty string.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A string object that contains the dataset version information. </dd></dl>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00405">405</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

</div>
</div>
<a class="anchor" id="ae572e243caf43e6c24a0b85a504fccca"></a><!-- doxytag: member="libdap::DODSFilter::get_dds_last_modified_time" ref="ae572e243caf43e6c24a0b85a504fccca" args="(const string &amp;anc_location=&quot;&quot;) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">time_t libdap::DODSFilter::get_dds_last_modified_time </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>anc_location</em> = <code>&quot;&quot;</code></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the last modified time for the dataset's <a class="el" href="classlibdap_1_1DDS.html">DDS</a>. This time, given in seconds since the epoch (1 Jan 1970 00:00:00 GMT), is the greater of the datasets's and any ancillary DDS' last modified time.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Time of last modification of the <a class="el" href="classlibdap_1_1DDS.html">DDS</a>. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classlibdap_1_1DODSFilter.html#ae8c0264353f460c217baf41d128fd2e8">get_dataset_last_modified_time()</a> </dd>
<dd>
<a class="el" href="classlibdap_1_1DODSFilter.html#ae572e243caf43e6c24a0b85a504fccca">get_dds_last_modified_time()</a> </dd></dl>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00518">518</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00058">DBG</a>, and <a class="el" href="mime__util_8cc_source.html#l00266">libdap::last_modified_time()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DODSFilter_ae572e243caf43e6c24a0b85a504fccca_cgraph.png" border="0" usemap="#classlibdap_1_1DODSFilter_ae572e243caf43e6c24a0b85a504fccca_cgraph" alt=""/></div>
<map name="classlibdap_1_1DODSFilter_ae572e243caf43e6c24a0b85a504fccca_cgraph" id="classlibdap_1_1DODSFilter_ae572e243caf43e6c24a0b85a504fccca_cgraph">
<area shape="rect" id="node3" href="namespacelibdap.html#a394c0b1380a16e886f96bf4a9081ed3a" title="libdap::last_modified_time" alt="" coords="536,5,819,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="aad6c4d1bd437c7bb8b5c13d81739960f"></a><!-- doxytag: member="libdap::DODSFilter::get_request_if_modified_since" ref="aad6c4d1bd437c7bb8b5c13d81739960f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">time_t libdap::DODSFilter::get_request_if_modified_since </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the value of a conditional request's If-Modified-Since header. This value is used to determine if the request should get a full response or a Not Modified (304) response. The time is given in seconds since the Unix epoch (midnight, 1 Jan 1970). If no time was given with the request, this methods returns -1.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>If-Modified-Since time from a condition GET request. </dd></dl>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00578">578</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a463bb84c66a67099039a60462fa8aca8"></a><!-- doxytag: member="libdap::DODSFilter::get_response" ref="a463bb84c66a67099039a60462fa8aca8" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlibdap_1_1DODSFilter.html#a908589f76cb20a5acdbc1eee0707fe9c">DODSFilter::Response</a> libdap::DODSFilter::get_response </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the enum name of the response to be returned. </p>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00448">448</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

</div>
</div>
<a class="anchor" id="aa3bbcd151470297d8b34bed9fbe03868"></a><!-- doxytag: member="libdap::DODSFilter::get_timeout" ref="aa3bbcd151470297d8b34bed9fbe03868" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int libdap::DODSFilter::get_timeout </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the server's timeout value. </p>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00607">607</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a6563ae634c261dda52bc2d96090c9530"></a><!-- doxytag: member="libdap::DODSFilter::get_URL" ref="a6563ae634c261dda52bc2d96090c9530" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string libdap::DODSFilter::get_URL </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the URL. This returns the URL, minus the constraint originally sent to the server. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The URL. </dd></dl>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00381">381</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a8ac695c5b7ebe39e2a7c8dd44079f317"></a><!-- doxytag: member="libdap::DODSFilter::initialize" ref="a8ac695c5b7ebe39e2a7c8dd44079f317" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DODSFilter::initialize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Called when initializing a <a class="el" href="classlibdap_1_1DODSFilter.html" title="Common functions for DODS server filter programs.">DODSFilter</a> that's not going to be passed a command line arguments. </p>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00196">196</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

<p>Referenced by <a class="el" href="DODSFilter_8h_source.html#l00131">DODSFilter()</a>.</p>

</div>
</div>
<a class="anchor" id="a1420d214791dc0c4bb907cd9f6d967a6"></a><!-- doxytag: member="libdap::DODSFilter::initialize" ref="a1420d214791dc0c4bb907cd9f6d967a6" args="(int argc, char *argv[])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DODSFilter::initialize </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>argv</em>[]&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Initialize. Specializations can call this once an empty <a class="el" href="classlibdap_1_1DODSFilter.html" title="Common functions for DODS server filter programs.">DODSFilter</a> has been created using the default constructor. Using a method such as this provides a way to specialize the <a class="el" href="classlibdap_1_1DODSFilter.html#a609ed4df55fdf7cc995e3951a1f2ddd0">process_options()</a> method and then have that specialization called by the subclass' constructor.</p>
<p>This class and any class that specializes it should call this method in its constructor. Note that when this method is called, the object is <em>not</em> fully constructed.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">argc</td><td>The argument count </td></tr>
    <tr><td class="paramname">argv</td><td>The vector of char * argument strings. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00237">237</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

<p>References <a class="el" href="escaping_8cc_source.html#l00214">libdap::www2id()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DODSFilter_a1420d214791dc0c4bb907cd9f6d967a6_cgraph.png" border="0" usemap="#classlibdap_1_1DODSFilter_a1420d214791dc0c4bb907cd9f6d967a6_cgraph" alt=""/></div>
<map name="classlibdap_1_1DODSFilter_a1420d214791dc0c4bb907cd9f6d967a6_cgraph" id="classlibdap_1_1DODSFilter_a1420d214791dc0c4bb907cd9f6d967a6_cgraph">
<area shape="rect" id="node3" href="namespacelibdap.html#a376f9593431111a80ef78c98b8f4a0e2" title="libdap::www2id" alt="" coords="376,5,539,32"/><area shape="rect" id="node5" href="namespacelibdap.html#a9a3ca0a741a80db615410ac7dc3417f0" title="libdap::unhexstring" alt="" coords="588,5,799,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a0129530c994f1e826c6b6357ea48a650"></a><!-- doxytag: member="libdap::DODSFilter::is_conditional" ref="a0129530c994f1e826c6b6357ea48a650" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::DODSFilter::is_conditional </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>True if the request is conditional. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classlibdap_1_1DODSFilter.html#aad6c4d1bd437c7bb8b5c13d81739960f">get_request_if_modified_since()</a>. </dd></dl>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00304">304</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a73e8b49c5a7927a373e6088ad60a5193"></a><!-- doxytag: member="libdap::DODSFilter::print_usage" ref="a73e8b49c5a7927a373e6088ad60a5193" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DODSFilter::print_usage </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This message is printed when the filter program is incorrectly invoked by the dispatch CGI. This is an error in the server installation or the CGI implementation, so the error message is written to stderr instead of stdout. A server's stderr messages show up in the httpd log file. In addition, an error object is sent back to the client program telling them that the server is broken. </p>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00664">664</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

<p>References <a class="el" href="mime__util_8cc_source.html#l00141">libdap::ErrMsgT()</a>, <a class="el" href="Error_8h_source.html#l00060">unknown_error</a>, and <a class="el" href="getdap_8cc_source.html#l00069">usage()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DODSFilter_a73e8b49c5a7927a373e6088ad60a5193_cgraph.png" border="0" usemap="#classlibdap_1_1DODSFilter_a73e8b49c5a7927a373e6088ad60a5193_cgraph" alt=""/></div>
<map name="classlibdap_1_1DODSFilter_a73e8b49c5a7927a373e6088ad60a5193_cgraph" id="classlibdap_1_1DODSFilter_a73e8b49c5a7927a373e6088ad60a5193_cgraph">
<area shape="rect" id="node3" href="namespacelibdap.html#ac76ab0ba8dd2e6d2db8e4d07175ea266" title="Logs an error message." alt="" coords="388,5,559,32"/><area shape="rect" id="node5" href="getdap_8cc.html#a9391ac68c9115711e45eb80120891130" title="usage" alt="" coords="437,56,509,83"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a609ed4df55fdf7cc995e3951a1f2ddd0"></a><!-- doxytag: member="libdap::DODSFilter::process_options" ref="a609ed4df55fdf7cc995e3951a1f2ddd0" args="(int argc, char *argv[])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int libdap::DODSFilter::process_options </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>argv</em>[]&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Processing the command line options passed to the filter is handled by this method so that specializations can change the options easily.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">argc</td><td>The argument count </td></tr>
    <tr><td class="paramname">argv</td><td>The vector of char * argument strings. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The index of the next, unprocessed, argument. This must be the identifier passed to the filter program that identifies the data source. It's often a file name. </dd></dl>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00266">266</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00058">DBG</a>, and <a class="el" href="debug_8h_source.html#l00059">DBGN</a>.</p>

</div>
</div>
<a class="anchor" id="a18819961cd0413a5535335dae91f8f76"></a><!-- doxytag: member="libdap::DODSFilter::send_das" ref="a18819961cd0413a5535335dae91f8f76" args="(ostream &amp;out, DAS &amp;das, const string &amp;anc_location=&quot;&quot;, bool with_mime_headers=true) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DODSFilter::send_das </td>
          <td>(</td>
          <td class="paramtype">ostream &amp;&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1DAS.html">DAS</a> &amp;&#160;</td>
          <td class="paramname"><em>das</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>anc_location</em> = <code>&quot;&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>with_mime_headers</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This function formats and prints an ASCII representation of a <a class="el" href="classlibdap_1_1DAS.html" title="Hold attribute data for a DAP2 dataset.">DAS</a> on stdout. This has the effect of sending the <a class="el" href="classlibdap_1_1DAS.html" title="Hold attribute data for a DAP2 dataset.">DAS</a> object back to the client program.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">out</td><td>The output stream to which the <a class="el" href="classlibdap_1_1DAS.html" title="Hold attribute data for a DAP2 dataset.">DAS</a> is to be sent. </td></tr>
    <tr><td class="paramname">das</td><td>The <a class="el" href="classlibdap_1_1DAS.html" title="Hold attribute data for a DAP2 dataset.">DAS</a> object to be sent. </td></tr>
    <tr><td class="paramname">anc_location</td><td>The directory in which the external <a class="el" href="classlibdap_1_1DAS.html" title="Hold attribute data for a DAP2 dataset.">DAS</a> file resides. </td></tr>
    <tr><td class="paramname">with_mime_headers</td><td>If true (the default) send MIME headers. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>void </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classlibdap_1_1DAS.html" title="Hold attribute data for a DAP2 dataset.">DAS</a> </dd></dl>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00726">726</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

<p>References <a class="el" href="ObjectType_8h_source.html#l00059">libdap::dods_das</a>, <a class="el" href="DAS_8cc_source.html#l00372">libdap::DAS::print()</a>, <a class="el" href="mime__util_8cc_source.html#l00966">libdap::set_mime_not_modified()</a>, <a class="el" href="mime__util_8cc_source.html#l00429">libdap::set_mime_text()</a>, and <a class="el" href="EncodingType_8h_source.html#l00051">libdap::x_plain</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DODSFilter_a18819961cd0413a5535335dae91f8f76_cgraph.png" border="0" usemap="#classlibdap_1_1DODSFilter_a18819961cd0413a5535335dae91f8f76_cgraph" alt=""/></div>
<map name="classlibdap_1_1DODSFilter_a18819961cd0413a5535335dae91f8f76_cgraph" id="classlibdap_1_1DODSFilter_a18819961cd0413a5535335dae91f8f76_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1DAS.html#a8983b961e6fba3a6fd33ffcfd944eaf2" title="libdap::DAS::print" alt="" coords="412,56,615,83"/><area shape="rect" id="node21" href="namespacelibdap.html#a9ff38622675d29e932726aea56525a40" title="Send a `Not Modified&#39; response." alt="" coords="357,157,669,184"/><area shape="rect" id="node25" href="namespacelibdap.html#a7a785b8fcc89e5be01284c06a9dbc97d" title="libdap::set_mime_text" alt="" coords="397,107,629,133"/><area shape="rect" id="node5" href="classlibdap_1_1AttrTable.html#acc2d83b4f1c8e704a6f83ff966a999c8" title="Prints the attribute table." alt="" coords="719,56,980,83"/><area shape="rect" id="node7" href="classlibdap_1_1AttrTable.html#a4c79bee34f6d3fb0947776adaa52aeee" title="Get the name of this attribute table." alt="" coords="1412,5,1703,32"/><area shape="rect" id="node9" href="namespacelibdap.html#afbd709ed83699c11234a213463d16b9c" title="libdap::id2www" alt="" coords="1476,107,1639,133"/><area shape="rect" id="node13" href="classlibdap_1_1AttrTable.html#a1abee354d7f609ed55b849b0431bc48f" title="libdap::AttrTable::simple_print" alt="" coords="1031,56,1361,83"/><area shape="rect" id="node11" href="namespacelibdap.html#a58976ab42baea9bf93449dda9e18342a" title="libdap::hexstring" alt="" coords="1817,107,2009,133"/><area shape="rect" id="node16" href="classlibdap_1_1AttrTable.html#a689563c3beb8e6f571387c5105821f27" title="Get the type name of an attribute within this attribute table." alt="" coords="1412,56,1703,83"/><area shape="rect" id="node18" href="classlibdap_1_1AttrTable.html#ae7824f413ad036d91df0ef62cac14351" title="libdap::AttrTable::simple_find" alt="" coords="1752,56,2075,83"/><area shape="rect" id="node23" href="namespacelibdap.html#ac9f9538a83379c66933c2c40d90c268e" title="libdap::rfc822_date" alt="" coords="744,132,955,159"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a5a8258609efd1f9a5f9aeea50995aee7"></a><!-- doxytag: member="libdap::DODSFilter::send_das" ref="a5a8258609efd1f9a5f9aeea50995aee7" args="(DAS &amp;das, const string &amp;anc_location=&quot;&quot;, bool with_mime_headers=true) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DODSFilter::send_das </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1DAS.html">DAS</a> &amp;&#160;</td>
          <td class="paramname"><em>das</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>anc_location</em> = <code>&quot;&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>with_mime_headers</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00744">744</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a01f7f1509b351472c74493303429e43d"></a><!-- doxytag: member="libdap::DODSFilter::send_data" ref="a01f7f1509b351472c74493303429e43d" args="(DDS &amp;dds, ConstraintEvaluator &amp;eval, ostream &amp;data_stream, const string &amp;anc_location=&quot;&quot;, bool with_mime_headers=true) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DODSFilter::send_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;&#160;</td>
          <td class="paramname"><em>dds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html">ConstraintEvaluator</a> &amp;&#160;</td>
          <td class="paramname"><em>eval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ostream &amp;&#160;</td>
          <td class="paramname"><em>data_stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>anc_location</em> = <code>&quot;&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>with_mime_headers</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Send the data in the <a class="el" href="classlibdap_1_1DDS.html">DDS</a> object back to the client program. The data is encoded using a <a class="el" href="classlibdap_1_1Marshaller.html" title="abstract base class used to marshal/serialize dap data objects">Marshaller</a>, and enclosed in a MIME document which is all sent to <code>data_stream</code>. If this is being called from a CGI, <code>data_stream</code> is probably <code>stdout</code> and writing to it has the effect of sending the response back to the client.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dds</td><td>A <a class="el" href="classlibdap_1_1DDS.html">DDS</a> object containing the data to be sent. </td></tr>
    <tr><td class="paramname">eval</td><td>A reference to the <a class="el" href="classlibdap_1_1ConstraintEvaluator.html" title="Evaluate a constraint expression.">ConstraintEvaluator</a> to use. </td></tr>
    <tr><td class="paramname">data_stream</td><td>Write the response to this FILE. </td></tr>
    <tr><td class="paramname">anc_location</td><td>A directory to search for ancillary files (in addition to the CWD). This is used in a call to <a class="el" href="classlibdap_1_1DODSFilter.html#aa5fc0e0c30a428025907de4a0585f5d9">get_data_last_modified_time()</a>. </td></tr>
    <tr><td class="paramname">with_mime_headers</td><td>If true, include the MIME headers in the response. Defaults to true. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>void</dd></dl>
<p>Send the data in the <a class="el" href="classlibdap_1_1DDS.html">DDS</a> object back to the client program. The data is encoded using a <a class="el" href="classlibdap_1_1Marshaller.html" title="abstract base class used to marshal/serialize dap data objects">Marshaller</a>, and enclosed in a MIME document which is all sent to <code>data_stream</code>. If this is being called from a CGI, <code>data_stream</code> is probably <code>stdout</code> and writing to it has the effect of sending the response back to the client.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dds</td><td>A <a class="el" href="classlibdap_1_1DDS.html">DDS</a> object containing the data to be sent. </td></tr>
    <tr><td class="paramname">eval</td><td>A reference to the <a class="el" href="classlibdap_1_1ConstraintEvaluator.html" title="Evaluate a constraint expression.">ConstraintEvaluator</a> to use. </td></tr>
    <tr><td class="paramname">data_stream</td><td>Write the response to this stream. </td></tr>
    <tr><td class="paramname">anc_location</td><td>A directory to search for ancillary files (in addition to the CWD). This is used in a call to <a class="el" href="classlibdap_1_1DODSFilter.html#aa5fc0e0c30a428025907de4a0585f5d9">get_data_last_modified_time()</a>. </td></tr>
    <tr><td class="paramname">with_mime_headers</td><td>If true, include the MIME headers in the response. Defaults to true. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>void </dd></dl>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l01016">1016</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

<p>References <a class="el" href="namespacelibdap.html#acd1d919406377c736eb8ad51933c2cd0">libdap::compressor()</a>, <a class="el" href="EncodingType_8h_source.html#l00050">libdap::deflate</a>, <a class="el" href="ObjectType_8h_source.html#l00061">libdap::dods_data</a>, <a class="el" href="ConstraintEvaluator_8cc_source.html#l00288">libdap::ConstraintEvaluator::eval_function()</a>, <a class="el" href="ConstraintEvaluator_8cc_source.html#l00341">libdap::ConstraintEvaluator::eval_function_clauses()</a>, <a class="el" href="ConstraintEvaluator_8cc_source.html#l00311">libdap::ConstraintEvaluator::function_clauses()</a>, <a class="el" href="ConstraintEvaluator_8cc_source.html#l00277">libdap::ConstraintEvaluator::functional_expression()</a>, <a class="el" href="ConstraintEvaluator_8cc_source.html#l00450">libdap::ConstraintEvaluator::parse_constraint()</a>, <a class="el" href="mime__util_8cc_source.html#l00624">libdap::set_mime_binary()</a>, <a class="el" href="mime__util_8cc_source.html#l00966">libdap::set_mime_not_modified()</a>, <a class="el" href="DDS_8cc_source.html#l00831">libdap::DDS::set_timeout()</a>, <a class="el" href="DDS_8cc_source.html#l00846">libdap::DDS::tag_nested_sequences()</a>, <a class="el" href="Error_8h_source.html#l00060">unknown_error</a>, and <a class="el" href="EncodingType_8h_source.html#l00051">libdap::x_plain</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DODSFilter_a01f7f1509b351472c74493303429e43d_cgraph.png" border="0" usemap="#classlibdap_1_1DODSFilter_a01f7f1509b351472c74493303429e43d_cgraph" alt=""/></div>
<map name="classlibdap_1_1DODSFilter_a01f7f1509b351472c74493303429e43d_cgraph" id="classlibdap_1_1DODSFilter_a01f7f1509b351472c74493303429e43d_cgraph">
<area shape="rect" id="node3" href="namespacelibdap.html#acd1d919406377c736eb8ad51933c2cd0" title="libdap::compressor" alt="" coords="525,5,728,32"/><area shape="rect" id="node5" href="classlibdap_1_1ConstraintEvaluator.html#a3d433bb6769cc95fb299249b5e5d74c4" title="Evaluate a function&#45;valued constraint expression." alt="" coords="405,157,848,184"/><area shape="rect" id="node24" href="classlibdap_1_1ConstraintEvaluator.html#ab0dba1657e9aadd85b3ce713c6a4036a" title="Evaluate a function&#45;valued constraint expression that contains several function calls." alt="" coords="365,208,888,235"/><area shape="rect" id="node44" href="classlibdap_1_1ConstraintEvaluator.html#a9985c6a30247ced32a4b6e764deebf45" title="Does the current constraint expression return a DDS pointer?" alt="" coords="391,56,863,83"/><area shape="rect" id="node49" href="classlibdap_1_1ConstraintEvaluator.html#add46ce1d9ef36fa26a2913d8d7c51096" title="Does the current constraint expression return a BaseType pointer? This method does not evaluate the c..." alt="" coords="365,107,888,133"/><area shape="rect" id="node52" href="classlibdap_1_1ConstraintEvaluator.html#aaeb4a7662178b992d9e36ff1dc0fc2bc" title="Parse the constraint expression given the current DDS." alt="" coords="391,309,863,336"/><area shape="rect" id="node62" href="namespacelibdap.html#ae55c70a6b2073269d49dd7654d625710" title="libdap::set_mime_binary" alt="" coords="501,360,752,387"/><area shape="rect" id="node66" href="namespacelibdap.html#a9ff38622675d29e932726aea56525a40" title="Send a `Not Modified&#39; response." alt="" coords="471,411,783,437"/><area shape="rect" id="node69" href="classlibdap_1_1DDS.html#ac97d9bc59c742b46614779f9381baf6a" title="libdap::DDS::set_timeout" alt="" coords="496,461,757,488"/><area shape="rect" id="node71" href="classlibdap_1_1DDS.html#a9d4421c2ccfdbc5ebd4a7d963ab53795" title="Traverse DDS, set Sequence leaf nodes." alt="" coords="451,512,803,539"/><area shape="rect" id="node7" href="structlibdap_1_1Clause.html#abfff44c4db49ad7462d14665b2458588" title="Evaluate a clause which returns a boolean value This method must only be evaluated for clauses with r..." alt="" coords="976,56,1208,83"/><area shape="rect" id="node9" href="namespacelibdap.html#a928b16257bc714971a2a3c91cb42d882" title="libdap::build_btp_args" alt="" coords="1672,81,1915,108"/><area shape="rect" id="node17" href="classlibdap_1_1rvalue.html#a5ec1d2d66b162aa9ad82b658e70ce7de" title="libdap::rvalue::bvalue" alt="" coords="1316,107,1559,133"/><area shape="rect" id="node20" href="structlibdap_1_1Clause.html#aeaccc72688521a8b08aeae970d983473" title="Checks the &quot;representation invariant&quot; of a clause." alt="" coords="1336,5,1539,32"/><area shape="rect" id="node22" href="classlibdap_1_1BaseType.html#a8a0000be2a244e3e07abda3020af8800" title="Evaluate relational operators." alt="" coords="1321,157,1553,184"/><area shape="rect" id="node11" href="namespacelibdap.html#a317edea830aab50d2137a5bd313cc86a" title="libdap::long_to_string" alt="" coords="2008,56,2251,83"/><area shape="rect" id="node15" href="namespacelibdap.html#a36c4fc80766718669c9790c6cb20c895" title="sanitize the size of an array. Test for integer overflow when dynamically allocating an array..." alt="" coords="2044,107,2215,133"/><area shape="rect" id="node13" href="namespacelibdap.html#a576580781bca7dcd4b5a84cc06892aff" title="libdap::append_long_to_string" alt="" coords="2299,56,2611,83"/><area shape="rect" id="node26" href="classlibdap_1_1DDS.html#ade87418e97ee5c7efd92279cd41e421c" title="Adds a copy of the variable to the DDS. Using the ptr_duplicate() method, perform a deep copy on the ..." alt="" coords="981,259,1203,285"/><area shape="rect" id="node35" href="classlibdap_1_1DDS.html#ac83ef5e2bc4e75da5a21ead478aeff0c" title="libdap::DDS::get_dataset_name" alt="" coords="936,107,1248,133"/><area shape="rect" id="node37" href="classlibdap_1_1DDS.html#aa75678c230c20aaf7626f954de04644f" title="libdap::DDS::get_factory" alt="" coords="961,157,1223,184"/><area shape="rect" id="node39" href="classlibdap_1_1BaseType.html#aba7b27635c95b74536de18393133628e" title="libdap::BaseType::set_send_p" alt="" coords="941,208,1243,235"/><area shape="rect" id="node28" href="classlibdap_1_1Structure.html#aa2e403ad2ce9b78f279a18799f61b353" title="libdap::Structure::add_var" alt="" coords="1296,309,1579,336"/><area shape="rect" id="node30" href="classlibdap_1_1BaseType.html#a0b130311c9901fb8a7ab11ea19090ef0" title="libdap::BaseType::ptr_duplicate" alt="" coords="1628,259,1959,285"/><area shape="rect" id="node32" href="classlibdap_1_1BaseType.html#a5b6a39f6ce6594fa74f3fc899ac9a966" title="libdap::BaseType::set_parent" alt="" coords="1643,309,1944,336"/><area shape="rect" id="node41" href="classlibdap_1_1BaseType.html#a0a0c6b5d57813607dc06255b8e0b9bdc" title="Returns the name of the class instance." alt="" coords="1316,208,1559,235"/><area shape="rect" id="node46" href="structlibdap_1_1Clause.html#a7bd5122be1851f0bf32ec1c58b46eaa9" title="Return true if the clause returns a value in a BaseType pointer." alt="" coords="941,5,1243,32"/><area shape="rect" id="node54" href="ConstraintEvaluator_8cc.html#a829e836debe59adfa593dc370b8cb2d0" title="ce_expr_delete_buffer" alt="" coords="976,461,1208,488"/><area shape="rect" id="node56" href="ConstraintEvaluator_8cc.html#a7a3a151376fbd8a427288eab509bfd06" title="ce_expr_string" alt="" coords="1011,309,1173,336"/><area shape="rect" id="node58" href="ConstraintEvaluator_8cc.html#a955ba7cba10608969e986cd241a15155" title="ce_expr_switch_to_buffer" alt="" coords="961,360,1223,387"/><area shape="rect" id="node60" href="ConstraintEvaluator_8cc.html#aba9ee772d54adb658f5dd2e1b71d3c2b" title="ce_exprparse" alt="" coords="1021,411,1163,437"/><area shape="rect" id="node64" href="namespacelibdap.html#ac9f9538a83379c66933c2c40d90c268e" title="libdap::rfc822_date" alt="" coords="987,512,1197,539"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a6e65bf845deb5cac859790b4e632a1f8"></a><!-- doxytag: member="libdap::DODSFilter::send_data_ddx" ref="a6e65bf845deb5cac859790b4e632a1f8" args="(DDS &amp;dds, ConstraintEvaluator &amp;eval, ostream &amp;data_stream, const string &amp;start, const string &amp;boundary, const string &amp;anc_location=&quot;&quot;, bool with_mime_headers=true) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DODSFilter::send_data_ddx </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;&#160;</td>
          <td class="paramname"><em>dds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html">ConstraintEvaluator</a> &amp;&#160;</td>
          <td class="paramname"><em>eval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ostream &amp;&#160;</td>
          <td class="paramname"><em>data_stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>boundary</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>anc_location</em> = <code>&quot;&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>with_mime_headers</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Send the data in the <a class="el" href="classlibdap_1_1DDS.html">DDS</a> object back to the client program. The data is encoded using a <a class="el" href="classlibdap_1_1Marshaller.html" title="abstract base class used to marshal/serialize dap data objects">Marshaller</a>, and enclosed in a MIME document which is all sent to <code>data_stream</code>. If this is being called from a CGI, <code>data_stream</code> is probably <code>stdout</code> and writing to it has the effect of sending the response back to the client.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dds</td><td>A <a class="el" href="classlibdap_1_1DDS.html">DDS</a> object containing the data to be sent. </td></tr>
    <tr><td class="paramname">eval</td><td>A reference to the <a class="el" href="classlibdap_1_1ConstraintEvaluator.html" title="Evaluate a constraint expression.">ConstraintEvaluator</a> to use. </td></tr>
    <tr><td class="paramname">data_stream</td><td>Write the response to this stream. </td></tr>
    <tr><td class="paramname">anc_location</td><td>A directory to search for ancillary files (in addition to the CWD). This is used in a call to <a class="el" href="classlibdap_1_1DODSFilter.html#aa5fc0e0c30a428025907de4a0585f5d9">get_data_last_modified_time()</a>. </td></tr>
    <tr><td class="paramname">with_mime_headers</td><td>If true, include the MIME headers in the response. Defaults to true. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>void </dd></dl>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l01268">1268</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

<p>References <a class="el" href="DODSFilter_8cc_source.html#l00084">CRLF</a>, <a class="el" href="ObjectType_8h_source.html#l00067">libdap::dap4_data_ddx</a>, <a class="el" href="ConstraintEvaluator_8cc_source.html#l00288">libdap::ConstraintEvaluator::eval_function()</a>, <a class="el" href="ConstraintEvaluator_8cc_source.html#l00341">libdap::ConstraintEvaluator::eval_function_clauses()</a>, <a class="el" href="ConstraintEvaluator_8cc_source.html#l00311">libdap::ConstraintEvaluator::function_clauses()</a>, <a class="el" href="ConstraintEvaluator_8cc_source.html#l00277">libdap::ConstraintEvaluator::functional_expression()</a>, <a class="el" href="BaseType_8cc_source.html#l00210">libdap::BaseType::name()</a>, <a class="el" href="ConstraintEvaluator_8cc_source.html#l00450">libdap::ConstraintEvaluator::parse_constraint()</a>, <a class="el" href="mime__util_8cc_source.html#l00655">libdap::set_mime_multipart()</a>, <a class="el" href="mime__util_8cc_source.html#l00966">libdap::set_mime_not_modified()</a>, <a class="el" href="BaseType_8cc_source.html#l00517">libdap::BaseType::set_send_p()</a>, <a class="el" href="DDS_8cc_source.html#l00831">libdap::DDS::set_timeout()</a>, <a class="el" href="DDS_8cc_source.html#l00846">libdap::DDS::tag_nested_sequences()</a>, <a class="el" href="Error_8h_source.html#l00060">unknown_error</a>, and <a class="el" href="EncodingType_8h_source.html#l00051">libdap::x_plain</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DODSFilter_a6e65bf845deb5cac859790b4e632a1f8_cgraph.png" border="0" usemap="#classlibdap_1_1DODSFilter_a6e65bf845deb5cac859790b4e632a1f8_cgraph" alt=""/></div>
<map name="classlibdap_1_1DODSFilter_a6e65bf845deb5cac859790b4e632a1f8_cgraph" id="classlibdap_1_1DODSFilter_a6e65bf845deb5cac859790b4e632a1f8_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1ConstraintEvaluator.html#a3d433bb6769cc95fb299249b5e5d74c4" title="Evaluate a function&#45;valued constraint expression." alt="" coords="445,111,888,137"/><area shape="rect" id="node22" href="classlibdap_1_1ConstraintEvaluator.html#ab0dba1657e9aadd85b3ce713c6a4036a" title="Evaluate a function&#45;valued constraint expression that contains several function calls." alt="" coords="405,307,928,333"/><area shape="rect" id="node37" href="classlibdap_1_1BaseType.html#aba7b27635c95b74536de18393133628e" title="libdap::BaseType::set_send_p" alt="" coords="981,360,1283,387"/><area shape="rect" id="node39" href="classlibdap_1_1BaseType.html#a0a0c6b5d57813607dc06255b8e0b9bdc" title="Returns the name of the class instance." alt="" coords="1356,385,1599,412"/><area shape="rect" id="node42" href="classlibdap_1_1ConstraintEvaluator.html#a9985c6a30247ced32a4b6e764deebf45" title="Does the current constraint expression return a DDS pointer?" alt="" coords="431,231,903,257"/><area shape="rect" id="node47" href="classlibdap_1_1ConstraintEvaluator.html#add46ce1d9ef36fa26a2913d8d7c51096" title="Does the current constraint expression return a BaseType pointer? This method does not evaluate the c..." alt="" coords="405,168,928,195"/><area shape="rect" id="node51" href="classlibdap_1_1ConstraintEvaluator.html#aaeb4a7662178b992d9e36ff1dc0fc2bc" title="Parse the constraint expression given the current DDS." alt="" coords="431,461,903,488"/><area shape="rect" id="node61" href="namespacelibdap.html#a8e8484bd3d54c09c120cb7afcde19d1f" title="libdap::set_mime_multipart" alt="" coords="525,563,808,589"/><area shape="rect" id="node65" href="namespacelibdap.html#a9ff38622675d29e932726aea56525a40" title="Send a `Not Modified&#39; response." alt="" coords="511,512,823,539"/><area shape="rect" id="node69" href="classlibdap_1_1DDS.html#ac97d9bc59c742b46614779f9381baf6a" title="libdap::DDS::set_timeout" alt="" coords="536,613,797,640"/><area shape="rect" id="node71" href="classlibdap_1_1DDS.html#a9d4421c2ccfdbc5ebd4a7d963ab53795" title="Traverse DDS, set Sequence leaf nodes." alt="" coords="491,664,843,691"/><area shape="rect" id="node5" href="structlibdap_1_1Clause.html#abfff44c4db49ad7462d14665b2458588" title="Evaluate a clause which returns a boolean value This method must only be evaluated for clauses with r..." alt="" coords="1016,107,1248,133"/><area shape="rect" id="node7" href="namespacelibdap.html#a928b16257bc714971a2a3c91cb42d882" title="libdap::build_btp_args" alt="" coords="1712,31,1955,57"/><area shape="rect" id="node15" href="classlibdap_1_1rvalue.html#a5ec1d2d66b162aa9ad82b658e70ce7de" title="libdap::rvalue::bvalue" alt="" coords="1356,5,1599,32"/><area shape="rect" id="node18" href="structlibdap_1_1Clause.html#aeaccc72688521a8b08aeae970d983473" title="Checks the &quot;representation invariant&quot; of a clause." alt="" coords="1376,157,1579,184"/><area shape="rect" id="node20" href="classlibdap_1_1BaseType.html#a8a0000be2a244e3e07abda3020af8800" title="Evaluate relational operators." alt="" coords="1361,107,1593,133"/><area shape="rect" id="node9" href="namespacelibdap.html#a317edea830aab50d2137a5bd313cc86a" title="libdap::long_to_string" alt="" coords="2048,5,2291,32"/><area shape="rect" id="node13" href="namespacelibdap.html#a36c4fc80766718669c9790c6cb20c895" title="sanitize the size of an array. Test for integer overflow when dynamically allocating an array..." alt="" coords="2084,56,2255,83"/><area shape="rect" id="node11" href="namespacelibdap.html#a576580781bca7dcd4b5a84cc06892aff" title="libdap::append_long_to_string" alt="" coords="2339,5,2651,32"/><area shape="rect" id="node24" href="classlibdap_1_1DDS.html#ade87418e97ee5c7efd92279cd41e421c" title="Adds a copy of the variable to the DDS. Using the ptr_duplicate() method, perform a deep copy on the ..." alt="" coords="1021,208,1243,235"/><area shape="rect" id="node33" href="classlibdap_1_1DDS.html#ac83ef5e2bc4e75da5a21ead478aeff0c" title="libdap::DDS::get_dataset_name" alt="" coords="976,259,1288,285"/><area shape="rect" id="node35" href="classlibdap_1_1DDS.html#aa75678c230c20aaf7626f954de04644f" title="libdap::DDS::get_factory" alt="" coords="1001,309,1263,336"/><area shape="rect" id="node26" href="classlibdap_1_1Structure.html#aa2e403ad2ce9b78f279a18799f61b353" title="libdap::Structure::add_var" alt="" coords="1336,208,1619,235"/><area shape="rect" id="node28" href="classlibdap_1_1BaseType.html#a0b130311c9901fb8a7ab11ea19090ef0" title="libdap::BaseType::ptr_duplicate" alt="" coords="1668,259,1999,285"/><area shape="rect" id="node30" href="classlibdap_1_1BaseType.html#a5b6a39f6ce6594fa74f3fc899ac9a966" title="libdap::BaseType::set_parent" alt="" coords="1683,208,1984,235"/><area shape="rect" id="node44" href="structlibdap_1_1Clause.html#a7bd5122be1851f0bf32ec1c58b46eaa9" title="Return true if the clause returns a value in a BaseType pointer." alt="" coords="981,157,1283,184"/><area shape="rect" id="node53" href="ConstraintEvaluator_8cc.html#a829e836debe59adfa593dc370b8cb2d0" title="ce_expr_delete_buffer" alt="" coords="1016,461,1248,488"/><area shape="rect" id="node55" href="ConstraintEvaluator_8cc.html#a7a3a151376fbd8a427288eab509bfd06" title="ce_expr_string" alt="" coords="1051,512,1213,539"/><area shape="rect" id="node57" href="ConstraintEvaluator_8cc.html#a955ba7cba10608969e986cd241a15155" title="ce_expr_switch_to_buffer" alt="" coords="1001,563,1263,589"/><area shape="rect" id="node59" href="ConstraintEvaluator_8cc.html#aba9ee772d54adb658f5dd2e1b71d3c2b" title="ce_exprparse" alt="" coords="1061,613,1203,640"/><area shape="rect" id="node63" href="namespacelibdap.html#ac9f9538a83379c66933c2c40d90c268e" title="libdap::rfc822_date" alt="" coords="1027,664,1237,691"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ace2a4de8462020ceaa32edb69d53b706"></a><!-- doxytag: member="libdap::DODSFilter::send_dds" ref="ace2a4de8462020ceaa32edb69d53b706" args="(ostream &amp;out, DDS &amp;dds, ConstraintEvaluator &amp;eval, bool constrained=false, const string &amp;anc_location=&quot;&quot;, bool with_mime_headers=true) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DODSFilter::send_dds </td>
          <td>(</td>
          <td class="paramtype">ostream &amp;&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;&#160;</td>
          <td class="paramname"><em>dds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html">ConstraintEvaluator</a> &amp;&#160;</td>
          <td class="paramname"><em>eval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>constrained</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>anc_location</em> = <code>&quot;&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>with_mime_headers</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This function formats and prints an ASCII representation of a <a class="el" href="classlibdap_1_1DDS.html">DDS</a> on stdout. When called by a CGI program, this has the effect of sending a <a class="el" href="classlibdap_1_1DDS.html">DDS</a> object back to the client program. Either an entire <a class="el" href="classlibdap_1_1DDS.html">DDS</a> or a constrained <a class="el" href="classlibdap_1_1DDS.html">DDS</a> may be sent.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">out</td><td>The output stream to which the <a class="el" href="classlibdap_1_1DAS.html" title="Hold attribute data for a DAP2 dataset.">DAS</a> is to be sent. </td></tr>
    <tr><td class="paramname">dds</td><td>The <a class="el" href="classlibdap_1_1DDS.html">DDS</a> to send back to a client. </td></tr>
    <tr><td class="paramname">eval</td><td>A reference to the <a class="el" href="classlibdap_1_1ConstraintEvaluator.html" title="Evaluate a constraint expression.">ConstraintEvaluator</a> to use. </td></tr>
    <tr><td class="paramname">constrained</td><td>If this argument is true, evaluate the current constraint expression and send the `constrained DDS' back to the client. </td></tr>
    <tr><td class="paramname">anc_location</td><td>The directory in which the external <a class="el" href="classlibdap_1_1DAS.html" title="Hold attribute data for a DAP2 dataset.">DAS</a> file resides. </td></tr>
    <tr><td class="paramname">with_mime_headers</td><td>If true (the default) send MIME headers. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>void </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classlibdap_1_1DDS.html">DDS</a> </dd></dl>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00816">816</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

<p>References <a class="el" href="ObjectType_8h_source.html#l00060">libdap::dods_dds</a>, <a class="el" href="ConstraintEvaluator_8cc_source.html#l00277">libdap::ConstraintEvaluator::functional_expression()</a>, <a class="el" href="ConstraintEvaluator_8cc_source.html#l00450">libdap::ConstraintEvaluator::parse_constraint()</a>, <a class="el" href="DDS_8cc_source.html#l00959">libdap::DDS::print()</a>, <a class="el" href="DDS_8cc_source.html#l01012">libdap::DDS::print_constrained()</a>, <a class="el" href="mime__util_8cc_source.html#l00966">libdap::set_mime_not_modified()</a>, <a class="el" href="mime__util_8cc_source.html#l00429">libdap::set_mime_text()</a>, and <a class="el" href="EncodingType_8h_source.html#l00051">libdap::x_plain</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DODSFilter_ace2a4de8462020ceaa32edb69d53b706_cgraph.png" border="0" usemap="#classlibdap_1_1DODSFilter_ace2a4de8462020ceaa32edb69d53b706_cgraph" alt=""/></div>
<map name="classlibdap_1_1DODSFilter_ace2a4de8462020ceaa32edb69d53b706_cgraph" id="classlibdap_1_1DODSFilter_ace2a4de8462020ceaa32edb69d53b706_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1ConstraintEvaluator.html#add46ce1d9ef36fa26a2913d8d7c51096" title="Does the current constraint expression return a BaseType pointer? This method does not evaluate the c..." alt="" coords="357,56,880,83"/><area shape="rect" id="node9" href="classlibdap_1_1ConstraintEvaluator.html#aaeb4a7662178b992d9e36ff1dc0fc2bc" title="Parse the constraint expression given the current DDS." alt="" coords="383,157,855,184"/><area shape="rect" id="node19" href="classlibdap_1_1DDS.html#a535b5900c31f0038061f4aef5fa1c6c1" title="Print the entire DDS to the specified ostream." alt="" coords="517,208,720,235"/><area shape="rect" id="node25" href="classlibdap_1_1DDS.html#ab2e1cacd542373312d5154565b3c1571" title="Print a constrained DDS to the specified ostream." alt="" coords="457,259,780,285"/><area shape="rect" id="node28" href="namespacelibdap.html#a9ff38622675d29e932726aea56525a40" title="Send a `Not Modified&#39; response." alt="" coords="463,309,775,336"/><area shape="rect" id="node32" href="namespacelibdap.html#a7a785b8fcc89e5be01284c06a9dbc97d" title="libdap::set_mime_text" alt="" coords="503,360,735,387"/><area shape="rect" id="node5" href="structlibdap_1_1Clause.html#a7bd5122be1851f0bf32ec1c58b46eaa9" title="Return true if the clause returns a value in a BaseType pointer." alt="" coords="929,5,1231,32"/><area shape="rect" id="node7" href="structlibdap_1_1Clause.html#aeaccc72688521a8b08aeae970d983473" title="Checks the &quot;representation invariant&quot; of a clause." alt="" coords="1280,5,1483,32"/><area shape="rect" id="node11" href="ConstraintEvaluator_8cc.html#a829e836debe59adfa593dc370b8cb2d0" title="ce_expr_delete_buffer" alt="" coords="964,56,1196,83"/><area shape="rect" id="node13" href="ConstraintEvaluator_8cc.html#a7a3a151376fbd8a427288eab509bfd06" title="ce_expr_string" alt="" coords="999,107,1161,133"/><area shape="rect" id="node15" href="ConstraintEvaluator_8cc.html#a955ba7cba10608969e986cd241a15155" title="ce_expr_switch_to_buffer" alt="" coords="949,157,1211,184"/><area shape="rect" id="node17" href="ConstraintEvaluator_8cc.html#aba9ee772d54adb658f5dd2e1b71d3c2b" title="ce_exprparse" alt="" coords="1009,208,1151,235"/><area shape="rect" id="node21" href="namespacelibdap.html#afbd709ed83699c11234a213463d16b9c" title="libdap::id2www" alt="" coords="999,259,1161,285"/><area shape="rect" id="node23" href="namespacelibdap.html#a58976ab42baea9bf93449dda9e18342a" title="libdap::hexstring" alt="" coords="1285,259,1477,285"/><area shape="rect" id="node30" href="namespacelibdap.html#ac9f9538a83379c66933c2c40d90c268e" title="libdap::rfc822_date" alt="" coords="975,335,1185,361"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="accaa557685fa556753f0a63cbc3b2d60"></a><!-- doxytag: member="libdap::DODSFilter::send_dds" ref="accaa557685fa556753f0a63cbc3b2d60" args="(DDS &amp;dds, ConstraintEvaluator &amp;eval, bool constrained=false, const string &amp;anc_location=&quot;&quot;, bool with_mime_headers=true) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DODSFilter::send_dds </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;&#160;</td>
          <td class="paramname"><em>dds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html">ConstraintEvaluator</a> &amp;&#160;</td>
          <td class="paramname"><em>eval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>constrained</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>anc_location</em> = <code>&quot;&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>with_mime_headers</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00847">847</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a7326c5e9c62affd221c0e99cf6f9fdd1"></a><!-- doxytag: member="libdap::DODSFilter::send_ddx" ref="a7326c5e9c62affd221c0e99cf6f9fdd1" args="(DDS &amp;dds, ConstraintEvaluator &amp;eval, ostream &amp;out, bool with_mime_headers=true) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DODSFilter::send_ddx </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;&#160;</td>
          <td class="paramname"><em>dds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html">ConstraintEvaluator</a> &amp;&#160;</td>
          <td class="paramname"><em>eval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ostream &amp;&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>with_mime_headers</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Send the DDX response. The DDX never contains data, instead it holds a reference to a Blob response which is used to get the data values. The <a class="el" href="classlibdap_1_1DDS.html">DDS</a> and <a class="el" href="classlibdap_1_1DAS.html" title="Hold attribute data for a DAP2 dataset.">DAS</a> objects are built using code that already exists in the servers.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dds</td><td>The dataset's <a class="el" href="classlibdap_1_1DDS.html">DDS</a> <em>with</em> attributes in the variables. </td></tr>
    <tr><td class="paramname">eval</td><td>A reference to the <a class="el" href="classlibdap_1_1ConstraintEvaluator.html" title="Evaluate a constraint expression.">ConstraintEvaluator</a> to use. </td></tr>
    <tr><td class="paramname">out</td><td>Destination </td></tr>
    <tr><td class="paramname">with_mime_headers</td><td>If true, include the MIME headers in the response. Defaults to true. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l01185">1185</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

<p>References <a class="el" href="ObjectType_8h_source.html#l00064">libdap::dap4_ddx</a>, <a class="el" href="ConstraintEvaluator_8cc_source.html#l00277">libdap::ConstraintEvaluator::functional_expression()</a>, <a class="el" href="ConstraintEvaluator_8cc_source.html#l00450">libdap::ConstraintEvaluator::parse_constraint()</a>, <a class="el" href="DDS_8cc_source.html#l01130">libdap::DDS::print_xml()</a>, <a class="el" href="mime__util_8cc_source.html#l00966">libdap::set_mime_not_modified()</a>, <a class="el" href="mime__util_8cc_source.html#l00429">libdap::set_mime_text()</a>, and <a class="el" href="EncodingType_8h_source.html#l00051">libdap::x_plain</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DODSFilter_a7326c5e9c62affd221c0e99cf6f9fdd1_cgraph.png" border="0" usemap="#classlibdap_1_1DODSFilter_a7326c5e9c62affd221c0e99cf6f9fdd1_cgraph" alt=""/></div>
<map name="classlibdap_1_1DODSFilter_a7326c5e9c62affd221c0e99cf6f9fdd1_cgraph" id="classlibdap_1_1DODSFilter_a7326c5e9c62affd221c0e99cf6f9fdd1_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1ConstraintEvaluator.html#add46ce1d9ef36fa26a2913d8d7c51096" title="Does the current constraint expression return a BaseType pointer? This method does not evaluate the c..." alt="" coords="357,56,880,83"/><area shape="rect" id="node9" href="classlibdap_1_1ConstraintEvaluator.html#aaeb4a7662178b992d9e36ff1dc0fc2bc" title="Parse the constraint expression given the current DDS." alt="" coords="383,157,855,184"/><area shape="rect" id="node19" href="classlibdap_1_1DDS.html#af319354a044d02ea89732160131004dc" title="libdap::DDS::print_xml" alt="" coords="497,435,740,461"/><area shape="rect" id="node77" href="namespacelibdap.html#a9ff38622675d29e932726aea56525a40" title="Send a `Not Modified&#39; response." alt="" coords="463,612,775,639"/><area shape="rect" id="node81" href="namespacelibdap.html#a7a785b8fcc89e5be01284c06a9dbc97d" title="libdap::set_mime_text" alt="" coords="503,536,735,563"/><area shape="rect" id="node5" href="structlibdap_1_1Clause.html#a7bd5122be1851f0bf32ec1c58b46eaa9" title="Return true if the clause returns a value in a BaseType pointer." alt="" coords="953,5,1255,32"/><area shape="rect" id="node7" href="structlibdap_1_1Clause.html#aeaccc72688521a8b08aeae970d983473" title="Checks the &quot;representation invariant&quot; of a clause." alt="" coords="1403,5,1605,32"/><area shape="rect" id="node11" href="ConstraintEvaluator_8cc.html#a829e836debe59adfa593dc370b8cb2d0" title="ce_expr_delete_buffer" alt="" coords="988,208,1220,235"/><area shape="rect" id="node13" href="ConstraintEvaluator_8cc.html#a7a3a151376fbd8a427288eab509bfd06" title="ce_expr_string" alt="" coords="1023,56,1185,83"/><area shape="rect" id="node15" href="ConstraintEvaluator_8cc.html#a955ba7cba10608969e986cd241a15155" title="ce_expr_switch_to_buffer" alt="" coords="973,107,1235,133"/><area shape="rect" id="node17" href="ConstraintEvaluator_8cc.html#aba9ee772d54adb658f5dd2e1b71d3c2b" title="ce_exprparse" alt="" coords="1033,157,1175,184"/><area shape="rect" id="node21" href="classlibdap_1_1DDS.html#ac00ec4e96b91d34bd09254005c4cbfdd" title="Get the DAP major version as sent by the client." alt="" coords="963,485,1245,512"/><area shape="rect" id="node23" href="classlibdap_1_1DDS.html#a9ddd1966f1902e4856757cf552fa2b4e" title="Get the DAP minor version as sent by the client." alt="" coords="963,536,1245,563"/><area shape="rect" id="node25" href="classlibdap_1_1DDS.html#a678cf679929468dc959adc136e727dfb" title="Get the URL that will return this DDS/DDX/DataThing." alt="" coords="928,587,1280,613"/><area shape="rect" id="node27" href="namespacelibdap.html#a62463a13bf510db3a14c0053fea14f4d" title="libdap::id2xml" alt="" coords="1423,80,1585,107"/><area shape="rect" id="node31" href="classlibdap_1_1AttrTable.html#a5e27ea09f83831eded1b3d86de7f4534" title="libdap::AttrTable::print_xml" alt="" coords="953,333,1255,360"/><area shape="rect" id="node73" href="classlibdap_1_1DDS.html#aac98f248cd5730a8769f9d71af9788d3" title="Return an iterator to the first variable." alt="" coords="983,384,1225,411"/><area shape="rect" id="node75" href="classlibdap_1_1DDS.html#ad204bbd6eed8d440fb996f41bc986058" title="Return an iterator." alt="" coords="993,435,1215,461"/><area shape="rect" id="node29" href="namespacelibdap.html#a61f9b10ef0e659cebdca50a89d8ea7c3" title="libdap::octal_to_hex" alt="" coords="1793,80,2015,107"/><area shape="rect" id="node33" href="classlibdap_1_1AttrTable.html#a8881bb7044577dae3098f4a1d8bf4f2f" title="libdap::AttrTable::attr_begin" alt="" coords="3011,219,3323,245"/><area shape="rect" id="node35" href="classlibdap_1_1AttrTable.html#a543955729bad6b7a9d1d6b336596b1ba" title="libdap::AttrTable::attr_end" alt="" coords="3021,345,3312,372"/><area shape="rect" id="node37" href="classlibdap_1_1AttrTable.html#a615b618bb2333da0d7114eec2101defe" title="libdap::AttrTable::get_attr" alt="" coords="1359,536,1649,563"/><area shape="rect" id="node41" href="classlibdap_1_1AttrTable.html#a1c86cb6c91dfdc37b9787828dd09483c" title="Get the number of attributes in this container." alt="" coords="1339,587,1669,613"/><area shape="rect" id="node44" href="classlibdap_1_1AttrTable.html#a4010172de5c41cd88f2422d5e1975522" title="Get an attribute container." alt="" coords="1328,283,1680,309"/><area shape="rect" id="node59" href="classlibdap_1_1AttrTable.html#a4c79bee34f6d3fb0947776adaa52aeee" title="Get the name of this attribute table." alt="" coords="2636,232,2927,259"/><area shape="rect" id="node61" href="classlibdap_1_1AttrTable.html#a2ca5cf1e2aa163259b00affe49547a0d" title="libdap::AttrTable::is_container" alt="" coords="2616,181,2947,208"/><area shape="rect" id="node63" href="classlibdap_1_1AttrTable.html#aefcd82370930ba94a288f135d9417a93" title="Get the type of an attribute." alt="" coords="1333,435,1675,461"/><area shape="rect" id="node67" href="classlibdap_1_1AttrTable.html#a689563c3beb8e6f571387c5105821f27" title="Get the type name of an attribute within this attribute table." alt="" coords="1359,485,1649,512"/><area shape="rect" id="node39" href="classlibdap_1_1AttrTable.html#ae7824f413ad036d91df0ef62cac14351" title="libdap::AttrTable::simple_find" alt="" coords="1743,511,2065,537"/><area shape="rect" id="node46" href="classlibdap_1_1AttrTable.html#ae403d070910c829f74a59fbf4648588f" title="Find an attribute with a given name." alt="" coords="1728,283,2080,309"/><area shape="rect" id="node48" href="classlibdap_1_1AttrTable.html#a33653c34e856e2e5fc0578240eb7a959" title="libdap::AttrTable::find" alt="" coords="2215,283,2465,309"/><area shape="rect" id="node57" href="classlibdap_1_1AttrTable.html#a6602967438b96bf1ba08e2b8195b9238" title="libdap::AttrTable::simple_find_container" alt="" coords="2129,232,2551,259"/><area shape="rect" id="node51" href="classlibdap_1_1AttrTable.html#aefdc93c9514013ebd644488cd8365924" title="libdap::AttrTable::recurrsive_find" alt="" coords="2600,307,2963,333"/><area shape="rect" id="node79" href="namespacelibdap.html#ac9f9538a83379c66933c2c40d90c268e" title="libdap::rfc822_date" alt="" coords="999,637,1209,664"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a17243fd4f8bc977f091f125572502bf5"></a><!-- doxytag: member="libdap::DODSFilter::send_version_info" ref="a17243fd4f8bc977f091f125572502bf5" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DODSFilter::send_version_info </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This function formats and sends to stdout version information from the httpd server, the server dispatch scripts, the DODS core software, and (optionally) the dataset. </p>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00678">678</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

<p>References <a class="el" href="mime__util_8cc_source.html#l00109">libdap::do_version()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DODSFilter_a17243fd4f8bc977f091f125572502bf5_cgraph.png" border="0" usemap="#classlibdap_1_1DODSFilter_a17243fd4f8bc977f091f125572502bf5_cgraph" alt=""/></div>
<map name="classlibdap_1_1DODSFilter_a17243fd4f8bc977f091f125572502bf5_cgraph" id="classlibdap_1_1DODSFilter_a17243fd4f8bc977f091f125572502bf5_cgraph">
<area shape="rect" id="node3" href="namespacelibdap.html#a7e95f81049cb65e60edcc5ec41d445d7" title="Send a version number." alt="" coords="445,5,648,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a7a3b83c758edb5ed45270004673a355d"></a><!-- doxytag: member="libdap::DODSFilter::set_ce" ref="a7a3b83c758edb5ed45270004673a355d" args="(string _ce)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DODSFilter::set_ce </td>
          <td>(</td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>_ce</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00352">352</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

<p>References <a class="el" href="escaping_8cc_source.html#l00214">libdap::www2id()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DODSFilter_a7a3b83c758edb5ed45270004673a355d_cgraph.png" border="0" usemap="#classlibdap_1_1DODSFilter_a7a3b83c758edb5ed45270004673a355d_cgraph" alt=""/></div>
<map name="classlibdap_1_1DODSFilter_a7a3b83c758edb5ed45270004673a355d_cgraph" id="classlibdap_1_1DODSFilter_a7a3b83c758edb5ed45270004673a355d_cgraph">
<area shape="rect" id="node3" href="namespacelibdap.html#a376f9593431111a80ef78c98b8f4a0e2" title="libdap::www2id" alt="" coords="336,5,499,32"/><area shape="rect" id="node5" href="namespacelibdap.html#a9a3ca0a741a80db615410ac7dc3417f0" title="libdap::unhexstring" alt="" coords="548,5,759,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ad95070bc42a8aff97cb6c626c78480b6"></a><!-- doxytag: member="libdap::DODSFilter::set_cgi_version" ref="ad95070bc42a8aff97cb6c626c78480b6" args="(string version)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DODSFilter::set_cgi_version </td>
          <td>(</td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>version</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set the CGI/Server version number. Servers use this when answering requests for version information. The version `number' should include both the name of the server (e.g., <code>ff_dods</code>) as well as the version number. Since this information is typically divined by configure, it's up to the executable to poke the correct value in using this method.</p>
<p>Note that the -v switch that this class understands is deprecated since it is usually called by Perl code. It makes more sense to have the actual C++ software set the version string.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">version</td><td>A version string for this server. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00323">323</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

<p>References <a class="el" href="getdap_8cc_source.html#l00064">version</a>.</p>

</div>
</div>
<a class="anchor" id="ab4aa216d0b462b2a18234a241d9b6b01"></a><!-- doxytag: member="libdap::DODSFilter::set_dataset_name" ref="ab4aa216d0b462b2a18234a241d9b6b01" args="(const string _dataset)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DODSFilter::set_dataset_name </td>
          <td>(</td>
          <td class="paramtype">const string&#160;</td>
          <td class="paramname"><em>_dataset</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00372">372</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

<p>References <a class="el" href="escaping_8cc_source.html#l00214">libdap::www2id()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DODSFilter_ab4aa216d0b462b2a18234a241d9b6b01_cgraph.png" border="0" usemap="#classlibdap_1_1DODSFilter_ab4aa216d0b462b2a18234a241d9b6b01_cgraph" alt=""/></div>
<map name="classlibdap_1_1DODSFilter_ab4aa216d0b462b2a18234a241d9b6b01_cgraph" id="classlibdap_1_1DODSFilter_ab4aa216d0b462b2a18234a241d9b6b01_cgraph">
<area shape="rect" id="node3" href="namespacelibdap.html#a376f9593431111a80ef78c98b8f4a0e2" title="libdap::www2id" alt="" coords="437,5,600,32"/><area shape="rect" id="node5" href="namespacelibdap.html#a9a3ca0a741a80db615410ac7dc3417f0" title="libdap::unhexstring" alt="" coords="649,5,860,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="acdf3c3346d326a252d17f5dc346aed5c"></a><!-- doxytag: member="libdap::DODSFilter::set_response" ref="acdf3c3346d326a252d17f5dc346aed5c" args="(const string &amp;r)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DODSFilter::set_response </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>r</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set the response to be returned. Valid response names are "DAS", "DDS", "DataDDS, "Version".</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">r</td><td>The name of the object. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classlibdap_1_1InternalErr.html" title="A class for software fault reporting.">InternalErr</a></td><td>Thrown if the response is not one of the valid names. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00416">416</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a8d9a76bd0ef270d86ef40b7cc4dc03ff"></a><!-- doxytag: member="libdap::DODSFilter::set_timeout" ref="a8d9a76bd0ef270d86ef40b7cc4dc03ff" args="(int timeout=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DODSFilter::set_timeout </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>t</em> = <code>0</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set the server's timeout value. A value of zero (the default) means no timeout.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">t</td><td>Server timeout in seconds. Default is zero (no timeout). </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00600">600</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a6c1b6941a1a6421607eadd675d341077"></a><!-- doxytag: member="libdap::DODSFilter::set_URL" ref="a6c1b6941a1a6421607eadd675d341077" args="(const string &amp;url)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DODSFilter::set_URL </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>url</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set the URL. Set the URL sent to the server. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">url</td><td>The URL, minus the constraint. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="DODSFilter_8cc_source.html#l00389">389</a> of file <a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a18f324b6760e82d1a0fea5a272125af3"></a><!-- doxytag: member="libdap::DODSFilter::d_action" ref="a18f324b6760e82d1a0fea5a272125af3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string <a class="el" href="classlibdap_1_1DODSFilter.html#a18f324b6760e82d1a0fea5a272125af3">libdap::DODSFilter::d_action</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DODSFilter_8h_source.html#l00110">110</a> of file <a class="el" href="DODSFilter_8h_source.html">DODSFilter.h</a>.</p>

</div>
</div>
<a class="anchor" id="a32605daab8497b578477748934b009cc"></a><!-- doxytag: member="libdap::DODSFilter::d_anc_das_lmt" ref="a32605daab8497b578477748934b009cc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">time_t <a class="el" href="classlibdap_1_1DODSFilter.html#a32605daab8497b578477748934b009cc">libdap::DODSFilter::d_anc_das_lmt</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DODSFilter_8h_source.html#l00114">114</a> of file <a class="el" href="DODSFilter_8h_source.html">DODSFilter.h</a>.</p>

</div>
</div>
<a class="anchor" id="a10ec1bad5515cb040d6b67e42a738a5c"></a><!-- doxytag: member="libdap::DODSFilter::d_anc_dds_lmt" ref="a10ec1bad5515cb040d6b67e42a738a5c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">time_t <a class="el" href="classlibdap_1_1DODSFilter.html#a10ec1bad5515cb040d6b67e42a738a5c">libdap::DODSFilter::d_anc_dds_lmt</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DODSFilter_8h_source.html#l00115">115</a> of file <a class="el" href="DODSFilter_8h_source.html">DODSFilter.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad3b704cdf6eae452da68dc16731ee5ce"></a><!-- doxytag: member="libdap::DODSFilter::d_anc_dir" ref="ad3b704cdf6eae452da68dc16731ee5ce" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string <a class="el" href="classlibdap_1_1DODSFilter.html#ad3b704cdf6eae452da68dc16731ee5ce">libdap::DODSFilter::d_anc_dir</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DODSFilter_8h_source.html#l00104">104</a> of file <a class="el" href="DODSFilter_8h_source.html">DODSFilter.h</a>.</p>

</div>
</div>
<a class="anchor" id="a624e0d9fd279c1d75ec769655d6db372"></a><!-- doxytag: member="libdap::DODSFilter::d_anc_file" ref="a624e0d9fd279c1d75ec769655d6db372" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string <a class="el" href="classlibdap_1_1DODSFilter.html#a624e0d9fd279c1d75ec769655d6db372">libdap::DODSFilter::d_anc_file</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DODSFilter_8h_source.html#l00105">105</a> of file <a class="el" href="DODSFilter_8h_source.html">DODSFilter.h</a>.</p>

</div>
</div>
<a class="anchor" id="aafe1eced520da8420b3a3a4aee610fe2"></a><!-- doxytag: member="libdap::DODSFilter::d_bad_options" ref="aafe1eced520da8420b3a3a4aee610fe2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classlibdap_1_1DODSFilter.html#aafe1eced520da8420b3a3a4aee610fe2">libdap::DODSFilter::d_bad_options</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DODSFilter_8h_source.html#l00097">97</a> of file <a class="el" href="DODSFilter_8h_source.html">DODSFilter.h</a>.</p>

</div>
</div>
<a class="anchor" id="a71eee99308f72e94171ceca9ad161e5a"></a><!-- doxytag: member="libdap::DODSFilter::d_cache_dir" ref="a71eee99308f72e94171ceca9ad161e5a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string <a class="el" href="classlibdap_1_1DODSFilter.html#a71eee99308f72e94171ceca9ad161e5a">libdap::DODSFilter::d_cache_dir</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DODSFilter_8h_source.html#l00106">106</a> of file <a class="el" href="DODSFilter_8h_source.html">DODSFilter.h</a>.</p>

</div>
</div>
<a class="anchor" id="aec3b01d948821317cebee18bc489365b"></a><!-- doxytag: member="libdap::DODSFilter::d_ce" ref="aec3b01d948821317cebee18bc489365b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string <a class="el" href="classlibdap_1_1DODSFilter.html#aec3b01d948821317cebee18bc489365b">libdap::DODSFilter::d_ce</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DODSFilter_8h_source.html#l00102">102</a> of file <a class="el" href="DODSFilter_8h_source.html">DODSFilter.h</a>.</p>

</div>
</div>
<a class="anchor" id="a20a3784b4893aa9344908e60c228101d"></a><!-- doxytag: member="libdap::DODSFilter::d_cgi_ver" ref="a20a3784b4893aa9344908e60c228101d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string <a class="el" href="classlibdap_1_1DODSFilter.html#a20a3784b4893aa9344908e60c228101d">libdap::DODSFilter::d_cgi_ver</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DODSFilter_8h_source.html#l00103">103</a> of file <a class="el" href="DODSFilter_8h_source.html">DODSFilter.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac341bef83b259326604a80d39662c8ba"></a><!-- doxytag: member="libdap::DODSFilter::d_comp" ref="ac341bef83b259326604a80d39662c8ba" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classlibdap_1_1DODSFilter.html#ac341bef83b259326604a80d39662c8ba">libdap::DODSFilter::d_comp</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DODSFilter_8h_source.html#l00096">96</a> of file <a class="el" href="DODSFilter_8h_source.html">DODSFilter.h</a>.</p>

</div>
</div>
<a class="anchor" id="a61a5b0904d54eb56c7a6ad1684c05a34"></a><!-- doxytag: member="libdap::DODSFilter::d_conditional_request" ref="a61a5b0904d54eb56c7a6ad1684c05a34" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classlibdap_1_1DODSFilter.html#a61a5b0904d54eb56c7a6ad1684c05a34">libdap::DODSFilter::d_conditional_request</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DODSFilter_8h_source.html#l00098">98</a> of file <a class="el" href="DODSFilter_8h_source.html">DODSFilter.h</a>.</p>

</div>
</div>
<a class="anchor" id="abd2238d1d57f34a1d3a0a1d074b9530f"></a><!-- doxytag: member="libdap::DODSFilter::d_dataset" ref="abd2238d1d57f34a1d3a0a1d074b9530f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string <a class="el" href="classlibdap_1_1DODSFilter.html#abd2238d1d57f34a1d3a0a1d074b9530f">libdap::DODSFilter::d_dataset</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DODSFilter_8h_source.html#l00101">101</a> of file <a class="el" href="DODSFilter_8h_source.html">DODSFilter.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6e1e20b5e89ce89556d3ef2a818a9093"></a><!-- doxytag: member="libdap::DODSFilter::d_if_modified_since" ref="a6e1e20b5e89ce89556d3ef2a818a9093" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">time_t <a class="el" href="classlibdap_1_1DODSFilter.html#a6e1e20b5e89ce89556d3ef2a818a9093">libdap::DODSFilter::d_if_modified_since</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DODSFilter_8h_source.html#l00116">116</a> of file <a class="el" href="DODSFilter_8h_source.html">DODSFilter.h</a>.</p>

</div>
</div>
<a class="anchor" id="aff22b76e40a2a5341fcc2b0551080b24"></a><!-- doxytag: member="libdap::DODSFilter::d_program_name" ref="aff22b76e40a2a5341fcc2b0551080b24" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string <a class="el" href="classlibdap_1_1DODSFilter.html#aff22b76e40a2a5341fcc2b0551080b24">libdap::DODSFilter::d_program_name</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DODSFilter_8h_source.html#l00100">100</a> of file <a class="el" href="DODSFilter_8h_source.html">DODSFilter.h</a>.</p>

</div>
</div>
<a class="anchor" id="aab229b7ab7035001dbfbc664c5b31a06"></a><!-- doxytag: member="libdap::DODSFilter::d_response" ref="aab229b7ab7035001dbfbc664c5b31a06" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlibdap_1_1DODSFilter.html#a908589f76cb20a5acdbc1eee0707fe9c">Response</a> <a class="el" href="classlibdap_1_1DODSFilter.html#aab229b7ab7035001dbfbc664c5b31a06">libdap::DODSFilter::d_response</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DODSFilter_8h_source.html#l00109">109</a> of file <a class="el" href="DODSFilter_8h_source.html">DODSFilter.h</a>.</p>

</div>
</div>
<a class="anchor" id="aacd4a007b3849111d16f53fbdad31268"></a><!-- doxytag: member="libdap::DODSFilter::d_timeout" ref="aacd4a007b3849111d16f53fbdad31268" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classlibdap_1_1DODSFilter.html#aacd4a007b3849111d16f53fbdad31268">libdap::DODSFilter::d_timeout</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DODSFilter_8h_source.html#l00112">112</a> of file <a class="el" href="DODSFilter_8h_source.html">DODSFilter.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae415bfa9bee1c09e58a4330f51c761f8"></a><!-- doxytag: member="libdap::DODSFilter::d_url" ref="ae415bfa9bee1c09e58a4330f51c761f8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string <a class="el" href="classlibdap_1_1DODSFilter.html#ae415bfa9bee1c09e58a4330f51c761f8">libdap::DODSFilter::d_url</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DODSFilter_8h_source.html#l00107">107</a> of file <a class="el" href="DODSFilter_8h_source.html">DODSFilter.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="DODSFilter_8h_source.html">DODSFilter.h</a></li>
<li><a class="el" href="DODSFilter_8cc_source.html">DODSFilter.cc</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespacelibdap.html">libdap</a>      </li>
      <li class="navelem"><a class="el" href="classlibdap_1_1DODSFilter.html">DODSFilter</a>      </li>
      <li class="footer">Generated on Tue Feb 8 2011 for libdap++ by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </li>
    </ul>
  </div>

</body>
</html>