ROOT logo
// @(#)root/base:$Id: TClassGenerator.h 30751 2009-10-15 16:45:32Z pcanal $
// Author: Philippe Canal 24/06/2003

/*************************************************************************
 * Copyright (C) 1995-2003, Rene Brun and Fons Rademakers, and al.       *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TClassGenerator
#define ROOT_TClassGenerator

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TClassGenerator                                                      //
//                                                                      //
// Objects following this interface can be passed onto the TROOT object //
// to implement a user customized way to create the TClass objects.     //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TObject
#include "TObject.h"
#endif

class TClass;

class TClassGenerator : public TObject {

protected:
   TClassGenerator() : TObject() { }
   virtual ~TClassGenerator() { }

public:
   virtual TClass *GetClass(const char* classname, Bool_t load) = 0;
   virtual TClass *GetClass(const type_info& typeinfo, Bool_t load) = 0;
   virtual TClass *GetClass(const char* classname, Bool_t load, Bool_t silent);
   virtual TClass *GetClass(const type_info& typeinfo, Bool_t load, Bool_t silent);

   ClassDef(TClassGenerator,1);  // interface for TClass generators
};

#endif
 TClassGenerator.h:1
 TClassGenerator.h:2
 TClassGenerator.h:3
 TClassGenerator.h:4
 TClassGenerator.h:5
 TClassGenerator.h:6
 TClassGenerator.h:7
 TClassGenerator.h:8
 TClassGenerator.h:9
 TClassGenerator.h:10
 TClassGenerator.h:11
 TClassGenerator.h:12
 TClassGenerator.h:13
 TClassGenerator.h:14
 TClassGenerator.h:15
 TClassGenerator.h:16
 TClassGenerator.h:17
 TClassGenerator.h:18
 TClassGenerator.h:19
 TClassGenerator.h:20
 TClassGenerator.h:21
 TClassGenerator.h:22
 TClassGenerator.h:23
 TClassGenerator.h:24
 TClassGenerator.h:25
 TClassGenerator.h:26
 TClassGenerator.h:27
 TClassGenerator.h:28
 TClassGenerator.h:29
 TClassGenerator.h:30
 TClassGenerator.h:31
 TClassGenerator.h:32
 TClassGenerator.h:33
 TClassGenerator.h:34
 TClassGenerator.h:35
 TClassGenerator.h:36
 TClassGenerator.h:37
 TClassGenerator.h:38
 TClassGenerator.h:39
 TClassGenerator.h:40
 TClassGenerator.h:41
 TClassGenerator.h:42
 TClassGenerator.h:43
 TClassGenerator.h:44
 TClassGenerator.h:45