/usr/include/root/TDataSetManagerAliEn.h is in libroot-proof-dev 5.34.30-0ubuntu8.
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 | // @(#)root/proof:$Id: 511148a2a899e02c8f5b86a7d87caee2e5979f9d $
// Author: Dario Berzano, 26.11.12
/*************************************************************************
* Copyright (C) 1995-2000, 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_TDataSetManagerAliEn
#define ROOT_TDataSetManagerAliEn
//////////////////////////////////////////////////////////////////////////
// //
// TDataSetManagerAliEn //
// //
// Implementation of TDataSetManager dynamically creating datasets //
// by querying the AliEn file catalog. //
// //
//////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TDataSetManager
#include "TDataSetManager.h"
#endif
#ifndef ROOT_TDataSetManagerFile
#include "TDataSetManagerFile.h"
#endif
#include "TFileStager.h"
#include "TPRegexp.h"
#include "TObjString.h"
#include "TObjArray.h"
#include "TFileCollection.h"
#include "TFileInfo.h"
#include "TGridResult.h"
#include "TGrid.h"
#include "THashList.h"
#include "TSystem.h"
typedef enum { kDataRemote, kDataCache, kDataLocal } EDataMode;
class TAliEnFind : public TObject {
private:
TString fBasePath;
TString fFileName;
TString fTreeName;
TString fRegexpRaw;
TString fAnchor;
TString fQuery;
Bool_t fArchSubst;
TPMERegexp *fRegexp;
TString fSearchId;
TGridResult *fGridResult;
inline virtual void InvalidateSearchId();
inline virtual void InvalidateGridResult();
public:
TAliEnFind(const TString &basePath = "", const TString &fileName = "",
const TString &anchor = "", const Bool_t archSubst = kFALSE,
const TString &treeName = "", const TString ®exp = "",
const TString &query = "");
TAliEnFind(const TAliEnFind &src);
TAliEnFind &operator=(const TAliEnFind &rhs);
virtual ~TAliEnFind();
virtual TGridResult *GetGridResult(Bool_t forceNewQuery = kFALSE);
virtual const TString &GetBasePath() const { return fBasePath; };
virtual const TString &GetFileName() const { return fFileName; };
virtual const TString &GetAnchor() const { return fAnchor; };
virtual const TString &GetTreeName() const { return fTreeName; };
virtual Bool_t GetArchSubst() const { return fArchSubst; };
virtual const TPMERegexp *GetRegexp() const { return fRegexp; };
virtual void SetBasePath(const char *basePath);
virtual void SetFileName(const char *fileName);
virtual void SetAnchor(const char *anchor);
virtual void SetTreeName(const char *fileName);
virtual void SetArchSubst(Bool_t archSubst);
virtual void SetRegexp(const char *regexp);
virtual const char *GetSearchId();
virtual TFileCollection *GetCollection(Bool_t forceNewQuery = kFALSE);
virtual void Print(Option_t* opt = "") const;
ClassDef(TAliEnFind, 0); // Interface to the AliEn find command
};
class TDataSetManagerAliEn : public TDataSetManager {
protected:
TPMERegexp *fUrlRe;
TString fUrlTpl;
TDataSetManagerFile *fCache;
Long_t fCacheExpire_s;
Bool_t fReadFromSE;
const TUrl *kfNoopRedirUrl;
const TUrl *kfNoopUnknownUrl;
const TUrl *kfNoopNoneUrl;
static std::vector<Int_t> *ExpandRunSpec(TString &runSpec);
static Bool_t ParseCustomFindUri(TString &uri, TString &basePath,
TString &fileName, TString &anchor, TString &query, TString &treeName,
TString ®exp);
static Bool_t ParseOfficialDataUri(TString &uri, Bool_t sim,
TString &period, Int_t &year, std::vector<Int_t> *&runList,
Bool_t &esd, Int_t &aodNum, TString &pass);
static TUrl *AliEnWhereIs(TUrl *alienUrl, TString &closeSE,
Bool_t onlyFromCloseSE);
virtual void Init(TString cacheDir, TString urlTpl,
ULong_t cacheExpire_s);
virtual TList *GetFindCommandsFromUri(TString &uri, EDataMode &dataMode, Bool_t &forceUpdate);
public:
TDataSetManagerAliEn() : TDataSetManager(0, 0, 0) {}
TDataSetManagerAliEn(const char *cacheDir, const char *urlTpl,
ULong_t cacheExpire_s);
TDataSetManagerAliEn(const char *, const char *, const char *cfgStr);
virtual ~TDataSetManagerAliEn();
virtual TFileCollection *GetDataSet(const char *uri, const char * = 0);
virtual Bool_t ExistsDataSet(const char *uri);
// Not implemented functionalities
virtual Int_t RegisterDataSet(const char *, TFileCollection *,
const char *);
virtual TMap *GetDataSets(const char *, UInt_t);
virtual void ShowDataSets(const char * = "*", const char * = "");
virtual Bool_t RemoveDataSet(const char *uri);
virtual Int_t ScanDataSet(const char *, UInt_t);
virtual Int_t ShowCache(const char *);
virtual Int_t ClearCache(const char *);
ClassDef(TDataSetManagerAliEn, 0) // Dataset to AliEn catalog interface
};
#endif
|