LCOV - code coverage report
Current view: top level - STEER/CDB - AliCDBStorage.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 4 6 66.7 %
Date: 2016-06-14 17:26:59 Functions: 4 10 40.0 %

          Line data    Source code
       1             : #ifndef ALI_CDB_STORAGE_H
       2             : #define ALI_CDB_STORAGE_H
       3             : 
       4             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       5             :  * See cxx source for full Copyright notice                               */
       6             : 
       7             : /////////////////////////////////////////////////////////////////////
       8             : //                                                                 //
       9             : //  class AliCDBStorage                                            //
      10             : //  interface to specific storage classes                          //
      11             : //  (AliCDBGrid, AliCDBLocal, AliCDBDump)                          //
      12             : //                                                                 //
      13             : /////////////////////////////////////////////////////////////////////
      14             : 
      15             : #include "AliCDBId.h"
      16             : #include "AliCDBMetaData.h"
      17             : #include "AliCDBManager.h"
      18             : 
      19             : #include <TList.h>
      20             : #include <TObjArray.h>
      21             : 
      22             : class AliCDBEntry;
      23             : class AliCDBPath;
      24             : class AliCDBParam;
      25             : class TFile;
      26             : 
      27             : class AliCDBStorage: public TObject {
      28             : 
      29             :   public:
      30             : 
      31             :     AliCDBStorage();
      32             : 
      33          24 :     void SetURI(const TString& uri) {fURI = uri;}
      34          26 :     const TString& GetURI() const {return fURI;}
      35          42 :     const TString& GetType() const {return fType;}
      36           0 :     const TString& GetBaseFolder() const {return fBaseFolder;}
      37             :     AliCDBManager::DataType GetDataType() const;
      38             : 
      39             : 
      40             :     void ReadSelectionFromFile(const char *fileName);
      41             : 
      42             :     void AddSelection(const AliCDBId& selection);
      43             : 
      44             :     void AddSelection(const AliCDBPath& path, 
      45             :         const AliCDBRunRange& runRange,
      46             :         Int_t version,
      47             :         Int_t subVersion = -1);
      48             : 
      49             :     void AddSelection(const AliCDBPath& path,
      50             :         Int_t firstRun,
      51             :         Int_t lastRun,
      52             :         Int_t version,
      53             :         Int_t subVersion = -1);
      54             : 
      55             :     void RemoveSelection(const AliCDBId& selection);
      56             : 
      57             :     void RemoveSelection(const AliCDBPath& path,
      58             :         const AliCDBRunRange& runRange);
      59             : 
      60             :     void RemoveSelection(const AliCDBPath& path,
      61             :         Int_t firstRun = -1,
      62             :         Int_t lastRun = -1);
      63             : 
      64             :     void RemoveSelection(int position);
      65             :     void RemoveAllSelections();
      66             : 
      67             :     void PrintSelectionList();
      68             : 
      69             :     AliCDBEntry* Get(const AliCDBId& query);
      70             :     AliCDBEntry* Get(const AliCDBPath& path, Int_t runNumber,
      71             :         Int_t version = -1, Int_t subVersion = -1);
      72             :     AliCDBEntry* Get(const AliCDBPath& path, const AliCDBRunRange& runRange,
      73             :         Int_t version = -1, Int_t subVersion = -1);
      74             : 
      75             :     TList* GetAll(const AliCDBId& query);
      76             :     TList* GetAll(const AliCDBPath& path, Int_t runNumber, 
      77             :         Int_t version = -1, Int_t subVersion = -1);
      78             :     TList* GetAll(const AliCDBPath& path, const AliCDBRunRange& runRange,
      79             :         Int_t version = -1, Int_t subVersion = -1);
      80             : 
      81             :     AliCDBId* GetId(const AliCDBId& query);
      82             :     AliCDBId* GetId(const AliCDBPath& path, Int_t runNumber,
      83             :         Int_t version = -1, Int_t subVersion = -1);
      84             :     AliCDBId* GetId(const AliCDBPath& path, const AliCDBRunRange& runRange,
      85             :         Int_t version = -1, Int_t subVersion = -1);
      86             : 
      87             :     Bool_t Put(TObject* object, AliCDBId& id,  AliCDBMetaData* metaData, const char* mirrors="",
      88             :         AliCDBManager::DataType type=AliCDBManager::kPrivate);
      89             :     Bool_t Put(AliCDBEntry* entry, const char* mirrors="", AliCDBManager::DataType type=AliCDBManager::kPrivate);
      90             : 
      91             :     virtual void SetMirrorSEs(const char* mirrors);
      92             :     virtual const char* GetMirrorSEs() const;
      93             : 
      94             :     virtual Bool_t IsReadOnly() const = 0;
      95             :     virtual Bool_t HasSubVersion() const = 0;
      96             :     virtual Bool_t Contains(const char* path) const = 0;
      97             :     virtual Bool_t IdToFilename(const AliCDBId& id, TString& filename) const = 0;
      98             : 
      99             :     void QueryCDB(Int_t run, const char* pathFilter="*",
     100             :         Int_t version=-1, AliCDBMetaData *mdFilter=0);
     101             :     void PrintQueryCDB();
     102           0 :     TObjArray* GetQueryCDBList() {return &fValidFileIds;}
     103             :     virtual void SetRetry(Int_t nretry, Int_t initsec) = 0;
     104             : 
     105             :   protected:
     106             : 
     107             :     virtual ~AliCDBStorage();
     108             :     void    GetSelection(/*const*/ AliCDBId* id);
     109             :     virtual AliCDBEntry* GetEntry(const AliCDBId& query) = 0;
     110             :     virtual AliCDBId* GetEntryId(const AliCDBId& query) = 0;
     111             :     virtual TList* GetEntries(const AliCDBId& query) = 0;
     112             :     virtual Bool_t PutEntry(AliCDBEntry* entry, const char* mirrors="") = 0;
     113             :     virtual TList *GetIdListFromFile(const char* fileName)=0;
     114             :     virtual void   QueryValidFiles() = 0;
     115             :     void        LoadTreeFromFile(AliCDBEntry* entry) const;
     116             :     //void      SetTreeToFile(AliCDBEntry* entry, TFile* file) const;
     117             : 
     118             :     TObjArray fValidFileIds;    // list of Id's of the files valid for a given run (cached as fRun)
     119             :     Int_t fRun;                 // run number, used to manage list of valid files
     120             :     AliCDBPath fPathFilter;             // path filter, used to manage list of valid files
     121             :     Int_t fVersion;                     // version, used to manage list of valid files
     122             :     AliCDBMetaData* fMetaDataFilter; // metadata, used to manage list of valid files
     123             : 
     124             :     TList fSelections;  // list of selection criteria
     125             :     TString fURI;               // storage URI;
     126             :     TString fType;    //! Local, Grid: base folder name - Dump: file name
     127             :     TString fBaseFolder;    //! Local, Grid: base folder name - Dump: file name
     128             :     Short_t    fNretry;              // Number of retries in opening the file
     129             :     Short_t    fInitRetrySeconds;        // Seconds for first retry
     130             : 
     131             :   private:
     132             :     AliCDBStorage(const AliCDBStorage & source);
     133             :     AliCDBStorage & operator=(const AliCDBStorage & source);
     134             : 
     135         128 :     ClassDef(AliCDBStorage, 0);
     136             : };
     137             : 
     138             : #endif

Generated by: LCOV version 1.11