Move to fixed size step manager as default
[u/mrichter/AliRoot.git] / STEER / AliCDBDump.h
CommitLineData
9e1ceb13 1#ifndef ALI_CDB_DUMP_H
2#define ALI_CDB_DUMP_H
3
fe913d8f 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 AliCDBDump //
10// access class to a DataBase in a dump storage (single file) //
11// //
12/////////////////////////////////////////////////////////////////////
fe913d8f 13
14#include "AliCDBStorage.h"
9e1ceb13 15#include "AliCDBManager.h"
fe913d8f 16
9e1ceb13 17class TDirectory;
fe913d8f 18class TFile;
19
fe913d8f 20class AliCDBDump: public AliCDBStorage {
9e1ceb13 21 friend class AliCDBDumpFactory;
22
23public:
24
fdf65bb5 25 virtual Bool_t IsReadOnly() const {return fReadOnly;};
26 virtual Bool_t HasSubVersion() const {return kFALSE;};
b05400be 27 virtual Bool_t Contains(const char* path) const;
9e1ceb13 28
29protected:
30
b05400be 31 virtual AliCDBEntry* GetEntry(const AliCDBId& query);
32 virtual TList* GetEntries(const AliCDBId& query);
33 virtual Bool_t PutEntry(AliCDBEntry* entry);
34 virtual TList* GetIdListFromFile(const char* fileName);
9e1ceb13 35
36private:
37
38 AliCDBDump(const char* dbFile, Bool_t readOnly);
39 virtual ~AliCDBDump();
40
41 Bool_t KeyNameToId(const char* keyname, AliCDBRunRange& runRange,
42 Int_t& version, Int_t& subVersion);
43 Bool_t IdToKeyName(const AliCDBRunRange& runRange, Int_t version,
44 Int_t subVersion, TString& keyname);
45
46 Bool_t MkDir(const TString& dir);
47
48
49 Bool_t PrepareId(AliCDBId& id);
4b5e0dce 50 Bool_t GetId(const AliCDBId& query, AliCDBId& result);
9e1ceb13 51
52
53 void GetEntriesForLevel0(const AliCDBId& query, TList* result);
54 void GetEntriesForLevel1(const AliCDBId& query, TList* result);
55
56 TFile* fFile; // Dump file
57 Bool_t fReadOnly; // ReadOnly flag
58
59 ClassDef(AliCDBDump, 0);
60};
61
62/////////////////////////////////////////////////////////////////////
63// //
64// class AliCDBDumpFactory //
65// //
66/////////////////////////////////////////////////////////////////////
67
68class AliCDBDumpFactory: public AliCDBStorageFactory {
69
fe913d8f 70public:
9e1ceb13 71
72 virtual Bool_t Validate(const char* dbString);
73 virtual AliCDBParam* CreateParameter(const char* dbString);
fe913d8f 74
75protected:
9e1ceb13 76 virtual AliCDBStorage* Create(const AliCDBParam* param);
77
78 ClassDef(AliCDBDumpFactory, 0);
79};
80
81/////////////////////////////////////////////////////////////////////
82// //
83// class AliCDBDumpParam //
84// //
85/////////////////////////////////////////////////////////////////////
86
87class AliCDBDumpParam: public AliCDBParam {
88
89public:
90 AliCDBDumpParam();
91 AliCDBDumpParam(const char* dbPath, Bool_t readOnly = kFALSE);
92
93 virtual ~AliCDBDumpParam();
94
95 const TString& GetPath() const {return fDBPath;};
96 Bool_t IsReadOnly() const {return fReadOnly;};
fe913d8f 97
9e1ceb13 98 virtual AliCDBParam* CloneParam() const;
fe913d8f 99
9e1ceb13 100 virtual ULong_t Hash() const;
101 virtual Bool_t IsEqual(const TObject* obj) const;
102
fe913d8f 103private:
fe913d8f 104
9e1ceb13 105 TString fDBPath; // Dump file path name
106 Bool_t fReadOnly; // ReadOnly flag
fe913d8f 107
9e1ceb13 108 ClassDef(AliCDBDumpParam, 0);
fe913d8f 109};
110
111#endif