#ifndef ROOT_TProofDataSetManager
#define ROOT_TProofDataSetManager
#include "TObject.h"
#include "TString.h"
#include "TMap.h"
#include "TUri.h"
class TFileCollection;
class TMD5;
class TVirtualMonitoringWriter;
class TProofDataSetManager : public TObject
{
private:
TProofDataSetManager(const TProofDataSetManager&);
TProofDataSetManager& operator=(const TProofDataSetManager&);
protected:
TString fGroup;
TString fUser;
TString fCommonUser;
TString fCommonGroup;
TUri fBase;
TMap fGroupQuota;
TMap fGroupUsed;
TMap fUserUsed;
Long64_t fAvgFileSize;
Int_t fNTouchedFiles;
Int_t fNOpenedFiles;
Int_t fNDisappearedFiles;
TString fGroupConfigFile;
Long_t fMTimeGroupConfig;
static TString fgCommonDataSetTag;
virtual TMap *GetGroupUsedMap() { return &fGroupUsed; }
virtual TMap *GetUserUsedMap() { return &fUserUsed; }
Int_t GetNTouchedFiles() { return fNTouchedFiles; }
Int_t GetNOpenedFiles() { return fNOpenedFiles; }
Int_t GetNDisapparedFiles() { return fNDisappearedFiles; }
void GetQuota(const char *group, const char *user, const char *dsName, TFileCollection *dataset);
void PrintUsedSpace();
Bool_t ReadGroupConfig(const char *cf = 0);
static Long64_t ToBytes(const char *size = 0);
virtual void UpdateUsedSpace();
public:
enum EDataSetStatusBits {
kCheckQuota = BIT(15),
kAllowRegister = BIT(16),
kAllowVerify = BIT(17),
kAllowStaging = BIT(18),
kIsSandbox = BIT(19)
};
enum EDataSetWorkOpts {
kDebug = 1, kShowDefault = 2, kPrint = 4, kExport = 8,
kQuotaUpdate = 16,
kReopen = 256, kTouch = 512, kMaxFiles = 1024, kReadShort = 2048,
kFileMustExist = 4096};
TProofDataSetManager(const char *group = 0, const char *user = 0, const char *options = 0);
virtual ~TProofDataSetManager();
static TString CreateUri(const char *dsGroup = 0, const char *dsUser = 0,
const char *dsName = 0, const char *dsTree = 0);
virtual TFileCollection *GetDataSet(const char *uri);
virtual TMap *GetDataSets(const char *uri, UInt_t = 0);
virtual Long64_t GetGroupQuota(const char *group);
virtual TMap *GetGroupQuotaMap() { return &fGroupQuota; }
virtual Long64_t GetGroupUsed(const char *group);
virtual Bool_t ExistsDataSet(const char *uri);
virtual void MonitorUsedSpace(TVirtualMonitoringWriter *monitoring);
Bool_t 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 void ParseInitOpts(const char *opts);
virtual Bool_t RemoveDataSet(const char *uri);
virtual Int_t RegisterDataSet(const char *uri, TFileCollection *dataSet, const char *opt);
virtual Int_t ScanDataSet(const char *uri, UInt_t = 0);
virtual void ShowQuota(const char *opt);
ClassDef(TProofDataSetManager, 0)
};
#endif
Last change: Wed Jun 25 08:51:06 2008
Last generated: 2008-06-25 08:51
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.