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 an AliEn storage //
12 /////////////////////////////////////////////////////////////////////
14 #include "AliCDBStorage.h"
15 #include "AliCDBManager.h"
17 class AliCDBGrid: public AliCDBStorage {
18 friend class AliCDBGridFactory;
22 virtual Bool_t IsReadOnly() const {return kFALSE;};
23 virtual Bool_t HasSubVersion() const {return kFALSE;};
24 virtual Bool_t Contains(const char* path) const;
28 virtual AliCDBEntry* GetEntry(const AliCDBId& queryId);
29 virtual TList* GetEntries(const AliCDBId& queryId);
30 virtual Bool_t PutEntry(AliCDBEntry* entry);
31 virtual TList* GetIdListFromFile(const char* fileName);
35 AliCDBGrid(const char *gridUrl, const char *user, const char* dbFolder, const char *se);
37 virtual ~AliCDBGrid();
39 AliCDBGrid(const AliCDBGrid& db);
40 AliCDBGrid& operator = (const AliCDBGrid& db);
42 Bool_t FilenameToId(const char* filename, AliCDBRunRange& runRange, Int_t& version);
43 Bool_t IdToFilename(const AliCDBRunRange& runRange, Int_t version, TString& filename);
45 Bool_t PrepareId(AliCDBId& id);
46 Bool_t GetId(const AliCDBId& query, AliCDBId& result);
49 void GetEntriesForLevel0(const char* level0, const AliCDBId& query, TList* result);
50 void GetEntriesForLevel1(const char* level0, const char* level1,
51 const AliCDBId& query, TList* result);
53 TString fGridUrl; // Grid Url ("alien://aliendb4.cern.ch:9000")
54 TString fUser; // User
55 TString fDBFolder; // path of the DB folder
56 TString fSE; // Storage Element
58 ClassDef(AliCDBGrid, 0) // access class to a DataBase in an AliEn storage
61 /////////////////////////////////////////////////////////////////////
63 // class AliCDBGridFactory //
65 /////////////////////////////////////////////////////////////////////
67 class AliCDBGridFactory: public AliCDBStorageFactory {
71 virtual Bool_t Validate(const char* gridString);
72 virtual AliCDBParam* CreateParameter(const char* gridString);
75 virtual AliCDBStorage* Create(const AliCDBParam* param);
77 ClassDef(AliCDBGridFactory, 0);
80 /////////////////////////////////////////////////////////////////////
82 // class AliCDBGridParam //
84 /////////////////////////////////////////////////////////////////////
86 class AliCDBGridParam: public AliCDBParam {
90 AliCDBGridParam(const char* gridUrl, const char* user,
91 const char* dbFolder, const char* se);
93 virtual ~AliCDBGridParam();
95 const TString& GridUrl() const {return fGridUrl;};
96 const TString& GetUser() const {return fUser;};
97 const TString& GetDBFolder() const {return fDBFolder;};
98 const TString& GetSE() const {return fSE;};
100 virtual AliCDBParam* CloneParam() const;
102 virtual ULong_t Hash() const;
103 virtual Bool_t IsEqual(const TObject* obj) const;
106 TString fGridUrl; // Grid url "Host:port"
107 TString fUser; // User
108 TString fDBFolder; // path of the DB folder
109 TString fSE; // Storage Element
111 ClassDef(AliCDBGridParam, 0);