00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 {
00026
00027
00028
00029
00030 Char_t *libs[] = {"St_base","St_Tables"};
00031 Char_t *suffix=0;
00032 Int_t nlist = 2;
00033 Bool_t NT=kFALSE;
00034
00035 if (strcmp(gSystem->GetName(),"WinNT") == 0 ) {
00036 NT = kTRUE;
00037 gSystem.Load("Root_html.dll");
00038 }
00039
00040 gSystem->Load("St_base");
00041 gSystem->Load("St_Tables");
00042
00043 cout << "Dynamic libraries have been loaded" << endl;
00044
00045 void *dirhandle = 0;
00046 const Char_t *affix="_st";
00047 TString sourcedir;
00048 if (NT)
00049 sourcedir = "//sol/afs_rhic/star/packages/dev/.share/tables";
00050 else
00051 sourcedir = "$STAR/include/tables";
00052
00053 gSystem->ExpandPathName(sourcedir);
00054 if (!(dirhandle = gSystem->OpenDirectory(sourcedir.Data()))) return;
00055
00056
00057 THtml *html = new THtml;
00058
00059 TString lookup = 0;
00060 if (NT)
00061 lookup = "//sol/afs_rhic/star/packages/dev/.share/tables;../base;//sol/afs_rhic/star/packages/dev/.share/base";
00062 else {
00063 lookup = "$STAF/inc:";
00064 lookup += "$STAR:";
00065 lookup += sourcedir;
00066 lookup += ":";
00067 lookup += "$STAR/include:";
00068 lookup += "$STAR/include/tables:";
00069 lookup += "$STAR/StRoot/St_base";
00070 lookup += "$STAR/.share/tables:";
00071 }
00072
00073 html->SetSourceDir(lookup.Data());
00074 if (NT)
00075 html->SetOutputDir("J:/Public/STAF/draft/base/html");
00076 else
00077 html->SetOutputDir("$STAR/StRoot/html");
00078
00079 html.MakeClass("St_Table",kTRUE);
00080
00081 char *n = 0;
00082
00083 while (n = gSystem->GetDirEntry(dirhandle)) {
00084 Char_t *name = StrDup(n);
00085
00086 if (strstr(name,"St_") == name) {
00087
00088 Char_t *tail = 0;
00089 if (tail = strstr(name,"_Table.h")) {
00090 *tail = '\0';
00091
00092
00093 html.MakeClass(name,kTRUE);
00094
00095
00096 Int_t i;
00097 for (i=0; i < strlen(name)-3; i++) name[i] = name[i+3];
00098 name[i] = '\0';
00099 strcat(name,affix);
00100 html.MakeClass(name,kTRUE);
00101 }
00102 }
00103 delete [] name ;
00104 }
00105 gSystem->FreeDirectory(dirhandle);
00106
00107 html->Convert("$STAR/StRoot/html/MakeHtmlTables.cxx","How to create the HTML doc for the STAF table wrappers");
00108 }