TMakeProject.h

Go to the documentation of this file.
00001 // @(#)root/io:$Id: TMakeProject.h 36707 2010-11-16 20:00:58Z pcanal $
00002 // Author: Rene Brun   12/10/2000
00003 
00004 /*************************************************************************
00005  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
00006  * All rights reserved.                                                  *
00007  *                                                                       *
00008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
00009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
00010  *************************************************************************/
00011 
00012 #ifndef ROOT_TMakeProject
00013 #define ROOT_TMakeProject
00014 
00015 
00016 //////////////////////////////////////////////////////////////////////////
00017 //                                                                      //
00018 // TMakeProject                                                         //
00019 //                                                                      //
00020 // Helper class implementing the TFile::MakeProject.                    //
00021 //                                                                      //
00022 //////////////////////////////////////////////////////////////////////////
00023 
00024 #include <stdio.h>
00025 #ifndef ROOT_TOBJECT_H
00026 #include "TString.h"
00027 #endif
00028 
00029 class TList;
00030 class TVirtualStreamerInfo;
00031 class TStreamerElement;
00032 
00033 class TMakeProject
00034 {
00035 private:
00036    static void GenerateMissingStreamerInfo(TList *extrainfos, const char *clname, Bool_t iscope);
00037 public:
00038    static void AddUniqueStatement(FILE *fp, const char *statement, char *inclist);
00039    static void AddInclude(FILE *fp, const char *header, Bool_t system, char *inclist);
00040    static void ChopFileName(TString &name, Int_t limit);
00041    static TString GetHeaderName(const char *name, const TList *extrainfos, Bool_t includeNested = kFALSE);
00042    static UInt_t GenerateClassPrefix(FILE *fp, const char *clname, Bool_t top, TString &protoname, UInt_t *numberOfClasses, Int_t implementEmptyClass = kFALSE, Bool_t needGenericTemplate = kFALSE); 
00043    static void GenerateMissingStreamerInfos(TList *extrainfos, TStreamerElement *element);
00044    static void GenerateMissingStreamerInfos(TList *extrainfos, const char *clname);
00045    static UInt_t GenerateForwardDeclaration(FILE *fp, const char *clname, char *inclist, Bool_t implementEmptyClass, Bool_t needGenericTemplate, const TList *extrainfos);
00046    static UInt_t GenerateIncludeForTemplate(FILE *fp, const char *clname, char *inclist, Bool_t forward, const TList *extrainfos);
00047    static TString UpdateAssociativeToVector(const char *name);
00048    static void GeneratePostDeclaration(FILE *fp, const TVirtualStreamerInfo *info, char *inclist);
00049 };
00050 
00051 #endif // ROOT_TMakeProject
00052 

Generated on Tue Jul 5 14:27:01 2011 for ROOT_528-00b_version by  doxygen 1.5.1