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;
82 uint64_t d_max_response_size_kb = 0;
85 bool d_ce_empty =
false;
91 bool global_dio_flag =
false;
93 bool utf8_xml_encoding =
false;
117 bool OK()
const {
return (d_factory && d_root && !d_dap_version.empty()); }
125 std::string
name()
const {
return d_name; }
126 void set_name(
const std::string &n) { d_name = n; }
142 std::string
filename()
const {
return d_filename; }
227 void dump(std::ostream &strm)
const override;
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 ...
bool get_utf8_xml_encoding() const
void set_dap_version(const std::string &version_string)
void set_response_limit(long size)
virtual void set_factory(D4BaseTypeFactory *f)
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 dap_version() const
std::string request_xml_base() const
Get the URL that will return this DMR.
void set_global_dio_flag(bool dio_flag_value=true)
DMR & operator=(const DMR &rhs)
void set_ce_empty(bool ce_empty)
Set the flag that marks the expression constraint as empty.
bool get_global_dio_flag() const
void set_name(const std::string &n)
void set_utf8_xml_encoding(bool encoding_value=true)
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_dmr_version(const std::string &v)
void set_response_limit_kb(const uint64_t &size)
void set_filename(const std::string &fn)
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()
std::string dmr_version() const
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
const string c_dap40_namespace