45#ifndef constraint_evaluator_h
46#include "ConstraintEvaluator.h"
94 bool d_conditional_request;
96 string d_program_name;
110 time_t d_anc_das_lmt;
111 time_t d_anc_dds_lmt;
112 time_t d_if_modified_since;
115 void initialize(
int argc,
char *argv[]);
128 DODSFilter(
int argc,
char *argv[])
throw(Error);
130 virtual ~DODSFilter();
135 virtual void set_cgi_version(
string version);
137 virtual string get_ce()
const;
138 virtual void set_ce(
string _ce);
140 virtual string get_dataset_name()
const;
141 virtual void set_dataset_name(
const string _dataset);
143 virtual string get_URL()
const;
144 virtual void set_URL(
const string &url);
152 virtual time_t get_dataset_last_modified_time()
const;
164 void set_timeout(
int timeout = 0);
166 int get_timeout()
const;
168 virtual void establish_timeout(ostream &stream)
const;
174 virtual void send_das(DAS &das,
const string &anc_location =
"",
bool with_mime_headers =
true)
const;
175 virtual void send_das(ostream &out, DAS &das,
const string &anc_location =
"",
bool with_mime_headers =
true)
const;
177 virtual void send_dds(DDS &dds, ConstraintEvaluator &eval,
bool constrained =
false,
178 const string &anc_location =
"",
bool with_mime_headers =
true)
const;
179 virtual void send_dds(ostream &out, DDS &dds, ConstraintEvaluator &eval,
bool constrained =
false,
180 const string &anc_location =
"",
bool with_mime_headers =
true)
const;
182 virtual void functional_constraint(
BaseType &
var, DDS &dds, ConstraintEvaluator &eval, ostream &out)
const;
184 virtual void dataset_constraint(DDS &dds, ConstraintEvaluator &eval, ostream &out,
bool ce_eval =
true)
const;
185 virtual void dataset_constraint_ddx(DDS &dds, ConstraintEvaluator &eval, ostream &out,
const string &boundary,
186 const string &start,
bool ce_eval =
true)
const;
188 virtual void send_data(DDS &dds, ConstraintEvaluator &eval, ostream &data_stream,
const string &anc_location =
"",
189 bool with_mime_headers =
true)
const;
190 virtual void send_ddx(DDS &dds, ConstraintEvaluator &eval, ostream &out,
bool with_mime_headers =
true)
const;
191 virtual void send_data_ddx(DDS &dds, ConstraintEvaluator &eval, ostream &data_stream,
const string &start,
192 const string &boundary,
const string &anc_location =
"",
193 bool with_mime_headers =
true)
const;
195 virtual void establish_timeout(FILE *stream)
const;
196 virtual void send_das(FILE *out, DAS &das,
const string &anc_location =
"",
bool with_mime_headers =
true)
const;
197 virtual void send_dds(FILE *out, DDS &dds, ConstraintEvaluator &eval,
bool constrained =
false,
198 const string &anc_location =
"",
bool with_mime_headers =
true)
const;
200 virtual void functional_constraint(
BaseType &
var, DDS &dds, ConstraintEvaluator &eval, FILE *out)
const;
202 virtual void dataset_constraint(DDS &dds, ConstraintEvaluator &eval, FILE *out,
bool ce_eval =
true)
const;
203 virtual void send_data(DDS &dds, ConstraintEvaluator &eval, FILE *data_stream,
const string &anc_location =
"",
204 bool with_mime_headers =
true)
const;
205 virtual void send_ddx(DDS &dds, ConstraintEvaluator &eval, FILE *out,
bool with_mime_headers =
true)
const;
top level DAP object to house generic methods
virtual string get_ce() const
Get the constraint expression.
virtual time_t get_dds_last_modified_time(const string &anc_location="") const
virtual BaseType * var(const string &name="", bool exact_match=true, btp_stack *s=nullptr)
Returns a pointer to a member of a constructor class.
Response
Common functions for DODS server filter programs.
virtual Response get_response() const
virtual int process_options(int argc, char *argv[])
virtual void set_URL(const string &url)
virtual string get_action() const
virtual void print_usage() const
Print usage information for a filter program.
virtual string get_dataset_version() const
Get the version information for the dataset.
virtual bool is_conditional() const
Is this request conditional?
virtual string get_cgi_version() const
virtual void send_version_info() const
Send version information back to the client program.
virtual void set_response(const string &r)
virtual string get_URL() const
Get the dataset name.
virtual string get_cache_dir() const
Get the cache directory.
virtual time_t get_das_last_modified_time(const string &anc_location="") const
virtual time_t get_request_if_modified_since() const
virtual time_t get_data_last_modified_time(const string &anc_location="") const