1 #ifndef ALI_CDB_LOCAL_H
2 #define ALI_CDB_LOCAL_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 /////////////////////////////////////////////////////////////////////
9 // class AliCDBLocal //
10 // access class to a DataBase in a local storage //
12 /////////////////////////////////////////////////////////////////////
14 #include "AliCDBStorage.h"
15 #include "AliCDBManager.h"
17 class AliCDBLocal: public AliCDBStorage {
18 friend class AliCDBLocalFactory;
22 virtual Bool_t IsReadOnly() const {return kFALSE;};
23 virtual Bool_t HasSubVersion() const {return kTRUE;};
24 virtual Bool_t Contains(const char* path) const;
25 virtual Int_t GetLatestVersion(const char* path, Int_t run);
26 virtual Int_t GetLatestSubVersion(const char* path, Int_t run, Int_t version=-1);
27 virtual Bool_t IdToFilename(const AliCDBId& id, TString& filename) const;
28 virtual void SetRetry(Int_t /* nretry */, Int_t /* initsec */);
32 virtual AliCDBEntry* GetEntry(const AliCDBId& queryId);
33 virtual AliCDBId* GetEntryId(const AliCDBId& queryId);
34 virtual TList* GetEntries(const AliCDBId& queryId);
35 virtual Bool_t PutEntry(AliCDBEntry* entry);
36 virtual TList* GetIdListFromFile(const char* fileName);
40 AliCDBLocal(const AliCDBLocal & source);
41 AliCDBLocal & operator=(const AliCDBLocal & source);
42 AliCDBLocal(const char* baseDir);
43 virtual ~AliCDBLocal();
45 Bool_t FilenameToId(const char* filename, AliCDBRunRange& runRange,
46 Int_t& version, Int_t& subVersion);
48 Bool_t PrepareId(AliCDBId& id);
49 // Bool_t GetId(const AliCDBId& query, AliCDBId& result);
50 AliCDBId* GetId(const AliCDBId& query);
52 virtual void QueryValidFiles();
54 void GetEntriesForLevel0(const char* level0, const AliCDBId& query, TList* result);
55 void GetEntriesForLevel1(const char* level0, const char* Level1,
56 const AliCDBId& query, TList* result);
58 TString fBaseDirectory; // path of the DB folder
60 ClassDef(AliCDBLocal, 0); // access class to a DataBase in a local storage
63 /////////////////////////////////////////////////////////////////////
65 // class AliCDBLocalFactory //
67 /////////////////////////////////////////////////////////////////////
69 class AliCDBLocalFactory: public AliCDBStorageFactory {
73 virtual Bool_t Validate(const char* dbString);
74 virtual AliCDBParam* CreateParameter(const char* dbString);
77 virtual AliCDBStorage* Create(const AliCDBParam* param);
79 ClassDef(AliCDBLocalFactory, 0);
82 /////////////////////////////////////////////////////////////////////
84 // class AliCDBLocalParam //
86 /////////////////////////////////////////////////////////////////////
88 class AliCDBLocalParam: public AliCDBParam {
92 AliCDBLocalParam(const char* dbPath);
93 AliCDBLocalParam(const char* dbPath, const char* uri);
95 virtual ~AliCDBLocalParam();
97 const TString& GetPath() const {return fDBPath;};
99 virtual AliCDBParam* CloneParam() const;
101 virtual ULong_t Hash() const;
102 virtual Bool_t IsEqual(const TObject* obj) const;
106 TString fDBPath; // path of the DB folder
108 ClassDef(AliCDBLocalParam, 0);