Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-01-08 10:33:39

0001 #ifndef __XRDPFC_DECISION_HH__
0002 #define __XRDPFC_DECISION_HH__
0003 //----------------------------------------------------------------------------------
0004 // Copyright (c) 2014 by Board of Trustees of the Leland Stanford, Jr., University
0005 // Author: Alja Mrak-Tadel, Matevz Tadel, Brian Bockelman
0006 //----------------------------------------------------------------------------------
0007 // XRootD is free software: you can redistribute it and/or modify
0008 // it under the terms of the GNU Lesser General Public License as published by
0009 // the Free Software Foundation, either version 3 of the License, or
0010 // (at your option) any later version.
0011 //
0012 // XRootD is distributed in the hope that it will be useful,
0013 // but WITHOUT ANY WARRANTY; without even the implied warranty of
0014 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0015 // GNU General Public License for more details.
0016 //
0017 // You should have received a copy of the GNU Lesser General Public License
0018 // along with XRootD.  If not, see <http://www.gnu.org/licenses/>.
0019 //----------------------------------------------------------------------------------
0020 
0021 #include <string>
0022 
0023 class XrdOss;
0024 class XrdSysError;
0025 
0026 namespace XrdPfc
0027 {
0028 //----------------------------------------------------------------------------
0029 //! Base class for selecting which files should be cached.
0030 //----------------------------------------------------------------------------
0031 class Decision
0032 {
0033 public:
0034    //--------------------------------------------------------------------------
0035    //! Destructor
0036    //--------------------------------------------------------------------------
0037    virtual ~Decision() {}
0038 
0039    //---------------------------------------------------------------------
0040    //! Decide if original source will be cached.
0041    //!
0042    //! @param & path
0043    //! @param & file system
0044    //!
0045    //! @return decision
0046    //---------------------------------------------------------------------
0047    virtual bool Decide(const std::string &, XrdOss &) const = 0;
0048 
0049    //------------------------------------------------------------------------------
0050    //! Parse configuration arguments.
0051    //!
0052    //! @param params configuration parameters
0053    //!
0054    //! @return status of configuration
0055    //------------------------------------------------------------------------------
0056    virtual bool ConfigDecision(const char* params)
0057    {
0058       (void) params;
0059       return true;
0060    }
0061 };
0062 }
0063 
0064 #endif
0065