]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/CDB/AliCDBDump.h
Merge branch 'feature-doxygen'
[u/mrichter/AliRoot.git] / STEER / CDB / 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 {
5078a13f 21 friend class AliCDBDumpFactory;
9e1ceb13 22
5078a13f 23 public:
9e1ceb13 24
5078a13f 25 virtual Bool_t IsReadOnly() const {return fReadOnly;};
26 virtual Bool_t HasSubVersion() const {return kFALSE;};
27 virtual Bool_t Contains(const char* path) const;
28 virtual Bool_t IdToFilename(const AliCDBId& id, TString& filename) const;
29 virtual void SetRetry(Int_t /* nretry */, Int_t /* initsec */);
9e1ceb13 30
5078a13f 31 protected:
9e1ceb13 32
5078a13f 33 virtual AliCDBEntry* GetEntry(const AliCDBId& query);
34 virtual AliCDBId* GetEntryId(const AliCDBId& query);
35 virtual TList* GetEntries(const AliCDBId& query);
36 virtual Bool_t PutEntry(AliCDBEntry* entry, const char* mirrors="");
37 virtual TList* GetIdListFromFile(const char* fileName);
9e1ceb13 38
5078a13f 39 private:
9e1ceb13 40
5078a13f 41 AliCDBDump(const AliCDBDump & source);
42 AliCDBDump & operator=(const AliCDBDump & source);
43 AliCDBDump(const char* dbFile, Bool_t readOnly);
44 virtual ~AliCDBDump();
9e1ceb13 45
5078a13f 46 Bool_t KeyNameToId(const char* keyname, AliCDBRunRange& runRange,
47 Int_t& version, Int_t& subVersion);
48 Bool_t IdToKeyName(const AliCDBRunRange& runRange, Int_t version,
49 Int_t subVersion, TString& keyname);
9e1ceb13 50
5078a13f 51 Bool_t MkDir(const TString& dir);
9e1ceb13 52
53
5078a13f 54 Bool_t PrepareId(AliCDBId& id);
55 // Bool_t GetId(const AliCDBId& query, AliCDBId& result);
56 AliCDBId* GetId(const AliCDBId& query);
9e1ceb13 57
5078a13f 58 virtual void QueryValidFiles();
9e1ceb13 59
5078a13f 60 void GetEntriesForLevel0(const AliCDBId& query, TList* result);
61 void GetEntriesForLevel1(const AliCDBId& query, TList* result);
9e1ceb13 62
5078a13f 63 TFile* fFile; // Dump file
64 Bool_t fReadOnly; // ReadOnly flag
9e1ceb13 65
5078a13f 66 ClassDef(AliCDBDump, 0);
9e1ceb13 67};
68
69/////////////////////////////////////////////////////////////////////
70// //
71// class AliCDBDumpFactory //
72// //
73/////////////////////////////////////////////////////////////////////
74
75class AliCDBDumpFactory: public AliCDBStorageFactory {
76
5078a13f 77 public:
9e1ceb13 78
5078a13f 79 virtual Bool_t Validate(const char* dbString);
80 virtual AliCDBParam* CreateParameter(const char* dbString);
fe913d8f 81
5078a13f 82 protected:
83 virtual AliCDBStorage* Create(const AliCDBParam* param);
9e1ceb13 84
5078a13f 85 ClassDef(AliCDBDumpFactory, 0);
9e1ceb13 86};
87
88/////////////////////////////////////////////////////////////////////
89// //
90// class AliCDBDumpParam //
91// //
92/////////////////////////////////////////////////////////////////////
93
94class AliCDBDumpParam: public AliCDBParam {
95
5078a13f 96 public:
97 AliCDBDumpParam();
98 AliCDBDumpParam(const char* dbPath, Bool_t readOnly = kFALSE);
9e1ceb13 99
5078a13f 100 virtual ~AliCDBDumpParam();
fe913d8f 101
5078a13f 102 const TString& GetPath() const {return fDBPath;};
103 Bool_t IsReadOnly() const {return fReadOnly;};
fe913d8f 104
5078a13f 105 virtual AliCDBParam* CloneParam() const;
fe913d8f 106
5078a13f 107 virtual ULong_t Hash() const;
108 virtual Bool_t IsEqual(const TObject* obj) const;
fe913d8f 109
5078a13f 110 private:
111
112 TString fDBPath; // Dump file path name
113 Bool_t fReadOnly; // ReadOnly flag
114
115 ClassDef(AliCDBDumpParam, 0);
fe913d8f 116};
117
118#endif