#include <AISConnect.h>
Public Member Functions | |
AISConnect (const string &name, const string &ais_db) throw (AISDatabaseReadFailed) | |
AISConnect (const string &name) throw (AISDatabaseReadFailed) | |
virtual string | CE () |
Get the Connect's constraint expression. | |
string | get_protocol () |
string | get_version () |
bool | is_cache_enabled () |
bool | is_local () |
virtual void | read_data (DataDDS &data, Response *rs) |
Read data which is preceded by MIME headers. | |
virtual void | read_data_no_mime (DataDDS &data, Response *rs) |
Read data from a file which does not have response MIME headers. This method is a companion to read_data(). While read_data() assumes that the response has MIME headers, this method does not. If you call this with a Response that does contain headers, it will throw an Error (and the message is likely to be inscrutable). | |
virtual void | request_das (DAS &das) |
virtual void | request_das_url (DAS &das) |
Get the DAS from a server. | |
virtual void | request_data (DataDDS &data, string expr="") |
Get the DAS from a server. | |
virtual void | request_data_url (DataDDS &data) |
Get the DAS from a server. | |
virtual void | request_dds (DDS &dds, string expr="") |
Get the DDS from a server. | |
virtual void | request_dds_url (DDS &dds) |
Get the DDS from a server. | |
virtual void | request_ddx (DDS &dds, string expr="") |
Get the DDX from a server. | |
virtual void | request_ddx_url (DDS &dds) |
The 'url' version of request_ddx. | |
virtual string | request_protocol () |
virtual string | request_version () |
void | set_accept_deflate (bool deflate) |
void | set_cache_enabled (bool enabled) |
void | set_credentials (string u, string p) |
Set the credentials for responding to challenges while dereferencing URLs. | |
void | set_xdap_accept (int major, int minor) |
void | set_xdap_protocol (int major, int minor) |
virtual string | URL (bool CE=true) |
Get the object's URL. | |
virtual | ~AISConnect () |
Protected Member Functions | |
Suppress the C++ defaults for these. | |
AISConnect (const AISConnect &ac) | |
AISConnect () |
Provide seamless client-side AIS services.
Definition at line 45 of file AISConnect.h.
libdap::AISConnect::AISConnect | ( | ) | [inline, protected] |
Definition at line 53 of file AISConnect.h.
libdap::AISConnect::AISConnect | ( | const AISConnect & | ac | ) | [inline, protected] |
Definition at line 55 of file AISConnect.h.
libdap::AISConnect::AISConnect | ( | const string & | name | ) | throw (AISDatabaseReadFailed) |
Build an AISConnect. This calls Connect's constructor with name
and accepts its default values for the other parameters. The AIS database to use is read from the configuration file ~/.dodsrc
.
name | Create a virtual, AIS-enhanced, connection for this OPeNDAP data source. |
AISDatabaseReadFailed | Thrown if the AIS database listed in the ~/.dodsrc file could not be opened. |
Definition at line 39 of file AISConnect.cc.
libdap::AISConnect::AISConnect | ( | const string & | name, | |
const string & | ais | |||
) | throw (AISDatabaseReadFailed) |
Build an AISConnect. This calls Connect's constructor with name
and accepts its default values for the other parameters. The AIS is initialized to use the database named by ais
.
name | Create a virtual, AIS-enhanced, connection for this OPeNDAP data source. | |
ais | Read the AIS information from this XML file. |
AISDatabaseReadFailed | Thrown if the AIS database listed in the ~/.dodsrc file could not be opened. |
Definition at line 56 of file AISConnect.cc.
libdap::AISConnect::~AISConnect | ( | ) | [virtual] |
Destroy an AISConnect.
Definition at line 64 of file AISConnect.cc.
string libdap::Connect::CE | ( | ) | [virtual, inherited] |
Return the constraint expression (CE) part of the Connect URL. Note that this CE is supplied as part of the URL passed to the Connect's constructor. It is not the CE passed to the request_data()
function.
Definition at line 926 of file Connect.cc.
string libdap::Connect::get_protocol | ( | ) | [inline, inherited] |
string libdap::Connect::get_version | ( | ) | [inline, inherited] |
Return the protocol/implementation version of the most recent response. This is a poorly designed method, but it returns information that is useful when used correctly. Before a response is made, this contains the string "unknown." This should ultimately hold the protocol version; it currently holds the implementation version.
Definition at line 194 of file Connect.h.
Referenced by main().
bool libdap::Connect::is_cache_enabled | ( | ) | [inherited] |
Definition at line 980 of file Connect.cc.
References DBG, DBGN, and libdap::HTTPConnect::is_cache_enabled().
bool libdap::Connect::is_local | ( | ) | [inherited] |
Definition at line 883 of file Connect.cc.
Referenced by main().
This is a place holder. A better implementation for reading objects from the local file store is to write FileConnect and have it support the same interface as HTTPConnect.
data | Result. | |
rs | Read from this Response object. |
Definition at line 854 of file Connect.cc.
References libdap::Connect::read_data_no_mime().
Referenced by main().
data | Result. | |
rs | Read from this Response object. |
Definition at line 874 of file Connect.cc.
References libdap::Response::get_protocol(), and libdap::Response::get_version().
Referenced by main(), and libdap::Connect::read_data().
void libdap::AISConnect::request_das | ( | DAS & | das | ) | [virtual] |
Request an AIS-enhanced DAS object. Read the DAS object for this virtual connection's data source. Then check the AIS database and merge in any ancillary resources listed for it.
das | Deposit information to this object. |
Error | Thrown if the DAS request fails due to user error. | |
InternalErr | Thrown if either the DAS request or the AIS merge request fails. |
Reimplemented from libdap::Connect.
Definition at line 78 of file AISConnect.cc.
References libdap::AISMerge::merge(), and libdap::Connect::URL().
void libdap::Connect::request_das_url | ( | DAS & | das | ) | [virtual, inherited] |
Reads the DAS corresponding to the dataset in the Connect object's URL. Although DAP does not support using CEs with DAS requests, if present in the Connect object's instance, they will be escaped and passed as the query string of the request.
Different from request_das method in that this method uses the URL as given without attaching .das or projections or selections.
das | Result. |
Definition at line 412 of file Connect.cc.
References libdap::dods_das, libdap::dods_error, libdap::HTTPConnect::fetch_url(), libdap::Response::get_protocol(), libdap::Response::get_stream(), libdap::Response::get_type(), libdap::Response::get_version(), libdap::DAS::parse(), libdap::Error::parse(), and libdap::web_error.
void libdap::Connect::request_data | ( | DataDDS & | data, | |
string | expr = "" | |||
) | [virtual, inherited] |
Reads the DataDDS object corresponding to the dataset in the Connect object's URL. If present in the Connect object's instance, a CE will be escaped, combined with expr
and passed as the query string of the request. The result is a DataDDS which contains the data values bound to variables.
data | Result. | |
expr | Send this constraint expression to the server. |
Definition at line 767 of file Connect.cc.
References libdap::HTTPConnect::fetch_url(), libdap::Response::get_protocol(), libdap::Response::get_version(), and libdap::id2www_ce().
Referenced by main().
void libdap::Connect::request_data_url | ( | DataDDS & | data | ) | [virtual, inherited] |
Reads the DataDDS object corresponding to the dataset in the Connect object's URL. If present in the Connect object's instance, a CE will be escaped, combined with expr
and passed as the query string of the request. The result is a DataDDS which contains the data values bound to variables.
Different from request_data in that this method uses the syntax of the new OPeNDAP server commands using dispatch
data | Result. |
Definition at line 817 of file Connect.cc.
References libdap::HTTPConnect::fetch_url(), libdap::Response::get_protocol(), and libdap::Response::get_version().
void libdap::Connect::request_dds | ( | DDS & | dds, | |
string | expr = "" | |||
) | [virtual, inherited] |
Reads the DDS corresponding to the dataset in the Connect object's URL. If present in the Connect object's instance, a CE will be escaped, combined with expr
and passed as the query string of the request.
dds | Result. | |
expr | Send this constraint expression to the server. |
Definition at line 475 of file Connect.cc.
References libdap::dods_dds, libdap::dods_error, libdap::HTTPConnect::fetch_url(), libdap::Response::get_protocol(), libdap::Response::get_stream(), libdap::Response::get_type(), libdap::Response::get_version(), libdap::id2www_ce(), libdap::DDS::parse(), libdap::Error::parse(), and libdap::web_error.
Referenced by main().
void libdap::Connect::request_dds_url | ( | DDS & | dds | ) | [virtual, inherited] |
Reads the DDS corresponding to the dataset in the Connect object's URL. If present in the Connect object's instance, a CE will be escaped, combined with expr
and passed as the query string of the request.
Different from request_dds method above in that this method assumes URL is complete and does not add anything to the command, such as .dds or projections or selections.
dds | Result. |
Definition at line 559 of file Connect.cc.
References libdap::dods_dds, libdap::dods_error, libdap::HTTPConnect::fetch_url(), libdap::Response::get_protocol(), libdap::Response::get_stream(), libdap::Response::get_type(), libdap::Response::get_version(), libdap::DDS::parse(), libdap::Error::parse(), and libdap::web_error.
void libdap::Connect::request_ddx | ( | DDS & | dds, | |
string | expr = "" | |||
) | [virtual, inherited] |
Reads the DDX corresponding to the dataset in the Connect object's URL. If present in the Connect object's instance, a CE will be escaped, combined with expr
and passed as the query string of the request.
dds | Result. | |
expr | Send this constraint expression to the server. |
Definition at line 619 of file Connect.cc.
References libdap::dap4_ddx, libdap::dods_error, libdap::HTTPConnect::fetch_url(), libdap::DDS::get_factory(), libdap::Response::get_protocol(), libdap::Response::get_stream(), libdap::Response::get_type(), libdap::Response::get_version(), libdap::id2www_ce(), libdap::DDS::parse(), libdap::Error::parse(), and libdap::web_error.
Referenced by main().
void libdap::Connect::request_ddx_url | ( | DDS & | dds | ) | [virtual, inherited] |
Definition at line 696 of file Connect.cc.
References libdap::dap4_ddx, libdap::dods_error, libdap::HTTPConnect::fetch_url(), libdap::Response::get_protocol(), libdap::Response::get_stream(), libdap::Response::get_type(), libdap::Response::get_version(), libdap::DDS::parse(), libdap::Error::parse(), and libdap::web_error.
string libdap::Connect::request_protocol | ( | ) | [virtual, inherited] |
Get protocol version information from the server. This is a new method which will ease the transition to DAP 4. Note that this method returns the version of the DAP protocol implemented by the server. The request_version() method returns the server's version number, not the DAP protocol version.
Definition at line 313 of file Connect.cc.
References libdap::HTTPConnect::fetch_url(), libdap::Response::get_protocol(), libdap::Response::get_version(), and libdap::id2www_ce().
Referenced by main().
string libdap::Connect::request_version | ( | ) | [virtual, inherited] |
Get version information from the server. This is a new method which will ease the transition to DAP 4.
Definition at line 279 of file Connect.cc.
References libdap::HTTPConnect::fetch_url(), libdap::Response::get_protocol(), libdap::Response::get_version(), and libdap::id2www_ce().
void libdap::Connect::set_accept_deflate | ( | bool | deflate | ) | [inherited] |
Set the accept deflate property.
deflate | True if the client can accept compressed responses, False otherwise. |
Definition at line 951 of file Connect.cc.
References libdap::HTTPConnect::set_accept_deflate().
Referenced by main().
void libdap::Connect::set_cache_enabled | ( | bool | cache | ) | [inherited] |
Disable any further use of the client-side cache. In a future version of this software, this should be handled so that the www library is not initialized with the cache running by default.
Definition at line 973 of file Connect.cc.
References libdap::HTTPConnect::set_cache_enabled().
void libdap::Connect::set_credentials | ( | string | u, | |
string | p | |||
) | [inherited] |
u | The username. | |
p | The password. |
Definition at line 941 of file Connect.cc.
References libdap::HTTPConnect::set_credentials().
void libdap::Connect::set_xdap_accept | ( | int | major, | |
int | minor | |||
) | [inherited] |
void libdap::Connect::set_xdap_protocol | ( | int | major, | |
int | minor | |||
) | [inherited] |
Set the XDAP-Accept property/header. This is used to send to a server the (highest) DAP protocol version number that this client understands.
major | The client dap protocol major version | |
minor | The client dap protocol minor version |
Definition at line 963 of file Connect.cc.
References libdap::HTTPConnect::set_xdap_protocol().
Referenced by main().
string libdap::Connect::URL | ( | bool | ce = true |
) | [virtual, inherited] |
Return the Connect object's URL in a string. The URL was set by the class constructor, and may not be reset. If you want to open another URL, you must create another Connect object. There is a Connections class created to handle the management of multiple Connect objects.
ce | If TRUE, the returned URL will include any constraint expression enclosed with the Connect object's URL (including the ? ). If FALSE, any constraint expression will be removed from the URL. The default is TRUE. |
Definition at line 905 of file Connect.cc.
Referenced by main(), and request_das().