12 #ifndef ROOT_TArchiveFile 
   13 #define ROOT_TArchiveFile 
   24 class TArchiveFile : 
public TObject {
 
   27    TArchiveFile(
const TArchiveFile&) = 
delete;            
 
   28    TArchiveFile& operator=(
const TArchiveFile&) = 
delete; 
 
   36    TArchiveMember *fCurMember;    
 
   38    static Bool_t ParseUrl(
const char *url, TString &archive, TString &member, TString &type);
 
   41    TArchiveFile() : fArchiveName(
""), fMemberName(
""), fMemberIndex(-1), fFile(0), fMembers(0), fCurMember(0) { }
 
   42    TArchiveFile(
const char *archive, 
const char *member, TFile *file);
 
   43    virtual ~TArchiveFile();
 
   45    virtual Int_t   OpenArchive() = 0;
 
   46    virtual Int_t   SetCurrentMember() = 0;
 
   47    virtual Int_t   SetMember(
const char *member);
 
   48    virtual Int_t   SetMember(Int_t idx);
 
   50    Long64_t        GetMemberFilePosition() 
const;
 
   51    TArchiveMember *GetMember()
 const { 
return fCurMember; }
 
   52    TObjArray      *GetMembers()
 const { 
return fMembers; }
 
   53    Int_t           GetNumberOfMembers() 
const;
 
   55    const char     *GetArchiveName()
 const { 
return fArchiveName; }
 
   56    const char     *GetMemberName()
 const { 
return fMemberName; }
 
   57    Int_t           GetMemberIndex()
 const { 
return fMemberIndex; }
 
   59    static TArchiveFile *Open(
const char *url, TFile *file);
 
   61    ClassDef(TArchiveFile,1)  
 
   65 class TArchiveMember : 
public TObject {
 
   67 friend class TArchiveFile;
 
   74    Long64_t   fFilePosition;  
 
   81    TArchiveMember(
const char *name);
 
   82    TArchiveMember(
const TArchiveMember &member);
 
   83    TArchiveMember &operator=(
const TArchiveMember &rhs);
 
   84    virtual ~TArchiveMember() { }
 
   86    const char *GetName()
 const { 
return fName; }
 
   87    const char *GetComment()
 const { 
return fComment; }
 
   88    TDatime     GetModTime()
 const { 
return fModTime; }
 
   89    Long64_t    GetPosition()
 const { 
return fPosition; }
 
   90    Long64_t    GetFilePosition()
 const { 
return fFilePosition; }
 
   91    Long64_t    GetCompressedSize()
 const { 
return fCsize; }
 
   92    Long64_t    GetDecompressedSize()
 const { 
return fDsize; }
 
   93    Bool_t      IsDirectory()
 const { 
return fDirectory; }
 
   95    ClassDef(TArchiveMember,1)