25 #ifndef _response_builder_h 26 #define _response_builder_h 30 #define DAP_PROTOCOL_VERSION "3.2" 35 class ConstraintEvaluator;
49 friend class ResponseBuilderTest;
52 std::string d_dataset;
78 bool store_dap2_result(ostream &out, libdap::DDS &dds, libdap::ConstraintEvaluator &eval);
80 void send_dap4_data_using_ce(std::ostream &out, libdap::DMR &dmr,
bool with_mime_headersr);
88 d_btp_func_ce(
""), d_timeout(0), d_default_protocol(DAP_PROTOCOL_VERSION),
89 d_cancel_timeout_on_send(false), d_async_accepted(
""), d_store_result(
"")
96 virtual std::string get_ce()
const;
97 virtual void set_ce(std::string _ce);
99 virtual std::string get_dap4ce()
const;
100 virtual void set_dap4ce(std::string _ce);
102 virtual std::string get_dap4function()
const;
103 virtual void set_dap4function(std::string _func);
105 virtual std::string get_store_result()
const;
106 virtual void set_store_result(std::string _sr);
108 virtual std::string get_async_accepted()
const;
109 virtual void set_async_accepted(std::string _aa);
111 virtual std::string get_btp_func_ce()
const 113 return d_btp_func_ce;
115 virtual void set_btp_func_ce(std::string _ce)
120 virtual std::string get_dataset_name()
const;
121 virtual void set_dataset_name(
const std::string _dataset);
127 void register_timeout()
const;
129 void set_timeout(
int timeout = 0);
130 int get_timeout()
const;
131 void timeout_on()
const;
135 void conditional_timeout_cancel();
137 virtual void establish_timeout(std::ostream &stream)
const;
138 virtual void remove_timeout()
const;
140 virtual void split_ce(libdap::ConstraintEvaluator &eval,
const std::string &expr =
"");
142 virtual void send_das(std::ostream &out, libdap::DAS &das,
bool with_mime_headers =
true)
const;
143 virtual void send_das(std::ostream &out, libdap::DDS &dds, libdap::ConstraintEvaluator &eval,
bool constrained =
144 false,
bool with_mime_headers =
true);
146 virtual void send_dds(std::ostream &out, libdap::DDS &dds, libdap::ConstraintEvaluator &eval,
bool constrained =
147 false,
bool with_mime_headers =
true);
149 virtual void serialize_dap2_data_dds(std::ostream &out, libdap::DDS &dds, libdap::ConstraintEvaluator &eval,
150 bool ce_eval =
true);
151 virtual void send_dap2_data(std::ostream &data_stream, libdap::DDS &dds, libdap::ConstraintEvaluator &eval,
152 bool with_mime_headers =
true);
154 virtual void send_ddx(std::ostream &out, libdap::DDS &dds, libdap::ConstraintEvaluator &eval,
155 bool with_mime_headers =
true);
157 virtual void serialize_dap2_data_ddx(std::ostream &out, libdap::DDS & dds, libdap::ConstraintEvaluator & eval,
158 const std::string &boundary,
const std::string &start,
bool ce_eval =
true);
160 virtual void send_dmr(std::ostream &out, libdap::DMR &dmr,
bool with_mime_headers =
true);
162 virtual void send_dap4_data(std::ostream &out, libdap::DMR & dmr,
bool with_mime_headers =
true);
164 virtual void serialize_dap4_data(std::ostream &out, libdap::DMR &dmr,
bool with_mime_headers =
true);
165 virtual bool store_dap4_result(ostream &out, libdap::DMR &dmr);
168 #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.
std::string d_dap2ce
Name of the dataset/database.
std::string d_store_result