00001 #ifndef SCTDATA_SUMMARYWRITER_H
00002 #define SCTDATA_SUMMARYWRITER_H
00003
00004 #include <boost/utility.hpp>
00005 #include <string>
00006 #include <iostream>
00007 #include "Sct/IoExceptions.h"
00008 #include "Sct/LogicErrors.h"
00009
00016 namespace SctData {
00017 class TestResult;
00018 class ModuleDefectList;
00019
00020 namespace TestSummary{
00027 class SummaryWriter : boost::noncopyable {
00028 public:
00034 virtual void write(const TestResult& t, std::ostream& out) const throw(Sct::IoError, Sct::LogicError)=0;
00035
00041 void write(const ModuleDefectList& list, std::ostream& out ) const throw(Sct::IoError, Sct::LogicError);
00042
00044 virtual ~SummaryWriter();
00050 void writeHeader(const TestResult&, std::ostream& os) const throw();
00051 protected:
00052 SummaryWriter();
00053
00056 static string getChipName(const short unsigned ichip) throw();
00057 };
00058 }
00059 }
00060
00061 #endif // #ifdef SCTDATA_SUMMARYWRITER_H