4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 /////////////////////////////////////////////////////////////////////
10 // access class to a DataBase in a dump storage (single file) //
12 /////////////////////////////////////////////////////////////////////
14 #include "AliCDBStorage.h"
15 #include "AliCDBManager.h"
20 class AliCDBDump: public AliCDBStorage {
21 friend class AliCDBDumpFactory;
25 virtual Bool_t IsReadOnly() {return fReadOnly;};
26 virtual Bool_t HasSubVersion() {return kFALSE;};
30 virtual AliCDBEntry* GetEntry(const AliCDBId& query);
31 virtual TList* GetEntries(const AliCDBId& query);
32 virtual Bool_t PutEntry(AliCDBEntry* entry);
36 AliCDBDump(const char* dbFile, Bool_t readOnly);
37 virtual ~AliCDBDump();
39 Bool_t KeyNameToId(const char* keyname, AliCDBRunRange& runRange,
40 Int_t& version, Int_t& subVersion);
41 Bool_t IdToKeyName(const AliCDBRunRange& runRange, Int_t version,
42 Int_t subVersion, TString& keyname);
44 Bool_t MkDir(const TString& dir);
47 Bool_t PrepareId(AliCDBId& id);
48 AliCDBId GetId(const AliCDBId& query);
51 void GetEntriesForLevel0(const AliCDBId& query, TList* result);
52 void GetEntriesForLevel1(const AliCDBId& query, TList* result);
54 TFile* fFile; // Dump file
55 Bool_t fReadOnly; // ReadOnly flag
57 ClassDef(AliCDBDump, 0);
60 /////////////////////////////////////////////////////////////////////
62 // class AliCDBDumpFactory //
64 /////////////////////////////////////////////////////////////////////
66 class AliCDBDumpFactory: public AliCDBStorageFactory {
70 virtual Bool_t Validate(const char* dbString);
71 virtual AliCDBParam* CreateParameter(const char* dbString);
74 virtual AliCDBStorage* Create(const AliCDBParam* param);
76 ClassDef(AliCDBDumpFactory, 0);
79 /////////////////////////////////////////////////////////////////////
81 // class AliCDBDumpParam //
83 /////////////////////////////////////////////////////////////////////
85 class AliCDBDumpParam: public AliCDBParam {
89 AliCDBDumpParam(const char* dbPath, Bool_t readOnly = kFALSE);
91 virtual ~AliCDBDumpParam();
93 const TString& GetPath() const {return fDBPath;};
94 Bool_t IsReadOnly() const {return fReadOnly;};
96 virtual AliCDBParam* CloneParam() const;
98 virtual ULong_t Hash() const;
99 virtual Bool_t IsEqual(const TObject* obj) const;
103 TString fDBPath; // Dump file path name
104 Bool_t fReadOnly; // ReadOnly flag
106 ClassDef(AliCDBDumpParam, 0);