1    	// @(#)root/core:$Id$
2    	// author: Lukasz Janyst <ljanyst@cern.ch>
3    	
4    	/*************************************************************************
5    	 * Copyright (C) 1995-2010, Rene Brun, Fons Rademakers and al.           *
6    	 * All rights reserved.                                                  *
7    	 *                                                                       *
8    	 * For the licensing terms see $ROOTSYS/LICENSE.                         *
9    	 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
10   	 *************************************************************************/
11   	
12   	// This include must be outside of the code guard because
13   	// Rtypes.h includes TGenericClassInfo.h which includes
14   	// TSchemaHelper.h (this header file) and really need the
15   	// definition of ROOT::TSchemaHelper.   So in this case,
16   	// we need the indirect #include to really do the declaration
17   	// and the direct #include to be a noop.
18   	#ifndef ROOT_Rtypes
19   	#include "Rtypes.h"
20   	#endif
21   	
22   	#ifndef ROOT_TSchemaHelper
23   	#define ROOT_TSchemaHelper
24   	
25   	#include <string>
26   	
27   	namespace ROOT
28   	{
29   	   struct TSchemaHelper
30   	   {
31   	      TSchemaHelper(): fTarget(), fSourceClass(),
32   	       fSource(), fCode(), fVersion(), fChecksum(),
33   	       fInclude(), fEmbed(kTRUE), fFunctionPtr( 0 ), 
34   	       fAttributes() {}
35   	      std::string fTarget;
36   	      std::string fSourceClass;
37   	      std::string fSource;
38   	      std::string fCode;
39   	      std::string fVersion;
40   	      std::string fChecksum;
41   	      std::string fInclude;
42   	      Bool_t      fEmbed;
43   	      void*       fFunctionPtr;
44   	      std::string fAttributes;
45   	
46   	      TSchemaHelper(const TSchemaHelper &tsh) :
47   	       fTarget(tsh.fTarget), fSourceClass(tsh.fSourceClass),
48   	       fSource(tsh.fSource), fCode(tsh.fCode), fVersion(tsh.fVersion),fChecksum(tsh.fChecksum),
49   	       fInclude(tsh.fInclude), fEmbed(tsh.fEmbed), fFunctionPtr(tsh.fFunctionPtr),
50   	       fAttributes(tsh.fAttributes) {}
51   	
52   	      TSchemaHelper& operator=(const TSchemaHelper &) {return *this;} // Not implemented
53   	   };
54   	}
55   	
56   	#endif // ROOT_TSchemaHelper
57