]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - STEER/AliCDBDump.h
Fixes for macosx
[u/mrichter/AliRoot.git] / STEER / AliCDBDump.h
... / ...
CommitLineData
1#ifndef ALI_CDB_DUMP_H
2#define ALI_CDB_DUMP_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7/////////////////////////////////////////////////////////////////////
8// //
9// class AliCDBDump //
10// access class to a DataBase in a dump storage (single file) //
11// //
12/////////////////////////////////////////////////////////////////////
13
14#include "AliCDBStorage.h"
15#include "AliCDBManager.h"
16
17class TDirectory;
18class TFile;
19
20class AliCDBDump: public AliCDBStorage {
21 friend class AliCDBDumpFactory;
22
23public:
24
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 Int_t GetLatestVersion(const char* path, Int_t run);
29 virtual Int_t GetLatestSubVersion(const char* path, Int_t run, Int_t version=-1);
30 virtual Bool_t IdToFilename(const AliCDBId& id, TString& filename) const;
31
32protected:
33
34 virtual AliCDBEntry* GetEntry(const AliCDBId& query);
35 virtual AliCDBId* GetEntryId(const AliCDBId& query);
36 virtual TList* GetEntries(const AliCDBId& query);
37 virtual Bool_t PutEntry(AliCDBEntry* entry);
38 virtual TList* GetIdListFromFile(const char* fileName);
39
40private:
41
42 AliCDBDump(const AliCDBDump & source);
43 AliCDBDump & operator=(const AliCDBDump & source);
44 AliCDBDump(const char* dbFile, Bool_t readOnly);
45 virtual ~AliCDBDump();
46
47 Bool_t KeyNameToId(const char* keyname, AliCDBRunRange& runRange,
48 Int_t& version, Int_t& subVersion);
49 Bool_t IdToKeyName(const AliCDBRunRange& runRange, Int_t version,
50 Int_t subVersion, TString& keyname);
51
52 Bool_t MkDir(const TString& dir);
53
54
55 Bool_t PrepareId(AliCDBId& id);
56// Bool_t GetId(const AliCDBId& query, AliCDBId& result);
57 AliCDBId* GetId(const AliCDBId& query);
58
59 virtual void QueryValidFiles();
60
61 void GetEntriesForLevel0(const AliCDBId& query, TList* result);
62 void GetEntriesForLevel1(const AliCDBId& query, TList* result);
63
64 TFile* fFile; // Dump file
65 Bool_t fReadOnly; // ReadOnly flag
66
67 ClassDef(AliCDBDump, 0);
68};
69
70/////////////////////////////////////////////////////////////////////
71// //
72// class AliCDBDumpFactory //
73// //
74/////////////////////////////////////////////////////////////////////
75
76class AliCDBDumpFactory: public AliCDBStorageFactory {
77
78public:
79
80 virtual Bool_t Validate(const char* dbString);
81 virtual AliCDBParam* CreateParameter(const char* dbString);
82
83protected:
84 virtual AliCDBStorage* Create(const AliCDBParam* param);
85
86 ClassDef(AliCDBDumpFactory, 0);
87};
88
89/////////////////////////////////////////////////////////////////////
90// //
91// class AliCDBDumpParam //
92// //
93/////////////////////////////////////////////////////////////////////
94
95class AliCDBDumpParam: public AliCDBParam {
96
97public:
98 AliCDBDumpParam();
99 AliCDBDumpParam(const char* dbPath, Bool_t readOnly = kFALSE);
100
101 virtual ~AliCDBDumpParam();
102
103 const TString& GetPath() const {return fDBPath;};
104 Bool_t IsReadOnly() const {return fReadOnly;};
105
106 virtual AliCDBParam* CloneParam() const;
107
108 virtual ULong_t Hash() const;
109 virtual Bool_t IsEqual(const TObject* obj) const;
110
111private:
112
113 TString fDBPath; // Dump file path name
114 Bool_t fReadOnly; // ReadOnly flag
115
116 ClassDef(AliCDBDumpParam, 0);
117};
118
119#endif