AISConnect Class Reference

#include <AISConnect.h>

Inheritance diagram for AISConnect:

Inheritance graph
[legend]
Collaboration diagram for AISConnect:

Collaboration graph
[legend]
List of all members.

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.
virtual string URL (bool CE=true)
 Get the object's URL.
virtual ~AISConnect ()

Detailed Description

Provide seamless client-side AIS services.

Definition at line 42 of file AISConnect.h.


Constructor & Destructor Documentation

AISConnect::AISConnect (  )  [inline, protected]

Definition at line 50 of file AISConnect.h.

AISConnect::AISConnect ( const AISConnect ac  )  [inline, protected]

Definition at line 52 of file AISConnect.h.

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.

Parameters:
name Create a virtual, AIS-enhanced, connection for this OPeNDAP data source.
Exceptions:
AISDatabaseReadFailed Thrown if the AIS database listed in the ~/.dodsrc file could not be opened.

Definition at line 38 of file AISConnect.cc.

References RCReader::get_ais_database(), and RCReader::instance().

Here is the call graph for this function:

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.

Parameters:
name Create a virtual, AIS-enhanced, connection for this OPeNDAP data source.
ais Read the AIS information from this XML file.
Exceptions:
AISDatabaseReadFailed Thrown if the AIS database listed in the ~/.dodsrc file could not be opened.

Definition at line 55 of file AISConnect.cc.

AISConnect::~AISConnect (  )  [virtual]

Destroy an AISConnect.

Definition at line 63 of file AISConnect.cc.

AISConnect::AISConnect ( const AISConnect ac  )  [inline, protected]

Definition at line 52 of file AISConnect.h.

AISConnect::AISConnect (  )  [inline, protected]

Definition at line 50 of file AISConnect.h.


Member Function Documentation

string 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.

Returns:
A string containing the constraint expression (if any) submitted to the Connect object's constructor.

Definition at line 942 of file Connect.cc.

string Connect::get_protocol (  )  [inline, inherited]

Return the DAP protocol version of the most recent response. Before a response is made, this contains the string "2.0."

Definition at line 198 of file Connect.h.

Referenced by main().

string 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.

See also:
get_protocol()
Deprecated:

Definition at line 190 of file Connect.h.

Referenced by main().

bool Connect::is_cache_enabled (  )  [inherited]

Definition at line 984 of file Connect.cc.

References DBG, DBGN, and HTTPConnect::is_cache_enabled().

Here is the call graph for this function:

bool Connect::is_local (  )  [inherited]

Definition at line 899 of file Connect.cc.

Referenced by main().

void Connect::read_data ( DataDDS data,
Response *  rs 
) [virtual, inherited]

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.

Note:
If you need the DataDDS to hold specializations of the type classes, be sure to include the factory class which will instantiate those specializations in the DataDDS. Either pass a pointer to the factory to DataDDS constructor or use the DDS::set_factory() method after the object is built.
See also:
read_data_no_mime()
Parameters:
data Result.
rs Read from this Response object.

Definition at line 870 of file Connect.cc.

References Connect::read_data_no_mime().

Referenced by main().

Here is the call graph for this function:

void Connect::read_data_no_mime ( DataDDS data,
Response *  rs 
) [virtual, inherited]

Parameters:
data Result.
rs Read from this Response object.

Definition at line 890 of file Connect.cc.

Referenced by main(), and Connect::read_data().

void 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.

Parameters:
das Deposit information to this object.
Exceptions:
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 Connect.

Definition at line 77 of file AISConnect.cc.

References AISMerge::merge(), Connect::request_das(), and Connect::URL().

Here is the call graph for this function:

void 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.

Parameters:
das Result.

Definition at line 430 of file Connect.cc.

References dods_das, dods_error, HTTPConnect::fetch_url(), DAS::parse(), Error::parse(), and web_error.

Here is the call graph for this function:

void 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.

Note:
If you need the DataDDS to hold specializations of the type classes, be sure to include the factory class which will instantiate those specializations in the DataDDS. Either pass a pointer to the factory to DataDDS constructor or use the DDS::set_factory() method after the object is built.
Parameters:
data Result.
expr Send this constraint expression to the server.

