40const string c_dap40_namespace =
"http://xml.opendap.org/ns/DAP/4.0#";
63 std::string d_filename;
70 std::string d_dap_version =
"4.0";
73 std::string d_dmr_version =
"1.0";
76 std::string d_request_xml_base;
79 std::string d_namespace = c_dap40_namespace;
82 uint64_t d_max_response_size_kb = 0;
85 bool d_ce_empty =
false;
91 bool global_dio_flag =
false;
108 DMR &operator=(
const DMR &rhs);
116 bool OK()
const {
return (d_factory && d_root && !d_dap_version.empty()); }
124 std::string
name()
const {
return d_name; }
125 void set_name(
const std::string &n) { d_name = n; }
141 std::string
filename()
const {
return d_filename; }
142 void set_filename(
const std::string &fn) { d_filename = fn; }
145 std::string dap_version()
const {
return d_dap_version; }
147 int dap_major()
const {
return d_dap_major; }
148 int dap_minor()
const {
return d_dap_minor; }
150 std::string dmr_version()
const {
return d_dmr_version; }
151 void set_dmr_version(
const std::string &v) { d_dmr_version = v; }
226 void dump(std::ostream &strm)
const override;
229 bool get_global_dio_flag()
const {
return global_dio_flag; }
230 void set_global_dio_flag(
bool dio_flag_value =
true) { global_dio_flag = dio_flag_value; }
void dump(std::ostream &strm) const override
dumps information about this object
virtual DDS * getDDS()
Build a DDS from a DMR.
void m_duplicate(const DMR &dmr)
Copy the contents of the given DMR into this one. This is defined because the we perform a deep copy ...
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 bool is_dap4_projected(std::vector< string > &inventory)
Scans the inventory of projected variables and their attributes for projected DAP4 types....
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)
virtual D4BaseTypeFactory * factory()
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