#include <CmdClient.h>
Inheritance diagram for CmdClient:
Public Member Functions | |
CmdClient () | |
~CmdClient () | |
void | startClient (const string &host, int portVal, int timeout) |
void | startClient (const string &unixSocket, int timeout) |
void | shutdownClient () |
void | setOutput (ostream *strm, bool created) |
void | executeClientCommand (const string &cmd) |
Executes a client side command. | |
void | executeCommand (const string &cmd, int repeat) |
void | executeCommands (const string &cmd_list, int repeat) |
void | executeCommands (ifstream &inputFile, int repeat) |
void | interact () |
bool | isConnected () |
void | brokenPipe () |
virtual void | dump (ostream &strm) const |
dumps information about this object |
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.
CmdClient::CmdClient | ( | ) | [inline] |
CmdClient::~CmdClient | ( | ) |
void CmdClient::brokenPipe | ( | ) |
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.
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>;
cmd | The BES client side command to execute |
void CmdClient::executeCommand | ( | const string & | cmd, | |
int | repeat | |||
) |
Sends a single OpeNDAP request ending in a semicolon (;) to the OpeNDAP server.
The response is written to the output stream if one is specified, otherwise the output is ignored.
cmd | The BES request, ending in a semicolon, that is sent to the BES server to handle. |
PPTException | Thrown if there is a problem sending the request to the server or a problem receiving the response from the server. |
void CmdClient::executeCommands | ( | ifstream & | istrm, | |
int | repeat | |||
) |
Sends the requests listed in the specified file to the BES server, each command ending with a semicolon.
The requests do not have to be one per line but can span multiple lines and there can be more than one command per line.
The response is written to the output stream if one is specified, otherwise the output is ignored.
inputFile | The file holding the list of BES requests, each ending with a semicolon, that will be sent to the BES server to handle. |
PPTException | Thrown if there is a problem opening the file to read, reading the requests from the file, sending any of the requests to the server or a problem receiving any of the responses from the server. |
void CmdClient::executeCommands | ( | const string & | cmd_list, | |
int | repeat | |||
) |
Execute each of the commands in the cmd_list, separated by a * semicolon.
The response is written to the output stream if one is specified, otherwise the output is ignored.
cmd_list | The list of BES requests, separated by semicolons and ending in a semicolon, that will be sent to the BES server to handle, one at a time. |
PPTException | 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. |
void CmdClient::interact | ( | ) |
An interactive BES client that takes BES requests on the command line.
There can be more than one command per line, but commands can NOT 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.
PPTException | 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. |
bool CmdClient::isConnected | ( | ) |
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. |
PPTException | catches any problems with opening or writing to the output stream and creates a PPTException |
void CmdClient::shutdownClient | ( | ) |
Closes the connection to the OpeNDAP server and closes the output stream.
PPTException | Thrown if unable to close the connection or close the output stream. machine given the specified port. |
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 |
PPTException | Thrown if unable to connect to the BES server |
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.
hostStr | 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. |
PPTException | Thrown if unable to connect to the specified host machine given the specified port. |