/usr/include/root/TFileInfo.h is in libroot-core-dev 5.34.14-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | // @(#)root/base:$Id$
// Author: Andreas-Joachim Peters 20/9/2005
/*************************************************************************
* Copyright (C) 1995-2005, 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_TFileInfo
#define ROOT_TFileInfo
//////////////////////////////////////////////////////////////////////////
// //
// TFileInfo //
// //
// Class describing a generic file including meta information. //
// //
//////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TNamed
#include "TNamed.h"
#endif
#ifndef ROOT_Turl
#include "TUrl.h"
#endif
#ifndef ROOT_TUUID
#include "TUUID.h"
#endif
#ifndef ROOT_TMD5
#include "TMD5.h"
#endif
#ifndef ROOT_TObjString
#include "TObjString.h"
#endif
#ifndef ROOT_TList
#include "TList.h"
#endif
class TFileInfoMeta;
class TFileInfo : public TNamed {
private:
TUrl *fCurrentUrl; //! current URL to access the file, points to URL
// in the fUrlList or 0, if the list end is reached
TList *fUrlList; // list of file URLs
Long64_t fSize; // file size
TUUID *fUUID; //-> uuid of the referenced file
TMD5 *fMD5; //-> md5 digest of the file
TList *fMetaDataList; // generic list of file meta data object(s)
Int_t fIndex; // Index to be used when sorting with index
void ParseInput(const char *in);
TFileInfo& operator=(const TFileInfo&); // not implemented
public:
enum EStatusBits {
kStaged = BIT(15),
kCorrupted = BIT(16),
kSortWithIndex = BIT(17) // Use index when sorting (in Compare)
};
TFileInfo(const char *url = 0, Long64_t size = -1, const char *uuid = 0,
const char *md5 = 0, TObject *meta = 0);
TFileInfo(const TFileInfo &);
virtual ~TFileInfo();
void ResetUrl() { fCurrentUrl = (TUrl*)fUrlList->First(); }
TUrl *NextUrl();
TUrl *GetCurrentUrl() const;
TUrl *GetFirstUrl() const { return (TUrl*)fUrlList->First(); }
TUrl *GetUrlAt(Int_t i) const { return (TUrl*)fUrlList->At(i); }
Bool_t RemoveUrlAt(Int_t i);
Int_t GetNUrls() const { return fUrlList->GetEntries(); }
Bool_t SetCurrentUrl(const char *url);
Bool_t SetCurrentUrl(TUrl *url);
Long64_t GetSize() const { return fSize; }
TUUID *GetUUID() const { return fUUID; }
TMD5 *GetMD5() const { return fMD5; }
TList *GetMetaDataList() const { return fMetaDataList; }
TFileInfoMeta *GetMetaData(const char *meta = 0) const;
void SetSize(Long64_t size) { fSize = size; }
void SetUUID(const char *uuid);
TUrl *FindByUrl(const char *url, Bool_t withDeflt = kFALSE);
Bool_t AddUrl(const char *url, Bool_t infront = kFALSE);
Bool_t RemoveUrl(const char *url);
Bool_t AddMetaData(TObject *meta);
Bool_t RemoveMetaData(const char *meta = 0);
Bool_t IsSortable() const { return kTRUE; }
Int_t Compare(const TObject *obj) const;
Int_t GetIndex() const { return fIndex; }
void SetIndex(Int_t idx) { fIndex = idx; }
void Print(Option_t *options="") const;
ClassDef(TFileInfo,4) // Describes generic file info including meta data information
};
class TFileInfoMeta : public TNamed {
private:
Long64_t fEntries; // number of entries in tree or number of objects
Long64_t fFirst; // first valid tree entry
Long64_t fLast; // last valid tree entry
Bool_t fIsTree; // true if type is a TTree (or TTree derived)
Long64_t fTotBytes; // uncompressed size in bytes
Long64_t fZipBytes; // compressed size in bytes
TFileInfoMeta& operator=(const TFileInfoMeta&); // not implemented
public:
enum EStatusBits { kExternal = BIT(15) };
TFileInfoMeta() : fEntries(-1), fFirst(0), fLast(-1),
fIsTree(kFALSE), fTotBytes(-1), fZipBytes(-1)
{ ResetBit(TFileInfoMeta::kExternal); }
TFileInfoMeta(const char *objPath, const char *objClass = "TTree",
Long64_t entries = -1, Long64_t first = 0, Long64_t last = -1,
Long64_t totbytes = -1, Long64_t zipbytes = -1);
TFileInfoMeta(const char *objPath, const char *objDir,
const char *objClass, Long64_t entries = -1,
Long64_t first = 0, Long64_t last = -1,
Long64_t totbytes = -1, Long64_t zipbytes = -1);
TFileInfoMeta(const TFileInfoMeta &m);
virtual ~TFileInfoMeta() { }
const char *GetObject() const;
const char *GetClass() const { return GetTitle(); }
const char *GetDirectory() const;
Long64_t GetEntries() const { return fEntries; }
Long64_t GetFirst() const { return fFirst; }
Long64_t GetLast() const { return fLast; }
Bool_t IsTree() const { return fIsTree; }
Long64_t GetTotBytes() const { return fTotBytes; }
Long64_t GetZipBytes() const { return fZipBytes; }
void SetEntries(Long64_t entries) { fEntries = entries; }
void SetFirst(Long64_t first) { fFirst = first; }
void SetLast(Long64_t last) { fLast = last; }
void SetTotBytes(Long64_t tot) { fTotBytes = tot; }
void SetZipBytes(Long64_t zip) { fZipBytes = zip; }
void Print(Option_t *options="") const;
ClassDef(TFileInfoMeta,2) // Describes TFileInfo meta data
};
#endif
|