25 #ifndef _response_builder_h 26 #define _response_builder_h 30 #define DAP_PROTOCOL_VERSION "3.2" 32 #undef DAP2_STORED_RESULTS 39 class ConstraintEvaluator;
53 friend class ResponseBuilderTest;
56 std::string d_dataset;
82 #ifdef DAP2_STORED_RESULTS 83 bool store_dap2_result(ostream &out, libdap::DDS &dds, libdap::ConstraintEvaluator &eval);
86 void send_dap4_data_using_ce(std::ostream &out, libdap::DMR &dmr,
bool with_mime_headersr);
94 d_btp_func_ce(
""), d_timeout(0), d_default_protocol(DAP_PROTOCOL_VERSION),
95 d_cancel_timeout_on_send(false), d_async_accepted(
""), d_store_result(
"")
102 virtual std::string get_ce()
const;
103 virtual void set_ce(std::string _ce);
105 virtual std::string get_dap4ce()
const;
106 virtual void set_dap4ce(std::string _ce);
108 virtual std::string get_dap4function()
const;
109 virtual void set_dap4function(std::string _func);
111 virtual std::string get_store_result()
const;
112 virtual void set_store_result(std::string _sr);
114 virtual std::string get_async_accepted()
const;
115 virtual void set_async_accepted(std::string _aa);
117 virtual std::string get_btp_func_ce()
const 119 return d_btp_func_ce;
121 virtual void set_btp_func_ce(std::string _ce)
126 virtual std::string get_dataset_name()
const;
127 virtual void set_dataset_name(
const std::string _dataset);
133 void register_timeout()
const;
135 void set_timeout(
int timeout = 0);
136 int get_timeout()
const;
137 void timeout_on()
const;
140 virtual void establish_timeout(std::ostream &stream)
const;
141 virtual void remove_timeout()
const;
144 void conditional_timeout_cancel();
146 virtual void split_ce(libdap::ConstraintEvaluator &eval,
const std::string &expr =
"");
148 virtual void send_das(std::ostream &out, libdap::DAS &das,
bool with_mime_headers =
true)
const;
149 virtual void send_das(std::ostream &out, libdap::DDS **dds, libdap::ConstraintEvaluator &eval,
bool constrained =
150 false,
bool with_mime_headers =
true);
152 virtual void send_dds(std::ostream &out, libdap::DDS **dds, libdap::ConstraintEvaluator &eval,
bool constrained =
153 false,
bool with_mime_headers =
true);
155 virtual void serialize_dap2_data_dds(std::ostream &out, libdap::DDS **dds, libdap::ConstraintEvaluator &eval,
156 bool ce_eval =
true);
157 virtual void send_dap2_data(std::ostream &data_stream, libdap::DDS **dds, libdap::ConstraintEvaluator &eval,
158 bool with_mime_headers =
true);
168 virtual void send_ddx(std::ostream &out, libdap::DDS **dds, libdap::ConstraintEvaluator &eval,
169 bool with_mime_headers =
true);
171 #ifdef DAP2_STORED_RESULTS 172 virtual void serialize_dap2_data_ddx(std::ostream &out, libdap::DDS **dds, libdap::ConstraintEvaluator & eval,
173 const std::string &boundary,
const std::string &start,
bool ce_eval =
true);
175 virtual void send_dmr(std::ostream &out, libdap::DMR &dmr,
bool with_mime_headers =
true);
177 virtual void send_dap4_data(std::ostream &out, libdap::DMR & dmr,
bool with_mime_headers =
true);
179 virtual void serialize_dap4_data(std::ostream &out, libdap::DMR &dmr,
bool with_mime_headers =
true);
181 virtual bool store_dap4_result(ostream &out, libdap::DMR &dmr);
184 #endif // _response_builder_h std::string d_dap4function
DAP4 Constraint expression.
std::string d_async_accepted
Should a timeout be cancelled once transmission starts?
std::string d_default_protocol
Response timeout after N seconds.
int d_timeout
The BTP functions, extracted from the CE.
std::string d_dap4ce
DAP2 Constraint expression.
std::string d_btp_func_ce
DAP4 Server Side Function expression.
bool d_cancel_timeout_on_send
Version string for the library's default protocol version.
Structure storing information used by the BES to handle the request.
std::string d_dap2ce
Name of the dataset/database.
Cache the results from server functions.
Abstract base class representing a specific set of information in response to a request to the BES...
std::string d_store_result