Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/TNetXNGFileStager.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // @(#)root/netxng:$Id$
0002 /*************************************************************************
0003  * Copyright (C) 1995-2013, Rene Brun and Fons Rademakers.               *
0004  * All rights reserved.                                                  *
0005  *                                                                       *
0006  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0007  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0008  *************************************************************************/
0009 
0010 #ifndef ROOT_TNetXNGFileStager
0011 #define ROOT_TNetXNGFileStager
0012 
0013 ////////////////////////////////////////////////////////////////////////////////
0014 //                                                                            //
0015 // TNetXNGFileStager                                                          //
0016 //                                                                            //
0017 // Authors: Lukasz Janyst, Justin Salmon                                      //
0018 //          CERN, 2013                                                        //
0019 //                                                                            //
0020 ////////////////////////////////////////////////////////////////////////////////
0021 
0022 #include "TFileStager.h"
0023 
0024 class TCollection;
0025 class TNetXNGSystem;
0026 class TFileCollection;
0027 
0028 /// Enables access to XRootD staging capabilities using the new client
0029 class TNetXNGFileStager: public TFileStager {
0030 
0031 private:
0032    TNetXNGSystem *fSystem; // Used to access filesystem interface
0033 
0034 public:
0035    TNetXNGFileStager(const char *url = "");
0036    virtual ~TNetXNGFileStager();
0037 
0038    Bool_t IsStaged(const char *path) override;
0039    Int_t  Locate(const char *path, TString &endpath) override;
0040    Int_t  LocateCollection(TFileCollection *fc, Bool_t addDummyUrl = kFALSE) override;
0041    Bool_t Matches(const char *s) override;
0042    Bool_t Stage(const char *path, Option_t *opt = nullptr) override;
0043    Bool_t Stage(TCollection *pathlist, Option_t *opt = nullptr) override;
0044    Bool_t IsValid() const override { return fSystem ? kTRUE : kFALSE; }
0045 
0046 private:
0047    UChar_t ParseStagePriority(Option_t *opt);
0048 
0049    ClassDefOverride(TNetXNGFileStager, 0) //! Interface to a 'XRD' staging
0050 };
0051 
0052 #endif