49 #ifndef _constructor_h
53 #ifndef base_type_factory_h
71 #define FILE_METHODS 1
185 string d_container_name;
191 string d_dap_version;
192 string d_request_xml_base;
196 vector<BaseType *> vars;
215 typedef std::vector<BaseType *>::reverse_iterator
Vars_riter ;
314 void parse(
string fname);
316 void parse(FILE *in = stdin);
318 void print(FILE *out);
320 void print_xml(FILE *out,
bool constrained,
const string &blob =
"");
322 void print(ostream &out);
324 void print_xml(ostream &out,
bool constrained,
const string &blob =
"");
327 bool mark(
const string &name,
bool state);
332 virtual void dump(ostream &strm)
const ;
void print(FILE *out)
Print the entire DDS to the specified file.
DDS(BaseTypeFactory *factory, const string &n="")
Contains the attributes for a dataset.
Vars_iter get_vars_iter(int i)
Get an iterator.
BaseType * leaf_match(const string &name, BaseType::btp_stack *s=0)
Vars_iter var_begin()
Return an iterator to the first variable.
string get_request_xml_base() const
Get the URL that will return this DDS/DDX/DataThing.
BaseType * var(const string &n, BaseType::btp_stack &s)
virtual void transfer_attributes(DAS *das)
void print_xml(FILE *out, bool constrained, const string &blob="")
std::vector< BaseType * >::const_iterator Vars_citer
Holds a structure (aggregate) type.
Vars_riter var_rend()
Return a reverse iterator.
int num_var()
Returns the number of variables in the DDS.
std::vector< BaseType * >::reverse_iterator Vars_riter
stack< BaseType * > btp_stack
bool mark(const string &name, bool state)
Mark the send_p flag of the named variable to state.
void parse(string fname)
Parse a DDS from a file with the given name.
DDS & operator=(const DDS &rhs)
string get_dap_version() const
int get_dap_major() const
Get the DAP major version as sent by the client.
void mark_all(bool state)
Keywords & get_keywords()
std::vector< BaseType * >::iterator Vars_iter
virtual AttrTable & get_attr_table()
BaseType * get_var_index(int i)
Get a variable.
bool check_semantics(bool all=false)
Check the semantics of each of the variables represented in the DDS.
void set_dap_version(const string &version_string)
BaseTypeFactory * set_factory(BaseTypeFactory *factory)
Vars_iter var_end()
Return an iterator.
BaseType * exact_match(const string &name, BaseType::btp_stack *s=0)
BaseTypeFactory * get_factory() const
void tag_nested_sequences()
Traverse DDS, set Sequence leaf nodes.
void set_dap_minor(int p)
Set the DAP minor version (typically using info from the client)
void set_dataset_name(const string &n)
The basic data type for the DODS DAP types.
libdap base object for common functionality of libdap objects
void del_var(const string &n)
Removes a variable from the DDS.
Vars_riter var_rbegin()
Return a reverse iterator.
Hold attribute data for a DAP2 dataset.
int get_dap_minor() const
Get the DAP minor version as sent by the client.
string get_dataset_name() const
void duplicate(const DDS &dds)
void set_dap_major(int p)
Set the DAP major version (typically using info from the client)
void print_constrained(FILE *out)
Print a constrained DDS to the specified file.
virtual void dump(ostream &strm) const
dumps information about this object
void add_var(BaseType *bt)
Adds a copy of the variable to the DDS. Using the ptr_duplicate() method, perform a deep copy on the ...
void set_request_xml_base(const string &xb)