41 class D4BaseTypeFactory;
62 std::string d_filename;
69 std::string d_dap_version;
72 std::string d_dmr_version;
75 std::string d_request_xml_base;
78 std::string d_namespace;
81 uint64_t d_max_response_size_kb;
92 void m_duplicate(
const DMR &dmr);
103 DMR &operator=(
const DMR &rhs);
111 bool OK()
const {
return (d_factory && d_root && !d_dap_version.empty()); }
119 std::string
name()
const {
return d_name; }
120 void set_name(
const std::string &n) { d_name = n; }
136 std::string
filename()
const {
return d_filename; }
137 void set_filename(
const std::string &fn) { d_filename = fn;}
140 std::string dap_version()
const {
return d_dap_version; }
142 int dap_major()
const {
return d_dap_major; }
143 int dap_minor()
const {
return d_dap_minor; }
145 std::string dmr_version()
const {
return d_dmr_version; }
146 void set_dmr_version(
const std::string &v) { d_dmr_version = v; }
180 d_max_response_size_kb = size;
189 d_max_response_size_kb = size;
206 return d_max_response_size_kb != 0 &&
request_size_kb(
true) > d_max_response_size_kb;
225 virtual void dump(std::ostream &strm)
const ;
virtual DDS * getDDS()
Build a DDS from a DMR.
void set_dap_version(const std::string &version_string)
void set_response_limit(long size)
bool get_ce_empty() const
Get the flag that marks the expression constraint as empty.
long response_limit() const
Get the maximum response size, in KB. Zero indicates no limit.
std::string get_namespace() const
Get the namespace associated with the DMR.
std::string request_xml_base() const
Get the URL that will return this DMR.
void set_ce_empty(bool ce_empty)
Set the flag that marks the expression constraint as empty.
virtual void dump(std::ostream &strm) const
dumps information about this object
virtual D4BaseTypeFactory * factory()
virtual void build_using_dds(DDS &dds)
long request_size(bool constrained)
Get the estimated response size, in kilobytes.
uint64_t request_size_kb(bool constrained)
Compute the estimated response size, in kilobytes.
void set_response_limit_kb(const uint64_t &size)
void set_namespace(const std::string &ns)
Set the namespace for this DMR.
std::string filename() const
void set_request_xml_base(const std::string &xb)
void print_dap4(XMLWriter &xml, bool constrained=false)
uint64_t response_limit_kb() const
Get the maximum response size, in KB. Zero indicates no limit.
libdap base object for common functionality of libdap objects
top level DAP object to house generic methods