#include "TArchiveFile.h"

# TArchiveFile

class description - source file - inheritance tree (.ps)

## class TArchiveFile : public TObject

| Inheritance Chart:

`TObject`

<-

`TArchiveFile`

<-

`TZIPFile` |

This is an abstract class, constructors will not be documented.
Look at the header to check for available constructors.

        protected:

          static Bool_t ParseUrl(const char* url, TString& archive, TString& member)

        public:

                       virtual ~TArchiveFile()
                static TClass* Class()
                   const char* GetArchiveName() const
               TArchiveMember* GetMember() const
                      Long64_t GetMemberFilePosition() const
                         Int_t GetMemberIndex() const
                   const char* GetMemberName() const
                    TObjArray* GetMembers() const
                         Int_t GetNumberOfMembers() const
               virtual TClass* IsA() const
          static TArchiveFile* Open(const char* url, TFile* file)
                 virtual Int_t OpenArchive()
                 TArchiveFile& operator=(const TArchiveFile&)
                 virtual Int_t SetCurrentMember()
                 virtual Int_t SetMember(const char* member)
                 virtual Int_t SetMember(Int_t idx)
                  virtual void ShowMembers(TMemberInspector& insp, char* parent)
                  virtual void Streamer(TBuffer& b)
                          void StreamerNVirtual(TBuffer& b)

### Data Members

        protected:

                  TString fArchiveName  Archive file name
                  TString fMemberName   Sub-file name
                    Int_t fMemberIndex  Index of sub-file in archive
                   TFile* fFile         File stream used to access the archive
               TObjArray* fMembers      Members in this archive
          TArchiveMember* fCurMember    Current archive member

## Class Description

     TArchiveFile

     This is an abstract class that describes an archive file containing
     multiple sub-files, like a ZIP or TAR archive.

~TArchiveFile()

     Dtor.

Long64_t GetMemberFilePosition() const

     Return position in archive of current member.

Int_t GetNumberOfMembers() const

     Returns number of members in archive.

Int_t SetMember(const char *member)

     Explicitely make the specified member the current member.
     Returns -1 in case of error, 0 otherwise.

Int_t SetMember(Int_t idx)

     Explicitely make the member with the specified index the current member.
     Returns -1 in case of error, 0 otherwise.

TArchiveFile* Open(const char *url, TFile *file)

     Return proper archive file handler depending on passed url.
     The handler is loaded via the plugin manager and is triggered by
     the extension of the archive file. In case no handler is found 0
     is returned. The file argument is used to access the archive.
     The archive should be specified as url with the member name as the
     anchor, e.g. "root://pcsalo.cern.ch/alice/event_1.zip#tpc.root",
     where tpc.root is the file in the archive to be opened.
     Alternatively the sub-file can be specified via its index number,
     e.g. "root://pcsalo.cern.ch/alice/event_1.zip#3".
     This function is normall only called via TFile::Open().

Bool_t ParseUrl(const char *url, TString &archive, TString &member)

     Try to determine if url contains an anchor specifying an archive member.
     Returns kFALSE in case of an error.

### Inline Functions

                      Int_t OpenArchive()
                      Int_t SetCurrentMember()
            TArchiveMember* GetMember() const
                 TObjArray* GetMembers() const
                const char* GetArchiveName() const
                const char* GetMemberName() const
                      Int_t GetMemberIndex() const
                    TClass* Class()
                    TClass* IsA() const
                       void ShowMembers(TMemberInspector& insp, char* parent)
                       void Streamer(TBuffer& b)
                       void StreamerNVirtual(TBuffer& b)
              TArchiveFile& operator=(const TArchiveFile&)

Author: Fons Rademakers 30/6/04
Last update: root/base:$Name: $:$Id: TArchiveFile.cxx,v 1.1 2004/07/07 23:25:33 rdm Exp $
Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *