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*/,
33 const void */*object*/, UInt_t /*size*/){;}
34 //{return (*streamb)(b,object,size);}
35 virtual void ObjectDump(void */*p*/){;}
36 virtual const char * GetClassName(){ return 0;}
37 virtual TClass * GetClass(){return 0;}
38 virtual TDataType * GetDataType(){return 0;}
39 const UInt_t Size(){return fSize;}
40 static AliClassInfo * FindClassInfo(const char * name);
41 static AliClassInfo * GenerClassInfo(const char * clname);
42 static void GenerClassInfoCode(const char * clname, Bool_t load,
43 const char *incpath, const char *outfile);
44 const TList & GetListOfClass(){return fgList;}
46 static Bool_t GenerClassInterface(const char * clname, FILE * fout);
47 static TList fgList; // list of loaded class
48 UInt_t fSize; //size of object
49 ClassDef(AliClassInfo,1)
53 #endif //ALICLASSINFO_H