xrootd
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ProxyPrefixPlugin.hh
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
2 // Copyright (c) 2011-2017 by European Organization for Nuclear Research (CERN)
3 // Author: Elvin Sindrilaru <esindril@cern.ch>
4 //------------------------------------------------------------------------------
5 // This file is part of the XRootD software suite.
6 //
7 // XRootD is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU Lesser General Public License as published by
9 // the Free Software Foundation, either version 3 of the License, or
10 // (at your option) any later version.
11 //
12 // XRootD is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU General Public License for more details.
16 //
17 // You should have received a copy of the GNU Lesser General Public License
18 // along with XRootD. If not, see <http://www.gnu.org/licenses/>.
19 //
20 // In applying this licence, CERN does not waive the privileges and immunities
21 // granted to it by virtue of its status as an Intergovernmental Organization
22 // or submit itself to any jurisdiction.
23 //------------------------------------------------------------------------------
24 
25 #pragma once
27 
28 namespace xrdcl_proxy
29 {
30 //------------------------------------------------------------------------------
32 //------------------------------------------------------------------------------
34 {
35 public:
36  //----------------------------------------------------------------------------
40  //----------------------------------------------------------------------------
41  ProxyFactory(const std::map<std::string, std::string>* config);
42 
43  //----------------------------------------------------------------------------
45  //----------------------------------------------------------------------------
46  virtual ~ProxyFactory();
47 
48  //----------------------------------------------------------------------------
50  //----------------------------------------------------------------------------
51  virtual XrdCl::FilePlugIn* CreateFile(const std::string& url);
52 
53  //----------------------------------------------------------------------------
55  //----------------------------------------------------------------------------
56  virtual XrdCl::FileSystemPlugIn* CreateFileSystem(const std::string& url);
57 };
58 
59 } // namespace xrdcl_proxy
virtual XrdCl::FileSystemPlugIn * CreateFileSystem(const std::string &url)
Create a file system plug-in for the given URL.
virtual ~ProxyFactory()
Destructor.
An interface for file plug-ins.
Definition: XrdClPlugInInterface.hh:38
Plugin factory.
Definition: XrdClPlugInInterface.hh:548
virtual XrdCl::FilePlugIn * CreateFile(const std::string &url)
Create a file plug-in for the given URL.
XrdCl proxy prefix plugin factory.
Definition: ProxyPrefixPlugin.hh:33
ProxyFactory(const std::map< std::string, std::string > *config)
An interface for file plug-ins.
Definition: XrdClPlugInInterface.hh:283