class TProofDataSetManagerFile: public TProofDataSetManager


TProofDataSetManagerFile

Implementation of TProofDataSetManager handling datasets from root
files under a specific directory path


Function Members (Methods)

public:
TProofDataSetManagerFile(const char* group = 0, const char* user = 0, const char* ins = 0)
virtual~TProofDataSetManagerFile()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
static TStringTProofDataSetManager::CreateUri(const char* dsGroup = 0, const char* dsUser = 0, const char* dsName = 0, const char* dsTree = 0)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual Bool_tExistsDataSet(const char* uri)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual TFileCollection*GetDataSet(const char* uri)
TFileCollection*GetDataSet(const char* group, const char* user, const char* dsName, UInt_t option = 0, TMD5** checksum = 0)
virtual TMap*GetDataSets(const char* uri, UInt_t = 0)
TMap*GetDataSets(const char* group, const char* user, UInt_t option = 0)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Long64_tTProofDataSetManager::GetGroupQuota(const char* group)
virtual TMap*TProofDataSetManager::GetGroupQuotaMap()
virtual Long64_tTProofDataSetManager::GetGroupUsed(const char* group)
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual voidTProofDataSetManager::MonitorUsedSpace(TVirtualMonitoringWriter* monitoring)
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TObject&TObject::operator=(const TObject& rhs)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidParseInitOpts(const char* opts)
Bool_tTProofDataSetManager::ParseUri(const char* uri, TString* dsGroup = 0, TString* dsUser = 0, TString* dsName = 0, TString* dsTree = 0, Bool_t onlyCurrent = kFALSE, Bool_t wildcards = kFALSE)
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual Int_tRegisterDataSet(const char* uri, TFileCollection* dataSet, const char* opt)
virtual Bool_tRemoveDataSet(const char* uri)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
virtual Int_tScanDataSet(const char* uri, UInt_t = 0)
Int_tScanDataSet(TFileCollection* dataset, UInt_t option, Int_t filesmax = -1)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidTProofDataSetManager::ShowQuota(const char* opt)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
Int_tWriteDataSet(const char* group, const char* user, const char* dsName, TFileCollection* dataset, UInt_t option = 0, TMD5* checksum = 0)
protected:
Bool_tBrowseDataSets(const char* group, const char* user, UInt_t option, TObject* target)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Bool_tExistsDataSet(const char* group, const char* user, const char* dsName)
const char*GetDataSetPath(const char* group, const char* user, const char* dsName)
virtual TMap*TProofDataSetManager::GetGroupUsedMap()
Int_tTProofDataSetManager::GetNDisapparedFiles()
Int_tTProofDataSetManager::GetNOpenedFiles()
Int_tTProofDataSetManager::GetNTouchedFiles()
voidTProofDataSetManager::GetQuota(const char* group, const char* user, const char* dsName, TFileCollection* dataset)
virtual TMap*TProofDataSetManager::GetUserUsedMap()
voidTObject::MakeZombie()
voidTProofDataSetManager::PrintUsedSpace()
Bool_tTProofDataSetManager::ReadGroupConfig(const char* cf = 0)
Bool_tRemoveDataSet(const char* group, const char* user, const char* dsName)
Int_tScanDataSet(const char* group, const char* user, const char* dsName, UInt_t option)
static Long64_tTProofDataSetManager::ToBytes(const char* size = 0)
virtual voidUpdateUsedSpace()

Data Members

