Files Classes Functions Hierarchy
00001 #include <iostream> 00002 using namespace std; 00003 00004 #include <cireport.h> 00005 #include <html.h> 00006 #include <modulelist.h> 00007 #include <modulereport.h> 00008 #include <stringconvert.h> 00009 00010 string cireport::reportfile="report.html"; 00011 string cireport::docfile="doc.html"; 00012 00013 stringc cireport::summaryblock2() 00014 { 00015 string s0; 00016 s0 += "<p>\n"; 00017 00018 for (uint i=0; i<ml.doc.size(); ++i) 00019 { 00020 s0 += "<a class=\"reflocal\" href=\""; 00021 s0 += (ml.modules[i]+"/"+ml.doc[i]); 00022 s0 += ("\">"+ml.modules[i]); 00023 s0 += mr[i].htmlimg(); 00024 s0 += "</a> "; 00025 s0 += "\n"; 00026 } 00027 00028 return s0; 00029 } 00030 00031 stringc cireport::summaryblock1() 00032 { 00033 string s0; 00034 s0 += "<p>\n"; 00035 00036 for (uint i=0; i<ml.doc.size(); ++i) 00037 { 00038 s0 += "<a class=\"reflocal2\" href=\"#"; 00039 s0 += ml.modules[i]; 00040 s0 += ("\">"+ml.modules[i]); 00041 s0 += mr[i].htmlimg(); 00042 s0 += "</a> "; 00043 s0 += "\n"; 00044 } 00045 00046 s0 += "</p>\n"; 00047 00048 return s0; 00049 } 00050 00051 stringc cireport::report01() 00052 { 00053 string s0; 00054 00055 for (uint i=0; i<ml.doc.size(); ++i) 00056 { 00057 s0 += "<a id=\""; 00058 s0 += ml.modules[i]; 00059 s0 += "\"></a>\n"; 00060 s0 += "<h3>"; 00061 s0 += "<a class=\"reflocal\" href=\""; 00062 s0 += (ml.modules[i]+"/"+ml.doc[i]); 00063 s0 += "\">"; 00064 s0 += ml.modules[i]; 00065 s0 += mr[i].htmlimg(); 00066 s0 += "</a>\n"; 00067 s0 += "</h3>\n"; 00068 00069 s0 += mr[i].summary01(); 00070 00071 s0 += mr[i].compilerhtmldetailed(); 00072 00073 s0 += mr[i].unittestshtmldetailed(); 00074 00075 } 00076 00077 string s1(stringtag(s0,"div")); 00078 00079 return s1; 00080 } 00081 00082 00083 cireport::cireport() 00084 { 00085 reset(); 00086 } 00087 00088 void cireport::reset() 00089 { 00090 ml.buildlist(); 00091 00092 // Creating and setting up the modulereport's. 00093 for (uint i=0; i<ml.modules.size(); ++i) 00094 { 00095 modulereport mri; 00096 mri.filepathfront=ml.modules[i]+"/"; 00097 mr.push_back(mri); 00098 } 00099 00100 // Read and calculate the module's state 00101 for (uint i=0; i<ml.modules.size(); ++i) 00102 { 00103 mr[i].reset(); 00104 mr[i].statecalc(); 00105 } 00106 } 00107 00108 int cireport::reportfile_update() 00109 { 00110 int res=0; 00111 00112 if (html::insert 00113 ( 00114 reportfile, 00115 "<!--B01_UPDATE_REPORT_BEGIN-->", 00116 "<!--B01_UPDATE_REPORT_END-->", 00117 summaryblock1() 00118 ) != 0) 00119 res=1; 00120 00121 00122 if (html::insert 00123 ( 00124 reportfile, 00125 "<!--B02_UPDATE_REPORT_BEGIN-->", 00126 "<!--B02_UPDATE_REPORT_END-->", 00127 report01() 00128 ) != 0) 00129 res=1; 00130 00131 return res; 00132 } 00133 00134 int cireport::docfile_update() 00135 { 00136 int res=0; 00137 00138 if (html::insert 00139 ( 00140 docfile, 00141 "<!--B01_UPDATE_REPORT_BEGIN-->", 00142 "<!--B01_UPDATE_REPORT_END-->", 00143 summaryblock3() 00144 ) != 0) 00145 res=1; 00146 00147 return res; 00148 } 00149 00150 stringc cireport::summaryblock3() 00151 { 00152 string s0; 00153 s0 += "<p>\n"; 00154 00155 for (uint i=0; i<ml.doc.size(); ++i) 00156 { 00157 s0 += "<a class=\"reflocal\" href=\""; 00158 s0 += ml.modules[i]; 00159 s0 += "/"; 00160 s0 += ml.doc[i]; 00161 s0 += ("\">"+ml.modules[i]); 00162 s0 += mr[i].htmlimg(); 00163 s0 += "</a> "; 00164 s0 += "\n"; 00165 } 00166 00167 s0 += "</p>\n"; 00168 00169 return s0; 00170 } 00171
1.5.8