// @(#)root/netx:$Id$
// Author: G. Ganis Feb 2011

/*************************************************************************
 * Copyright (C) 1995-2002, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TNetFileStager
#define ROOT_TNetFileStager

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TNetFileStager                                                       //
//                                                                      //
// TFileStager implementation for a 'rootd' backend.                    //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TFileStager
#include "TFileStager.h"
#endif

class TCollection;
class TNetSystem;

class TNetFileStager : public TFileStager {

private:
   TString        fPrefix; // prefix to prepend to requests
   TNetSystem   *fSystem; // instance of the admin interface

   static void    GetPrefix(const char *url, TString &pfx);

public:
   TNetFileStager(const char *stager = "");
   virtual ~TNetFileStager();

   Bool_t  IsStaged(const char *path);
   Int_t   Locate(const char *path, TString &endpath);
   Bool_t  Matches(const char *s);

   Bool_t  IsValid() const { return (fSystem ? kTRUE : kFALSE); }

   void    Print(Option_t *option = "") const;

   ClassDef(TNetFileStager,0)  // Implementation for a 'rootd' backend
};

#endif
 TNetFileStager.h:1
 TNetFileStager.h:2
 TNetFileStager.h:3
 TNetFileStager.h:4
 TNetFileStager.h:5
 TNetFileStager.h:6
 TNetFileStager.h:7
 TNetFileStager.h:8
 TNetFileStager.h:9
 TNetFileStager.h:10
 TNetFileStager.h:11
 TNetFileStager.h:12
 TNetFileStager.h:13
 TNetFileStager.h:14
 TNetFileStager.h:15
 TNetFileStager.h:16
 TNetFileStager.h:17
 TNetFileStager.h:18
 TNetFileStager.h:19
 TNetFileStager.h:20
 TNetFileStager.h:21
 TNetFileStager.h:22
 TNetFileStager.h:23
 TNetFileStager.h:24
 TNetFileStager.h:25
 TNetFileStager.h:26
 TNetFileStager.h:27
 TNetFileStager.h:28
 TNetFileStager.h:29
 TNetFileStager.h:30
 TNetFileStager.h:31
 TNetFileStager.h:32
 TNetFileStager.h:33
 TNetFileStager.h:34
 TNetFileStager.h:35
 TNetFileStager.h:36
 TNetFileStager.h:37
 TNetFileStager.h:38
 TNetFileStager.h:39
 TNetFileStager.h:40
 TNetFileStager.h:41
 TNetFileStager.h:42
 TNetFileStager.h:43
 TNetFileStager.h:44
 TNetFileStager.h:45
 TNetFileStager.h:46
 TNetFileStager.h:47
 TNetFileStager.h:48
 TNetFileStager.h:49
 TNetFileStager.h:50
 TNetFileStager.h:51
 TNetFileStager.h:52
 TNetFileStager.h:53