bes  Updated for version 3.20.6
GatewayPathInfoResponseHandler.h
1 // -*- mode: c++; c-basic-offset:4 -*-
2 //
3 // W10NResponseHandler.h
4 //
5 // This file is part of BES w10n handler
6 //
7 // Copyright (c) 2015v 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_GatewayPathInfoResponseHandler_h
29 #define I_GatewayPathInfoResponseHandler_h 1
30 
31 #include "BESResponseHandler.h"
32 #include "GatewayPathInfoCommand.h"
33 
48 private:
49  BESInfo *_response;
50 
51 public:
52  void eval_resource_path(const std::string &resource_path, const std::string &catalog_root, const bool follow_sym_links, std::string &validPath, bool &isFile,
53  bool &isDir, long long &size, long long &lastModifiedTime, bool &canRead, std::string &remainder);
54 
55 public:
56  GatewayPathInfoResponseHandler(const std::string &name);
57  virtual ~GatewayPathInfoResponseHandler(void);
58 
59  virtual void execute(BESDataHandlerInterface &dhi);
60  virtual void transmit(BESTransmitter *transmitter, BESDataHandlerInterface &dhi);
61 
62  virtual void dump(std::ostream &strm) const;
63 
64  static BESResponseHandler *GatewayPathInfoResponseBuilder(const std::string &name);
65 };
66 
67 #endif // I_GatewayPathInfoResponseHandler_h
68 
GatewayPathInfoResponseHandler::transmit
virtual void transmit(BESTransmitter *transmitter, BESDataHandlerInterface &dhi)
transmit the response object built by the execute command using the specified transmitter object
Definition: GatewayPathInfoResponseHandler.cc:240
BESInfo
informational response object
Definition: BESInfo.h:63
BESResponseHandler
handler object that knows how to create a specific response object
Definition: BESResponseHandler.h:77
BESTransmitter
Definition: BESTransmitter.h:47
GatewayPathInfoResponseHandler::dump
virtual void dump(std::ostream &strm) const
dumps information about this object
Definition: GatewayPathInfoResponseHandler.cc:255
BESDataHandlerInterface
Structure storing information used by the BES to handle the request.
Definition: BESDataHandlerInterface.h:56
GatewayPathInfoResponseHandler
response handler that returns nodes or leaves within the catalog either at the root or at a specified...
Definition: GatewayPathInfoResponseHandler.h:47
GatewayPathInfoResponseHandler::execute
virtual void execute(BESDataHandlerInterface &dhi)
executes the command 'show catalog|leaves [for <node>];' by returning nodes or leaves at the top leve...
Definition: GatewayPathInfoResponseHandler.cc:92