public:
enum TProofDataSetManager::EDataSetStatusBits { kCheckQuota
kAllowRegister
kAllowVerify
kAllowStaging
kIsSandbox
};
enum TProofDataSetManager::EDataSetWorkOpts { kDebug
kShowDefault
kPrint
kExport
kQuotaUpdate
kReopen
kTouch
kMaxFiles
kReadShort
kFileMustExist
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Long64_tTProofDataSetManager::fAvgFileSizeAverage file size to be used to estimate the dataset size (in MB)
TUriTProofDataSetManager::fBaseBase URI used to parse dataset names
TStringTProofDataSetManager::fCommonGroupgroup that stores the COMMON datasets
TStringTProofDataSetManager::fCommonUseruser that stores the COMMON datasets
TStringTProofDataSetManager::fGroupGroup to which the owner of this session belongs
TStringTProofDataSetManager::fGroupConfigFilePath to the group config file
TMapTProofDataSetManager::fGroupQuotagroup quotas (read from config file)
TMapTProofDataSetManager::fGroupUsed<group> --> <used bytes> (TParameter)
Long_tTProofDataSetManager::fMTimeGroupConfigLast modification of the group config file
Int_tTProofDataSetManager::fNDisappearedFilesnumber of files disappared in the last ScanDataSet operation
Int_tTProofDataSetManager::fNOpenedFilesnumber of files opened in the last ScanDataSet operation
Int_tTProofDataSetManager::fNTouchedFilesnumber of files touched in the last ScanDataSet operation
TStringTProofDataSetManager::fUserOwner of the session
TMapTProofDataSetManager::fUserUsed<group> --> <map of users> --> <value>
static TStringTProofDataSetManager::fgCommonDataSetTagname for common datasets, default: COMMON
private:
TStringfDataSetDirlocation of datasets
TStringfDataSetLockFiledataset lock file
Int_tfLockFileTimeLimitlimit in seconds after a lock automatically expires
TStringfMSSUrlURL for the Mass Storage System

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TProofDataSetManagerFile(const char* group = 0, const char* user = 0, const char* ins = 0)
 Main constructor
void ParseInitOpts(const char* opts)
 Parse the input string and set the init bits accordingly
 Format is
    dir:<datasetdir> [mss:<mss-url>] [opt:<base-options>]
 The <datasetdir> is mandatory.
 See TProofDataSetManager::ParseInitOpts for the available
 base options.
 The base options are laready initialized by the base constructor
const char * GetDataSetPath(const char* group, const char* user, const char* dsName)
 Returns path of the indicated dataset
 Contains a static TString for result. Copy result before using twice.
Bool_t BrowseDataSets(const char* group, const char* user, UInt_t option, TObject* target)
 Adds the dataset in the folder of group, user to the list in target

 The unsigned int 'option' is forwarded to GetDataSet and BrowseDataSet.
 Available options (to be .or.ed):
    kPrint          print the dataset content
    kQuotaUpdate    update quotas
    kExport         use export naming

 NB1: options "kPrint", "kQuoatUpdate" and "kExport" are mutually exclusive
 NB2: for options "kPrint" and "kQuotaUpdate" return is null.
TMap * GetDataSets(const char* group, const char* user, UInt_t option = 0)
 General purpose call to go through the existing datasets.
 If <user> is 0 or "*", act on all datasets for the given <group>.
 If <group> is 0 or "*", act on all datasets.
 Action depends on option; available options:

    kExport         Return a TMap object containing all the information about
                    datasets in the form:
                    { <group>, <map of users> }
                                     |
                             { <map of datasets>, <dataset>}
                    (<dataset> are TFileCollection objects)
    kShowDefault    as kExport with in addition a default selection including
                    the datasets from the current user, the ones from the group
                    and the common ones

    kPrint          print the dataset content; no output is returned
    kQuotaUpdate    update {group, user} quotas; no output is returned

