4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
8 ///////////////////////////////////////////////////////////////////////////////
12 // Defined to make unified interface to primitive types (in Root described by//
13 // TDataType) and TClass. //
15 // Origin: Marian Ivanov, Uni. of Bratislava, ivanov@fmph.uniba.sk //
16 ///////////////////////////////////////////////////////////////////////////////
24 class AliClassInfo : public TNamed {
27 virtual ~AliClassInfo(){;}
28 virtual void CTORBuffer(void * pointer, UInt_t size=1){;}
29 // {return (*ctorbuffer)(p,size);}
30 virtual void DTORBuffer(void * pointer, UInt_t size=1){;}
31 //{return (*dtorbuffer)(p,size);}
32 virtual void StreamBuffer(TBuffer& b, const void *object, UInt_t size){;}
33 //{return (*streamb)(b,object,size);}
34 virtual void ObjectDump(void *p){;}
35 virtual const char * GetClassName(){ return 0;}
36 virtual TClass * GetClass(){return 0;}
37 virtual TDataType * GetDataType(){return 0;}
38 const UInt_t Size(){return fSize;}
39 static AliClassInfo * FindClassInfo(const char * name);
40 static AliClassInfo * GenerClassInfo(const char * clname);
41 static void GenerClassInfoCode(const char * clname, Bool_t load,
42 const char *incpath, const char *outfile);
43 const TList & GetListOfClass(){return fgList;}
45 static Bool_t GenerClassInterface(const char * clname, FILE * fout);
46 static TList fgList; // list of loaded class
47 UInt_t fSize; //size of object
48 ClassDef(AliClassInfo,1)
52 #endif //ALICLASSINFO_H