10 #ifndef ROOT_TNetXNGFile 
   11 #define ROOT_TNetXNGFile 
   27 #include <XrdCl/XrdClFileSystem.hh> 
   39       enum    Flags {None = 0};
 
   44 class TNetXNGFile: 
public TFile {
 
   48    XrdCl::OpenFlags::Flags fMode;        
 
   49    XrdSysCondVar          *fInitCondVar; 
 
   53    Int_t                   fQueryReadVParams;
 
   57    TNetXNGFile() : TFile(),
 
   58       fFile(0), fUrl(0), fMode(XrdCl::OpenFlags::None), fInitCondVar(0),
 
   59       fReadvIorMax(0), fReadvIovMax(0) {}
 
   60    TNetXNGFile(
const char *url, 
const char *lurl, Option_t *mode , 
const char *title ,
 
   61                Int_t compress , Int_t netopt , Bool_t parallelopen );
 
   62    TNetXNGFile(
const char *url, Option_t *mode = 
"", 
const char *title = 
"",
 
   63                Int_t compress = 1, Int_t netopt = 0, Bool_t parallelopen = kFALSE);
 
   65    virtual ~TNetXNGFile();
 
   67    virtual void     Init(Bool_t create);
 
   68    virtual void     Close(
const Option_t *option = 
"");
 
   69    virtual void     Seek(Long64_t offset, ERelativeTo position = kBeg);
 
   70    virtual void     SetAsyncOpenStatus(EAsyncOpenStatus status);
 
   71    virtual Long64_t GetSize() 
const;
 
   72    virtual Int_t    ReOpen(Option_t *modestr);
 
   73    virtual Bool_t   IsOpen() 
const;
 
   74    virtual Bool_t   WriteBuffer(
const char *buffer, Int_t length);
 
   76    virtual Bool_t   ReadBuffer(
char *buffer, Int_t length);
 
   77    virtual Bool_t   ReadBuffer(
char *buffer, Long64_t position, Int_t length);
 
   78    virtual Bool_t   ReadBuffers(
char *buffer, Long64_t *position, Int_t *length,
 
   80    virtual TString  GetNewUrl() { 
return fNewUrl; }
 
   83    virtual Bool_t IsUseable() 
const;
 
   84    virtual Bool_t GetVectorReadLimits();
 
   85    virtual void   SetEnv();
 
   86    Int_t ParseOpenMode(Option_t *in, TString &modestr,
 
   87                        XrdCl::OpenFlags::Flags &mode, Bool_t assumeRead);
 
   89    TNetXNGFile(
const TNetXNGFile &other);             
 
   90    TNetXNGFile &operator =(
const TNetXNGFile &other); 
 
   92    ClassDef(TNetXNGFile, 0)   
 
   95 #endif // ROOT_TNetXNGFile