]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliCDBGrid.h
New classes added.
[u/mrichter/AliRoot.git] / STEER / AliCDBGrid.h
index 044e328f7925510d9cd40463c50dcdf9fcc16831..9d0356881f12d6e697342a15bd0edaa9128e95bb 100644 (file)
 
 #include "AliCDBStorage.h"
 #include "AliCDBManager.h"
+#include "AliCDBMetaData.h"
 
 class AliCDBGrid: public AliCDBStorage {
        friend class AliCDBGridFactory;
 
 public:
                  
-       virtual Bool_t IsReadOnly() const {return kFALSE;};
-       virtual Bool_t HasSubVersion() const {return kFALSE;};
+       virtual Bool_t IsReadOnly() const {return kFALSE;}
+       virtual Bool_t HasSubVersion() const {return kFALSE;}
        virtual Bool_t Contains(const char* path) const;
-  
+       virtual Int_t  GetLatestVersion(const char* path, Int_t run);
+       virtual Int_t  GetLatestSubVersion(const char* path, Int_t run, Int_t version);
+       virtual Bool_t IdToFilename(const AliCDBId& id, TString& filename) const;
+
 protected:
 
        virtual AliCDBEntry*    GetEntry(const AliCDBId& queryId);
@@ -39,21 +43,24 @@ private:
        AliCDBGrid(const AliCDBGrid& db);
        AliCDBGrid& operator = (const AliCDBGrid& db);
 
-       Bool_t FilenameToId(const char* filename, AliCDBRunRange& runRange, Int_t& version);
-       Bool_t IdToFilename(const AliCDBRunRange& runRange, Int_t version, TString& filename);
+       Bool_t FilenameToId(TString& filename, AliCDBId& id);
 
        Bool_t PrepareId(AliCDBId& id);
-       Bool_t GetId(const AliCDBId& query, AliCDBId& result);
+       AliCDBId* GetId(const TObjArray& validFileIds, const AliCDBId& query);
+       AliCDBEntry* GetEntryFromFile(TString& filename, AliCDBId* dataId);
+
+       Bool_t AddTag(TString& foldername, const char* tagname);
+       Bool_t TagFileId(TString& filename, const AliCDBId* id);
+       Bool_t TagFileMetaData(TString& filename, const AliCDBMetaData* md);
 
+       void MakeQueryFilter(Int_t firstRun, Int_t lastRun, const AliCDBMetaData* md, TString& result) const;
 
-       void GetEntriesForLevel0(const char* level0, const AliCDBId& query, TList* result);
-       void GetEntriesForLevel1(const char* level0, const char* level1, 
-                                const AliCDBId& query, TList* result);
+       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    fSE;         // Storage Element
 
 ClassDef(AliCDBGrid, 0)      // access class to a DataBase in an AliEn storage 
 };
@@ -70,6 +77,7 @@ public:
 
        virtual Bool_t Validate(const char* gridString);
         virtual AliCDBParam* CreateParameter(const char* gridString);
+       virtual ~AliCDBGridFactory(){}
 
 protected:
         virtual AliCDBStorage* Create(const AliCDBParam* param);
@@ -87,7 +95,7 @@ class AliCDBGridParam: public AliCDBParam {
        
 public:
        AliCDBGridParam();
-       AliCDBGridParam(const char* gridUrl, const char* user, 
+       AliCDBGridParam(const char* gridUrl, const char* user,
                        const char* dbFolder, const char* se);
        
        virtual ~AliCDBGridParam();
@@ -106,7 +114,7 @@ private:
        TString fGridUrl;    // Grid url "Host:port"
        TString fUser;       // User
        TString fDBFolder;   // path of the DB folder
-       TString fSE;         // Storage Element 
+       TString fSE;         // Storage Element
 
        ClassDef(AliCDBGridParam, 0);
 };