Definition at line 783 of file Connect.cc.

References HTTPConnect::fetch_url(), and id2www_ce().

Referenced by main().

Here is the call graph for this function:

void 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

Note:
If you need the DataDDS to hold specializations of the type classes, be sure to include the factory class which will instantiate those specializations in the DataDDS. Either pass a pointer to the factory to DataDDS constructor or use the DDS::set_factory() method after the object is built.
Parameters:
data Result.

Definition at line 833 of file Connect.cc.

References HTTPConnect::fetch_url().

Here is the call graph for this function:

void 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.

Note:
If you need the DDS to hold specializations of the type classes, be sure to include the factory class which will instantiate those specializations in the DDS. Either pass a pointer to the factory to DDS constructor or use the DDS::set_factory() method after the object is built.
Parameters:
dds Result.
expr Send this constraint expression to the server.

Definition at line 493 of file Connect.cc.

References dods_dds, dods_error, HTTPConnect::fetch_url(), id2www_ce(), DDS::parse(), Error::parse(), and web_error.

Referenced by main().

Here is the call graph for this function:

void 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.

Note:
If you need the DDS to hold specializations of the type classes, be sure to include the factory class which will instantiate those specializations in the DDS. Either pass a pointer to the factory to DDS constructor or use the DDS::set_factory() method after the object is built.
Parameters:
dds Result.

Definition at line 577 of file Connect.cc.

References dods_dds, dods_error, HTTPConnect::fetch_url(), DDS::parse(), Error::parse(), and web_error.

Here is the call graph for this function:

void 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.

Note:
A DDX is represented as XML on the wire but in memory libdap uses a DDS object with variables that hold their own attributes (the DDS itself holds the global attributes).
Parameters:
dds Result.
expr Send this constraint expression to the server.

Definition at line 637 of file Connect.cc.

References dap4_ddx, dods_error, HTTPConnect::fetch_url(), DDS::get_factory(), id2www_ce(), DDS::parse(), Error::parse(), and web_error.

Referenced by main().

Here is the call graph for this function:

void Connect::request_ddx_url ( DDS dds  )  [virtual, inherited]

See also:
Connect::request_ddx.

Definition at line 712 of file Connect.cc.

References dap4_ddx, dods_error, HTTPConnect::fetch_url(), DDS::parse(), Error::parse(), and web_error.

Here is the call graph for this function:

string 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.

Returns:
The DAP protocol version string.

Definition at line 331 of file Connect.cc.

References HTTPConnect::fetch_url(), and id2www_ce().

Referenced by main().

Here is the call graph for this function:

string Connect::request_version (  )  [virtual, inherited]

Get version information from the server. This is a new method which will ease the transition to DAP 4.

Note:
Use request_protocol() to get the DAP protocol version.
Returns:
The DAP version string.
See also:
request_protocol()

Definition at line 301 of file Connect.cc.

References HTTPConnect::fetch_url(), and id2www_ce().

Here is the call graph for this function:

void Connect::set_accept_deflate ( bool  deflate  )  [inherited]

Set the accept deflate property.

Parameters:
deflate True if the client can accept compressed responses, False otherwise.

Definition at line 967 of file Connect.cc.

References HTTPConnect::set_accept_deflate().

Referenced by main().

Here is the call graph for this function:

void 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 977 of file Connect.cc.

References HTTPConnect::set_cache_enabled().

Here is the call graph for this function:

void Connect::set_credentials ( string  u,
string  p 
) [inherited]

Parameters:
u The username.
p The password.
See also:
extract_auth_info()

Definition at line 957 of file Connect.cc.

References HTTPConnect::set_credentials().

Here is the call graph for this function:

string 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.

See also:
Connections
Returns:
A string containing the URL of the data to which the Connect object refers. If the object refers to local data, the function returns the null string.
Parameters:
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 921 of file Connect.cc.

Referenced by main(), and request_das().


The documentation for this class was generated from the following files:
Generated on Fri Nov 30 10:50:34 2007 for libdap++ by  doxygen 1.5.1