bes Updated for version 3.20.13
StandAloneClient.h
1// StandAloneClient.h
2
3// This file is part of bes, A C++ back-end server implementation framework
4// for the OPeNDAP Data Access Protocol.
5
6// Copyright (c) 2004-2009 University Corporation for Atmospheric Research
7// Author: Patrick West <pwest@ucar.edu> and Jose Garcia <jgarcia@ucar.edu>
8//
9// This library is free software; you can redistribute it and/or
10// modify it under the terms of the GNU Lesser General Public
11// License as published by the Free Software Foundation; either
12// version 2.1 of the License, or (at your option) any later version.
13//
14// This library is distributed in the hope that it will be useful,
15// but WITHOUT ANY WARRANTY; without even the implied warranty of
16// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17// Lesser General Public License for more details.
18//
19// You should have received a copy of the GNU Lesser General Public
20// License along with this library; if not, write to the Free Software
21// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22//
23// You can contact University Corporation for Atmospheric Research at
24// 3080 Center Green Drive, Boulder, CO 80301
25
26// (c) COPYRIGHT University Corporation for Atmospheric Research 2004-2005
27// Please read the full copyright statement in the file COPYRIGHT_UCAR.
28//
29// Authors:
30// pwest Patrick West <pwest@ucar.edu>
31// jgarcia Jose Garcia <jgarcia@ucar.edu>
32
33#ifndef StandAloneClient_h
34#define StandAloneClient_h 1
35
36#include <iostream>
37#include <string>
38#include <fstream>
39
40#include "BESObj.h"
41
69class StandAloneClient : public BESObj {
70private:
71 std::ostream *_strm;
72 bool _strmCreated;
73 bool _isInteractive;
74
75 size_t readLine(std::string &str);
76
77 void displayHelp();
78
79 void executeCommand(const std::string &cmd, int repeat);
80
81public:
82 StandAloneClient() : _strm(0), _strmCreated(false), _isInteractive(false) {}
83
85
86 void setOutput(std::ostream *strm, bool created);
87
88 void executeClientCommand(const std::string &cmd);
89
90 void executeCommands(const std::string &cmd_list, int repeat);
91
92 void executeCommands(std::ifstream &inputFile, int repeat);
93
94 void interact();
95
96 virtual void dump(std::ostream &strm) const;
97};
98
99#endif // StandAloneClient_h
100
top level BES object to house generic methods
Definition: BESObj.h:54
void executeCommands(const std::string &cmd_list, 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.
void executeClientCommand(const std::string &cmd)
Executes a client side command.
virtual void dump(std::ostream &strm) const
dumps information about this object
void setOutput(std::ostream *strm, bool created)
Set the output stream for responses from the BES server.