#include <CmdClient.h>
Inheritance diagram for CmdClient:
Public Member Functions | |
void | brokenPipe () |
inform the server that there has been a borken pipe | |
CmdClient () | |
virtual void | dump (ostream &strm) const |
dumps information about this object | |
void | executeClientCommand (const string &cmd) |
Executes a client side command. | |
void | executeCommands (ifstream &inputFile, int repeat) |
Sends the xml request document from the specified file to the server. | |
void | executeCommands (const string &cmd, int repeat) |
Send the command(s) specified to the BES server after wrapping in request document. | |
void | interact () |
An interactive BES client that takes BES requests on the command line. | |
bool | isConnected () |
return whether the client is connected to the BES | |
void | setOutput (ostream *strm, bool created) |
Set the output stream for responses from the BES server. | |
void | shutdownClient () |
Closes the connection to the OpeNDAP server and closes the output stream. | |
void | startClient (const string &unixSocket, int timeout) |
Connect the BES client to the BES server using the unix socket. | |
void | startClient (const string &host, int portVal, int timeout) |
Connect the BES client to the BES server. | |
~CmdClient () |
Requests to the OpenDAP server can be taken in different ways by the CmdClient object.
Response from the requests can sent to any File or OutputStream as specified by using the setOutput methods. If no output is specified using the setOutput methods thent he output is ignored.
Thread safety of this object has not yet been determined.
Definition at line 75 of file CmdClient.h.
CmdClient::CmdClient | ( | ) | [inline] |
Definition at line 88 of file CmdClient.h.
CmdClient::~CmdClient | ( | ) |
Definition at line 92 of file CmdClient.cc.
void CmdClient::brokenPipe | ( | ) |
inform the server that there has been a borken pipe
Definition at line 631 of file CmdClient.cc.
References Connection::brokenPipe().
Referenced by CmdApp::signalBrokenPipe().
Here is the call graph for this function:
void CmdClient::dump | ( | ostream & | strm | ) | const [virtual] |
dumps information about this object
Displays the pointer value of this instance
strm | C++ i/o stream to dump the information to |
Implements BESObj.
Definition at line 644 of file CmdClient.cc.
References PPTClient::dump(), BESIndent::Indent(), BESIndent::LMarg(), and BESIndent::UnIndent().
Referenced by CmdApp::dump().
Here is the call graph for this function:
void CmdClient::executeClientCommand | ( | const string & | cmd | ) |
Executes a client side command.
Client side commands include client suppress; client output to screen; client output to <filename>; client load <filename>;
cmd | The BES client side command to execute |
Definition at line 207 of file CmdClient.cc.
References executeCommands(), and setOutput().
Here is the call graph for this function:
void CmdClient::executeCommands | ( | ifstream & | istrm, | |
int | repeat | |||
) |
Sends the xml request document from the specified file to the server.
The file can contain only one xml request document and must be well formatted. If not, the server will respond with an exception
The response is written to the output stream if one is specified, otherwise the output is ignored.
istrm | The file holding the xml request document | |
repeat | Number of times to repeat the series of commands from the file. |
BESError | Thrown if there is a problem opening the file to read, reading the request document from the file, sending the request document to the server or a problem receiving any of the responses from the server. |
Definition at line 442 of file CmdClient.cc.
void CmdClient::executeCommands | ( | const string & | cmd_list, | |
int | repeat | |||
) |
Send the command(s) specified to the BES server after wrapping in request document.
This takes a string command or set of string commands from the command line, builds an xml document with the commands, and sends it to the server.
The response is written to the output stream if one is specified, otherwise the output is ignored.
cmd_list | The BES commands to send to the BES server | |
repeat | Number of times to repeat the command |
BESError | Thrown if there is a problem sending any of the request to the server or a problem receiving any of the responses from the server. |
Definition at line 399 of file CmdClient.cc.
References CmdTranslation::set_show(), and CmdTranslation::translate().
Referenced by executeClientCommand(), and CmdApp::run().
Here is the call graph for this function:
void CmdClient::interact | ( | ) |
An interactive BES client that takes BES requests on the command line.
The commands specified interactively are the old style command syntax, not xml documents.
There can be more than one command per line, but commands cannot span multiple lines. The user will be prompted to enter a new BES request.
OpenDAPClient:
The response is written to the output stream if one is specified, otherwise the output is ignored.
BESError | Thrown if there is a problem sending any of the requests to the server or a problem receiving any of the responses from the server. |
Definition at line 482 of file CmdClient.cc.
References CmdTranslation::set_show(), and CmdTranslation::translate().
Referenced by CmdApp::run().
Here is the call graph for this function:
bool CmdClient::isConnected | ( | ) |
return whether the client is connected to the BES
Definition at line 621 of file CmdClient.cc.
References Connection::isConnected().
Referenced by CmdApp::signalCannotConnect().
Here is the call graph for this function:
void CmdClient::setOutput | ( | ostream * | strm, | |
bool | created | |||
) |
Set the output stream for responses from the BES server.
Specify where the response output from your BES request will be sent. Set to null if you wish to ignore the response from the BES server.
strm | an OutputStream specifying where to send responses from the BES server. If null then the output will not be output but will be thrown away. | |
created | true of the passed stream was created and can be deleted either by being replaced ro in the destructor |
BESError | catches any problems with opening or writing to the output stream and creates a BESError |
Definition at line 180 of file CmdClient.cc.
Referenced by executeClientCommand(), and CmdApp::run().
void CmdClient::shutdownClient | ( | ) |
Closes the connection to the OpeNDAP server and closes the output stream.
BESError | Thrown if unable to close the connection or close the output stream. machine given the specified port. |
Definition at line 157 of file CmdClient.cc.
References PPTClient::closeConnection().
Referenced by CmdApp::run(), and CmdApp::signalBrokenPipe().
Here is the call graph for this function:
void CmdClient::startClient | ( | const string & | unixStr, | |
int | timeout | |||
) |
Connect the BES client to the BES server using the unix socket.
Connects to the BES server using the specified unix socket
unixStr | Full path to the unix socket | |
timeout | Number of times to try an un-blocked read |
BESError | Thrown if unable to connect to the BES server |
Definition at line 142 of file CmdClient.cc.
References PPTClient::initConnection().
Here is the call graph for this function:
void CmdClient::startClient | ( | const string & | host, | |
int | portVal, | |||
int | timeout | |||
) |
Connect the BES client to the BES server.
Connects to the BES server on the specified machine listening on the specified port.
host | The name of the host machine where the server is running. | |
portVal | The port on which the server on the host hostStr is listening for requests. | |
timeout | Number of times to try an un-blocked read |
BESError | Thrown if unable to connect to the specified host machine given the specified port. |
Definition at line 126 of file CmdClient.cc.
References PPTClient::initConnection().
Referenced by CmdApp::run().
Here is the call graph for this function: