bes  Updated for version 3.20.6
ShowBesKeyResponseHandler.h
1 // -*- mode: c++; c-basic-offset:4 -*-
2 //
3 // ShowBesKeyResponseHandler.h
4 //
5 // This file is part of the BES default command set
6 //
7 // Copyright (c) 2018 OPeNDAP, Inc.
8 // Author: Nathan Potter <ndp@opendap.org>
9 //
10 // This library is free software; you can redistribute it and/or
11 // modify it under the terms of the GNU Lesser General Public
12 // License as published by the Free Software Foundation; either
13 // version 2.1 of the License, or (at your option) any later version.
14 //
15 // This library is distributed in the hope that it will be useful,
16 // but WITHOUT ANY WARRANTY; without even the implied warranty of
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 // Lesser General Public License for more details.
19 //
20 // You should have received a copy of the GNU Lesser General Public
21 // License along with this library; if not, write to the Free Software
22 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23 //
24 // You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
25 // Please read the full copyright statement in the file COPYRIGHT_URI.
26 //
27 
28 #ifndef I_ShowBesKeyResponseHandler_h
29 #define I_ShowBesKeyResponseHandler_h 1
30 
31 #include <string>
32 #include <vector>
33 #include <ostream>
34 #include "BESResponseHandler.h"
35 #include "ShowBesKeyCommand.h"
36 
44 public:
45  void eval_resource_path(const std::string &resource_path, const std::string &catalog_root, const bool follow_sym_links,
46  std::string &validPath, bool &isFile, bool &isDir, long long &size, long long &lastModifiedTime, bool &canRead,
47  std::string &remainder);
48 
49  ShowBesKeyResponseHandler(const std::string &name);
50  virtual ~ShowBesKeyResponseHandler();
51 
52  virtual void execute(BESDataHandlerInterface &dhi);
53  virtual void transmit(BESTransmitter *transmitter, BESDataHandlerInterface &dhi);
54 
55  virtual void dump(std::ostream &strm) const;
56 
57  static BESResponseHandler *ShowBesKeyResponseBuilder(const std::string &name);
58 
59  virtual void getBesKeyValue(std::string key, std::vector<std::string> &values);
60 };
61 
62 #endif // I_ShowBesKeyResponseHandler_h
63 
ShowBesKeyResponseHandler::execute
virtual void execute(BESDataHandlerInterface &dhi)
executes the command 'show catalog|leaves [for <node>];' by returning nodes or leaves at the top leve...
Definition: ShowBesKeyResponseHandler.cc:72
ShowBesKeyResponseHandler
Response handler that returns the value(s) of a BES key.
Definition: ShowBesKeyResponseHandler.h:43
ShowBesKeyResponseHandler::dump
virtual void dump(std::ostream &strm) const
dumps information about this object
Definition: ShowBesKeyResponseHandler.cc:131
BESResponseHandler
handler object that knows how to create a specific response object
Definition: BESResponseHandler.h:77
BESTransmitter
Definition: BESTransmitter.h:47
ShowBesKeyResponseHandler::transmit
virtual void transmit(BESTransmitter *transmitter, BESDataHandlerInterface &dhi)
transmit the response object built by the execute command using the specified transmitter object
Definition: ShowBesKeyResponseHandler.cc:116
BESDataHandlerInterface
Structure storing information used by the BES to handle the request.
Definition: BESDataHandlerInterface.h:56