xsil/EventTable.hh

00001 /* -*- mode: c++; c-basic-offset: 4; -*- */
00002 #ifndef XSIL_EVENTTABLE_HH
00003 #define XSIL_EVENTTABLE_HH
00004 
00005 #include <time.h>
00006 #include <string>
00007 #include <list>
00008 #include <iosfwd>
00009 
00010 namespace xsil {
00011 
00012   class XSIL;
00013   class table;
00014   class Stream;
00015 
00016 
00024   class EventTable {
00025 
00028     struct eventcolumn {
00029 
00032       eventcolumn(void);
00033 
00036       ~eventcolumn(void);
00037       std::string data_Type;
00038       const void* data_Addr;
00039     };
00040 
00041     typedef std::list<eventcolumn> ColumnList;
00042     typedef ColumnList::const_iterator col_iter;
00043 
00044   public:
00045 
00049     EventTable(void);
00050 
00055     EventTable(const char* Title);
00056 
00060     ~EventTable(void);
00061 
00066     void makeTable(const char* Name, const char* Type);
00067 
00085     void addColumn(const char* Name, const char* Type, const void* Addr=0);
00086 
00091     void putEvent(void);
00092 
00098     void putTable(std::ostream& out);
00099 
00103     void resetStream(void);
00104 
00105   private:
00106     std::string mTitle;
00107     ColumnList mCList;
00108     XSIL*      mDoc;
00109     table*     mTable;
00110   };
00111 
00112 }  // namespace xsil
00113 
00114 inline
00115 xsil::EventTable::eventcolumn::eventcolumn(void) {}
00116 
00117 inline
00118 xsil::EventTable::eventcolumn::~eventcolumn(void) {}
00119 
00120 
00121 #endif  //  XSIL_EVENTTABLE_HH
00122 

Generated on Sun Mar 8 19:20:54 2009 for dmt by  doxygen 1.5.4