Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TNetXNGFileStager.h
Go to the documentation of this file.
1 // @(#)root/netxng:$Id$
2 /*************************************************************************
3  * Copyright (C) 1995-2013, Rene Brun and Fons Rademakers. *
4  * All rights reserved. *
5  * *
6  * For the licensing terms see $ROOTSYS/LICENSE. *
7  * For the list of contributors see $ROOTSYS/README/CREDITS. *
8  *************************************************************************/
9 
10 #ifndef ROOT_TNetXNGFileStager
11 #define ROOT_TNetXNGFileStager
12 
13 ////////////////////////////////////////////////////////////////////////////////
14 // //
15 // TNetXNGFileStager //
16 // //
17 // Authors: Lukasz Janyst, Justin Salmon //
18 // CERN, 2013 //
19 // //
20 // Enables access to XRootD staging capabilities using the new client. //
21 // //
22 ////////////////////////////////////////////////////////////////////////////////
23 
24 #include "TFileStager.h"
25 
26 class TCollection;
27 class TNetXNGSystem;
28 class TFileCollection;
29 
30 class TNetXNGFileStager: public TFileStager {
31 
32 private:
33  TNetXNGSystem *fSystem; // Used to access filesystem interface
34 
35 public:
36  TNetXNGFileStager(const char *url = "");
37  virtual ~TNetXNGFileStager();
38 
39  Bool_t IsStaged(const char *path);
40  Int_t Locate(const char *path, TString &endpath);
41  Int_t LocateCollection(TFileCollection *fc, Bool_t addDummyUrl = kFALSE);
42  Bool_t Matches(const char *s);
43  Bool_t Stage(const char *path, Option_t *opt = 0);
44  Bool_t Stage(TCollection *pathlist, Option_t *opt = 0);
45  Bool_t IsValid() const { return (fSystem ? kTRUE : kFALSE); }
46 
47 private:
48  UChar_t ParseStagePriority(Option_t *opt);
49 
50  ClassDef( TNetXNGFileStager, 0 ) //! Interface to a 'XRD' staging
51 };
52 
53 #endif