 NB1: options "kPrint", "kQuoatUpdate" and "kExport" are mutually exclusive
 NB2: for options "kPrint" and "kQuoatUpdate" return is null.
TFileCollection * GetDataSet(const char* group, const char* user, const char* dsName, UInt_t option = 0, TMD5** checksum = 0)
 Returns the dataset <dsName> of user <user> in group <group> .
 If checksum is non-zero, it will contain the pointer to a TMD5 sum object
 with the checksum of the file, has to be deleted by the user.
 If option has the bi kReadShort set, the shortobject is read, that does not
 contain the list of files. This is much faster.
Int_t WriteDataSet(const char* group, const char* user, const char* dsName, TFileCollection* dataset, UInt_t option = 0, TMD5* checksum = 0)
 Writes indicated dataset.
 If option has the bit kFileMustExist set, the file must still exist,
 otherwise the new dataset is not written (returns 3 in this case).
 If checksum is non-zero the files current checksum is checked against it,
 if it does not match the file is not written (the function returns 2 in this
 case, if the file has disappeared it is also not written (i.e. checksum
 implies the bit kFileMustExist set in option).
 Returns != 0 for success, 0 for error
Bool_t RemoveDataSet(const char* group, const char* user, const char* dsName)
 Removes the indicated dataset
Bool_t ExistsDataSet(const char* group, const char* user, const char* dsName)
 Checks if the indicated dataset exits
Int_t RegisterDataSet(const char* uri, TFileCollection* dataSet, const char* opt)
 Register a dataset, perfoming quota checkings and verification, if required.
 Fails if a dataset with the same name already exists, unless 'opts'
 contains 'O', in which case the old dataset is overwritten.
 If 'opts' contains 'V' the dataset files are also verified.
 By default the dataset is not verified.
 Returns 0 on success, -1 on failure
Int_t ScanDataSet(const char* uri, UInt_t = 0)
 Scans the dataset indicated by <uri> and returns the number of missing files.
 Returns -1 if any failure occurs.
 For more details, see documentation of
 ScanDataSet(TFileCollection *dataset, const char *option)
Int_t ScanDataSet(const char* group, const char* user, const char* dsName, UInt_t option)
 See documentation of ScanDataSet(TFileCollection *dataset, UInt_t option)
Int_t ScanDataSet(TFileCollection* dataset, UInt_t option, Int_t filesmax = -1)
 Updates the information in a dataset by opening all files that are not yet
 marked staged creates metadata for each tree in the opened file

 Available options (to be .or.ed)
   kMaxFiles      process a maximum of 'filesmax' files
   kReopen        opens also files that are marked staged
   kTouch         opens and touches files that are marked staged; implies kReopen

 Return code
   negative in case of error
     -1 dataset not found
     -2 could not write dataset after verification

   positive in case of success
     1 dataset was not changed
     2 dataset was changed

 The number of opened, touched, disappeared files can be retrieved by
 GetNTouchedFiles(), GetNOpenedFiles(), GetNDisapparedFiles()
TMap * GetDataSets(const char* uri, UInt_t = 0)
 Returns all datasets for the <group> and <user> specified by <uri>.
 If <user> is 0, it returns all datasets for the given <group>.
 If <group> is 0, it returns all datasets.
 The returned TMap contains:
    <group> --> <map of users> --> <map of datasets> --> <dataset> (TFileCollection)

 The unsigned int 'option' is forwarded to GetDataSet and BrowseDataSet.
 Available options (to be .or.ed):
    kShowDefault    a default selection is shown that include the ones from
                    the current user, the ones from the group and the common ones
    kPrint          print the dataset content
    kQuotaUpdate    update quotas
    kExport         use export naming

 NB1: options "kPrint", "kQuoatUpdate" and "kExport" are mutually exclusive
 NB2: for options "kPrint" and "kQuoatUpdate" return is null.
TFileCollection * GetDataSet(const char* uri)
 Utility function used in various methods for user dataset upload.
Bool_t RemoveDataSet(const char* uri)
 Removes the indicated dataset
Bool_t ExistsDataSet(const char* uri)
 Checks if the indicated dataset exits
void UpdateUsedSpace()
 updates the used space maps
virtual ~TProofDataSetManagerFile()
{ }

Author: Jan Fiete Grosse-Oetringhaus, 08.08.07
Last change: root/proof:$Id: TProofDataSetManagerFile.h 23253 2008-04-16 11:57:49Z ganis $
Last generated: 2008-06-25 08:51
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.