#ifndef ROOT_TWebFile
#define ROOT_TWebFile

//+SEQ,CopyRight,T=NOINCLUDE.

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TWebFile                                                             //
//                                                                      //
// A TWebFile is like a normal TFile except that it reads its data      //
// via a (slightly modified) apache web server. A TWebFile is a         //
// read-only file.                                                      //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TFile
//*KEEP,TFile.
#include "TFile.h"
//*KEND.
#endif
#ifndef ROOT_TUrl
//*KEEP,TUrl,T=C++.
#include "TUrl.h"
//*KEND.
#endif


class TWebFile : public TFile {

private:
   TUrl     fUrl;        // URL of file
   Seek_t   fOffset;     // seek offset

   void Init(Bool_t);

public:
   TWebFile(const char *url);
   TWebFile(TUrl url);
   virtual ~TWebFile() { }

   Bool_t  IsOpen() const;
   Bool_t  ReadBuffer(char *buf, int len);
   void    Seek(Seek_t offset, ERelativeTo pos = kBeg);

   ClassDef(TWebFile,1)  //A ROOT file that reads via a http server
};

#endif