proj home

Files   Classes   Functions   Hierarchy  

cireport.cpp

Go to the documentation of this file.
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> &nbsp;";
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> &nbsp;";
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> &nbsp;";
00164     s0 += "\n";
00165   }
00166 
00167   s0 += "</p>\n";
00168 
00169   return s0;
00170 }
00171 

Generated on Fri Mar 4 00:49:28 2011 for Chelton Evans Source by  doxygen 1.5.8