Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TNetFileStager.h
Go to the documentation of this file.
1 // @(#)root/netx:$Id$
2 // Author: G. Ganis Feb 2011
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2002, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TNetFileStager
13 #define ROOT_TNetFileStager
14 
15 //////////////////////////////////////////////////////////////////////////
16 // //
17 // TNetFileStager //
18 // //
19 // TFileStager implementation for a 'rootd' backend. //
20 // //
21 //////////////////////////////////////////////////////////////////////////
22 
23 #include "TFileStager.h"
24 
25 class TCollection;
26 class TNetSystem;
27 
28 class TNetFileStager : public TFileStager {
29 
30 private:
31  TString fPrefix; // prefix to prepend to requests
32  TNetSystem *fSystem; // instance of the admin interface
33 
34  static void GetPrefix(const char *url, TString &pfx);
35 
36 public:
37  TNetFileStager(const char *stager = "");
38  virtual ~TNetFileStager();
39 
40  Bool_t IsStaged(const char *path);
41  Int_t Locate(const char *path, TString &endpath);
42  Bool_t Matches(const char *s);
43 
44  Bool_t IsValid() const { return (fSystem ? kTRUE : kFALSE); }
45 
46  void Print(Option_t *option = "") const;
47 
48  ClassDef(TNetFileStager,0) // Implementation for a 'rootd' backend
49 };
50 
51 #endif