Go to the documentation of this file.00001
00003
00004 #ifndef EventFilter_StorageManager_ConsumerWebPageHelper_h
00005 #define EventFilter_StorageManager_ConsumerWebPageHelper_h
00006
00007 #include "xdaq/ApplicationDescriptor.h"
00008 #include "xgi/Output.h"
00009
00010 #include "EventFilter/StorageManager/interface/DQMConsumerMonitorCollection.h"
00011 #include "EventFilter/StorageManager/interface/DQMEventQueueCollection.h"
00012 #include "EventFilter/StorageManager/interface/EventConsumerMonitorCollection.h"
00013 #include "EventFilter/StorageManager/interface/EventQueueCollection.h"
00014 #include "EventFilter/StorageManager/interface/RegistrationCollection.h"
00015 #include "EventFilter/StorageManager/interface/StatisticsReporter.h"
00016 #include "EventFilter/StorageManager/interface/WebPageHelper.h"
00017 #include "EventFilter/StorageManager/interface/XHTMLMaker.h"
00018
00019 #include <boost/function.hpp>
00020
00021 namespace stor
00022 {
00023
00032 template<typename WebPageHelper_t, typename EventQueueCollection_t, typename StatisticsReporter_t>
00033 class ConsumerWebPageHelper : public WebPageHelper<WebPageHelper_t>
00034 {
00035 public:
00036
00037 ConsumerWebPageHelper
00038 (
00039 xdaq::ApplicationDescriptor* appDesc,
00040 const std::string& cvsVersion,
00041 WebPageHelper_t* webPageHelper,
00042 void (WebPageHelper_t::*addHyperLinks)(XHTMLMaker&, XHTMLMaker::Node*) const
00043 );
00044
00048 void consumerStatistics
00049 (
00050 xgi::Output*,
00051 const std::string& externallyVisibleState,
00052 const std::string& innerStateName,
00053 const std::string& errorMsg,
00054 boost::shared_ptr<StatisticsReporter_t>,
00055 RegistrationCollectionPtr,
00056 boost::shared_ptr<EventQueueCollection_t>,
00057 DQMEventQueueCollectionPtr
00058 ) const;
00059
00060
00061 private:
00062
00066 void addDOMforEventConsumers
00067 (
00068 XHTMLMaker& maker,
00069 XHTMLMaker::Node* parent,
00070 RegistrationCollectionPtr,
00071 boost::shared_ptr<EventQueueCollection_t>,
00072 const EventConsumerMonitorCollection&
00073 ) const;
00074
00078 void addDOMforDQMEventConsumers
00079 (
00080 XHTMLMaker& maker,
00081 XHTMLMaker::Node* parent,
00082 RegistrationCollectionPtr,
00083 DQMEventQueueCollectionPtr,
00084 const DQMConsumerMonitorCollection&
00085 ) const;
00086
00092 bool addDOMforConsumerName
00093 (
00094 stor::XHTMLMaker& maker,
00095 stor::XHTMLMaker::Node* tableRow,
00096 const std::string& consumerName
00097 ) const;
00098
00099
00100
00101 ConsumerWebPageHelper(ConsumerWebPageHelper const&);
00102 ConsumerWebPageHelper& operator=(ConsumerWebPageHelper const&);
00103
00104 xdaq::ApplicationDescriptor* appDescriptor_;
00105
00106 };
00107
00108 }
00109
00110 #endif // EventFilter_StorageManager_ConsumerWebPageHelper_h
00111
00112