]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/CDB/AliCDBLocal.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / STEER / CDB / AliCDBLocal.h
CommitLineData
9e1ceb13 1#ifndef ALI_CDB_LOCAL_H
2#define ALI_CDB_LOCAL_H
fe913d8f 3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
9e1ceb13 7/////////////////////////////////////////////////////////////////////
8// //
9// class AliCDBLocal //
10// access class to a DataBase in a local storage //
11// //
12/////////////////////////////////////////////////////////////////////
fe913d8f 13
14#include "AliCDBStorage.h"
9e1ceb13 15#include "AliCDBManager.h"
fe913d8f 16
17class AliCDBLocal: public AliCDBStorage {
9e1ceb13 18 friend class AliCDBLocalFactory;
19
20public:
21
fdf65bb5 22 virtual Bool_t IsReadOnly() const {return kFALSE;};
23 virtual Bool_t HasSubVersion() const {return kTRUE;};
b05400be 24 virtual Bool_t Contains(const char* path) const;
c3a7b59a 25 virtual Bool_t IdToFilename(const AliCDBId& id, TString& filename) const;
0d3fff93 26 virtual void SetRetry(Int_t /* nretry */, Int_t /* initsec */);
9e1ceb13 27
28protected:
29
c3a7b59a 30 virtual AliCDBEntry* GetEntry(const AliCDBId& queryId);
4667c116 31 virtual AliCDBId* GetEntryId(const AliCDBId& queryId);
c3a7b59a 32 virtual TList* GetEntries(const AliCDBId& queryId);
06eeadea 33 virtual Bool_t PutEntry(AliCDBEntry* entry, const char* mirrors="");
b05400be 34 virtual TList* GetIdListFromFile(const char* fileName);
9e1ceb13 35
36private:
37
fe12e09c 38 AliCDBLocal(const AliCDBLocal & source);
39 AliCDBLocal & operator=(const AliCDBLocal & source);
9e1ceb13 40 AliCDBLocal(const char* baseDir);
41 virtual ~AliCDBLocal();
42
43 Bool_t FilenameToId(const char* filename, AliCDBRunRange& runRange,
44 Int_t& version, Int_t& subVersion);
9e1ceb13 45
46 Bool_t PrepareId(AliCDBId& id);
4667c116 47// Bool_t GetId(const AliCDBId& query, AliCDBId& result);
48 AliCDBId* GetId(const AliCDBId& query);
9e1ceb13 49
62032124 50 virtual void QueryValidFiles();
51
9e1ceb13 52 void GetEntriesForLevel0(const char* level0, const AliCDBId& query, TList* result);
53 void GetEntriesForLevel1(const char* level0, const char* Level1,
54 const AliCDBId& query, TList* result);
55
56 TString fBaseDirectory; // path of the DB folder
57
58 ClassDef(AliCDBLocal, 0); // access class to a DataBase in a local storage
59};
60
61/////////////////////////////////////////////////////////////////////
62// //
63// class AliCDBLocalFactory //
64// //
65/////////////////////////////////////////////////////////////////////
66
67class AliCDBLocalFactory: public AliCDBStorageFactory {
fe913d8f 68
69public:
fe913d8f 70
9e1ceb13 71 virtual Bool_t Validate(const char* dbString);
72 virtual AliCDBParam* CreateParameter(const char* dbString);
73
fe913d8f 74protected:
9e1ceb13 75 virtual AliCDBStorage* Create(const AliCDBParam* param);
76
77 ClassDef(AliCDBLocalFactory, 0);
78};
79
80/////////////////////////////////////////////////////////////////////
81// //
82// class AliCDBLocalParam //
83// //
84/////////////////////////////////////////////////////////////////////
85
86class AliCDBLocalParam: public AliCDBParam {
87
88public:
89 AliCDBLocalParam();
90 AliCDBLocalParam(const char* dbPath);
647d2bb8 91 AliCDBLocalParam(const char* dbPath, const char* uri);
9e1ceb13 92
93 virtual ~AliCDBLocalParam();
94
95 const TString& GetPath() const {return fDBPath;};
96
97 virtual AliCDBParam* CloneParam() const;
98
99 virtual ULong_t Hash() const;
100 virtual Bool_t IsEqual(const TObject* obj) const;
fe913d8f 101
102private:
fe913d8f 103
9e1ceb13 104 TString fDBPath; // path of the DB folder
fe913d8f 105
9e1ceb13 106 ClassDef(AliCDBLocalParam, 0);
fe913d8f 107};
108
109#endif