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;};
27 virtual AliCDBEntry* GetEntry(const AliCDBId& queryId);
28 virtual TList* GetEntries(const AliCDBId& queryId);
29 virtual Bool_t PutEntry(AliCDBEntry* entry);
33 AliCDBLocal(const char* baseDir);
34 virtual ~AliCDBLocal();
36 Bool_t FilenameToId(const char* filename, AliCDBRunRange& runRange,
37 Int_t& version, Int_t& subVersion);
38 Bool_t IdToFilename(const AliCDBRunRange& runRange, Int_t version,
39 Int_t subVersion, TString& filename);
41 Bool_t PrepareId(AliCDBId& id);
42 AliCDBId GetId(const AliCDBId& query);
44 void GetEntriesForLevel0(const char* level0, const AliCDBId& query, TList* result);
45 void GetEntriesForLevel1(const char* level0, const char* Level1,
46 const AliCDBId& query, TList* result);
48 TString fBaseDirectory; // path of the DB folder
50 ClassDef(AliCDBLocal, 0); // access class to a DataBase in a local storage
53 /////////////////////////////////////////////////////////////////////
55 // class AliCDBLocalFactory //
57 /////////////////////////////////////////////////////////////////////
59 class AliCDBLocalFactory: public AliCDBStorageFactory {
63 virtual Bool_t Validate(const char* dbString);
64 virtual AliCDBParam* CreateParameter(const char* dbString);
67 virtual AliCDBStorage* Create(const AliCDBParam* param);
69 ClassDef(AliCDBLocalFactory, 0);
72 /////////////////////////////////////////////////////////////////////
74 // class AliCDBLocalParam //
76 /////////////////////////////////////////////////////////////////////
78 class AliCDBLocalParam: public AliCDBParam {
82 AliCDBLocalParam(const char* dbPath);
84 virtual ~AliCDBLocalParam();
86 const TString& GetPath() const {return fDBPath;};
88 virtual AliCDBParam* CloneParam() const;
90 virtual ULong_t Hash() const;
91 virtual Bool_t IsEqual(const TObject* obj) const;
95 TString fDBPath; // path of the DB folder
97 ClassDef(AliCDBLocalParam, 0);