]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliCDBGrid.h
Suffix top level Branch names with a dot, to allow switching on/off via SetBranchStat...
[u/mrichter/AliRoot.git] / STEER / AliCDBGrid.h
index 944d7a0d7c54fe22091fe2942fcd666d03c87735..c8815f30fd8bddf48004718768a2b51ca8062b2b 100644 (file)
@@ -13,7 +13,7 @@
 
 #include "AliCDBStorage.h"
 #include "AliCDBManager.h"
-class AliCDBMetaData;
+#include "AliCDBMetaData.h"
 
 class AliCDBGrid: public AliCDBStorage {
        friend class AliCDBGridFactory;
@@ -30,13 +30,16 @@ public:
 protected:
 
        virtual AliCDBEntry*    GetEntry(const AliCDBId& queryId);
+       virtual AliCDBId*       GetEntryId(const AliCDBId& queryId);
        virtual TList*          GetEntries(const AliCDBId& queryId);
        virtual Bool_t          PutEntry(AliCDBEntry* entry);
        virtual TList*          GetIdListFromFile(const char* fileName);
 
 private:
-       AliCDBGrid(const char *gridUrl, const char *user, const char* dbFolder, const char *se);
+
+       AliCDBGrid(const char *gridUrl, const char *user, const char* dbFolder,
+                  const char *se, const char* cacheFolder, Bool_t operateDisconnected,
+                  Long64_t cacheSize, Long_t cleanupInterval);
 
        virtual ~AliCDBGrid();
 
@@ -46,26 +49,29 @@ private:
        Bool_t FilenameToId(TString& filename, AliCDBId& id);
 
        Bool_t PrepareId(AliCDBId& id);
-       AliCDBId* GetId(const TList& validFileIds, const AliCDBId& query);
-       AliCDBEntry* GetEntryFromFile(TString& filename, const AliCDBId* dataId);
+       AliCDBId* GetId(const TObjArray& validFileIds, const AliCDBId& query);
+       AliCDBEntry* GetEntryFromFile(TString& filename, AliCDBId* dataId);
 
+       // TODO  use AliEnTag classes!
        Bool_t AddTag(TString& foldername, const char* tagname);
        Bool_t TagFileId(TString& filename, const AliCDBId* id);
        Bool_t TagFileMetaData(TString& filename, const AliCDBMetaData* md);
+       Bool_t TagShortLived(TString& filename, Bool_t value);
 
-//     Bool_t CheckVersion(const AliCDBId& query, AliCDBId* idToCheck, AliCDBId* result);
-
-       void MakeQueryFilter(Int_t firstRun, Int_t lastRun, const AliCDBPath& pathFilter, Int_t version,
-                               const AliCDBMetaData* md, TString& result) const;
+       void MakeQueryFilter(Int_t firstRun, Int_t lastRun, const AliCDBMetaData* md, TString& result) const;
 
        virtual void QueryValidFiles();
 
-       TString    fGridUrl;    // Grid Url ("alien://aliendb4.cern.ch:9000")
-       TString    fUser;       // User
-       TString    fDBFolder;   // path of the DB folder
-       TString    fSE;         // Storage Element
+       TString    fGridUrl;     // Grid Url ("alien://aliendb4.cern.ch:9000")
+       TString    fUser;        // User
+       TString    fDBFolder;    // path of the DB folder
+       TString    fSE;          // Storage Element
+       TString    fCacheFolder; // local cache folder
+       Bool_t     fOperateDisconnected; // Operate disconnected flag
+       Long64_t   fCacheSize;           // local cache size (in bytes)
+       Long_t     fCleanupInterval;     // local cache cleanup interval
 
-ClassDef(AliCDBGrid, 0)      // access class to a DataBase in an AliEn storage 
+ClassDef(AliCDBGrid, 0)      // access class to a DataBase in an AliEn storage
 };
 
 /////////////////////////////////////////////////////////////////////
@@ -99,14 +105,20 @@ class AliCDBGridParam: public AliCDBParam {
 public:
        AliCDBGridParam();
        AliCDBGridParam(const char* gridUrl, const char* user,
-                       const char* dbFolder, const char* se);
+                       const char* dbFolder, const char* se,
+                       const char* cacheFolder, Bool_t operateDisconnected,
+                       Long64_t cacheSize, Long_t cleanupInterval);
        
        virtual ~AliCDBGridParam();
 
-       const TString& GridUrl() const {return fGridUrl;};
-       const TString& GetUser() const {return fUser;};
-       const TString& GetDBFolder() const {return fDBFolder;};
-       const TString& GetSE()   const {return fSE;};
+       const TString& GridUrl() const {return fGridUrl;}
+       const TString& GetUser() const {return fUser;}
+       const TString& GetDBFolder() const {return fDBFolder;}
+       const TString& GetSE()   const {return fSE;}
+       const TString& GetCacheFolder() const {return fCacheFolder;}
+       Bool_t  GetOperateDisconnected() const {return fOperateDisconnected;}
+       Long64_t  GetCacheSize() const {return fCacheSize;}
+       Long_t  GetCleanupInterval() const {return fCleanupInterval;}
 
        virtual AliCDBParam* CloneParam() const;
 
@@ -114,10 +126,14 @@ public:
         virtual Bool_t IsEqual(const TObject* obj) const;
 
 private:
-       TString fGridUrl;    // Grid url "Host:port"
-       TString fUser;       // User
-       TString fDBFolder;   // path of the DB folder
-       TString fSE;         // Storage Element 
+       TString  fGridUrl;     // Grid url "Host:port"
+       TString  fUser;       // User
+       TString  fDBFolder;    // path of the DB folder
+       TString  fSE;         // Storage Element
+       TString  fCacheFolder; // Cache folder
+       Bool_t   fOperateDisconnected; // Operate disconnected flag
+       Long64_t fCacheSize;           // local cache size (in bytes)
+       Long_t   fCleanupInterval;     // local cache cleanup interval
 
        ClassDef(AliCDBGridParam, 0);
 };