Coverity 16571
[u/mrichter/AliRoot.git] / STEER / AliCDBMetaData.h
1 #ifndef ALI_META_DATA_H
2 #define ALI_META_DATA_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 AliCDBMetaData                                           //
10 //  Set of data describing the object                              //
11 //  but not used to identify the object                            //
12 //                                                                 //
13 /////////////////////////////////////////////////////////////////////
14
15 #include <TObject.h>
16 #include <TMap.h>
17
18 class AliCDBMetaData: public TObject {
19         
20 public:
21         AliCDBMetaData();
22         AliCDBMetaData(const char *responsible, UInt_t beamPeriod=0, const char* alirootVersion="", const char* comment="");
23         virtual ~AliCDBMetaData();
24
25         void            SetObjectClassName(const char* name) 
26                                 {fObjectClassName = name;};
27         const char*     GetObjectClassName() const 
28                                 {return fObjectClassName.Data();};
29         
30         void            SetResponsible(const char* yourName) 
31                                 {fResponsible = yourName;};
32         const char*     GetResponsible() const 
33                                 {return fResponsible.Data();};
34
35         void            SetBeamPeriod(UInt_t period) 
36                                 {fBeamPeriod = period;};
37         UInt_t          GetBeamPeriod() const 
38                                 {return fBeamPeriod;};
39
40         void            SetAliRootVersion(const char* version)
41                                 {fAliRootVersion = version;};
42         const char*     GetAliRootVersion() const 
43                                 {return fAliRootVersion.Data();};
44
45         void            SetComment(const char* comment) 
46                                 {fComment = comment;};
47         const char*     GetComment() const 
48                                 {return fComment.Data();};
49         void            AddDateToComment();
50
51         void            SetProperty(const char* property, TObject* object);
52         TObject*        GetProperty(const char* property) const;
53         Bool_t          RemoveProperty(const char* property);
54         
55         void PrintMetaData();
56         
57 private:
58
59         TString fObjectClassName;       // object's class name
60         TString fResponsible;           // object's responsible person
61         UInt_t  fBeamPeriod;            // beam period
62         TString fAliRootVersion;        // AliRoot version
63         TString fComment;               // extra comments
64         //TList fCalibRuns;             
65         
66         TMap fProperties;               // list of object specific properties
67
68         ClassDef(AliCDBMetaData, 1);
69 };
70
71 #endif