SummarySubscriber.h
Go to the documentation of this file.
1 ///
2 /// \file SummarySubscriber.h
3 /// \brief Interface for classes that plot data from the event summaries
4 /// \version $Id: SummarySubscriber.h,v 1.2 2012-02-13 22:00:43 messier Exp $
5 /// \author messier@indiana.edu
6 ///
7 #ifndef OM_SUBSCRIBER_H
8 #define OM_SUBSCRIBER_H
9 #include <cstdlib>
10 namespace om { class RawEventSummary; }
11 namespace om { class DataBlockSummary; }
12 namespace om { class MicroSliceSummary; }
13 namespace om { class NanoSliceSummary; }
14 
15 namespace om {
17  {
18  public:
19  /// Which summaries does a class want to subscribe to?
20  enum _which {
21  kEvent = 0x01,
22  kDataBlock = 0x02,
23  kMicroSlice = 0x04,
24  kNanoSlice = 0x08
25  };
26 
27  public:
28  SummarySubscriber(unsigned int which);
29 
30  public:
31  /// Interface to the event summary
32  virtual void GetRawEventSummary(const RawEventSummary& res) { abort(); };
33 
34  /// Interface to the data block summary
35  virtual void GetDataBlockSummary(const RawEventSummary& res,
36  const DataBlockSummary& dbs) { abort(); }
37 
38  /// Interface to the microslice summary
39  virtual void GetMicroSliceSummary(const RawEventSummary& res,
40  const DataBlockSummary& dbs,
41  const MicroSliceSummary& mss) { abort(); }
42 
43  /// Interface to the nanoslice summary
44  virtual void GetNanoSliceSummary(const RawEventSummary& res,
45  const DataBlockSummary& dbs,
46  const MicroSliceSummary& mss,
47  const NanoSliceSummary& nss) { abort(); }
48  private:
49  /// Default constructor not allowed. Use the one at the top of
50  /// this file
51  SummarySubscriber() { abort(); }
52  };
53 }
54 #endif
55 ////////////////////////////////////////////////////////////////////////
virtual void GetMicroSliceSummary(const RawEventSummary &res, const DataBlockSummary &dbs, const MicroSliceSummary &mss)
Interface to the microslice summary.
virtual void GetDataBlockSummary(const RawEventSummary &res, const DataBlockSummary &dbs)
Interface to the data block summary.
virtual void GetNanoSliceSummary(const RawEventSummary &res, const DataBlockSummary &dbs, const MicroSliceSummary &mss, const NanoSliceSummary &nss)
Interface to the nanoslice summary.
virtual void GetRawEventSummary(const RawEventSummary &res)
Interface to the event summary.
_which
Which summaries does a class want to subscribe to?
Online Monitoring package header.