CMS 3D CMS Logo

evf::ModuleWeb Class Reference

#include <EventFilter/Utilities/interface/ModuleWeb.h>

Inheritance diagram for evf::ModuleWeb:

dqm::daq::FEDMonitorClient EcalBarrelMonitorClient EcalEndcapMonitorClient edm::DaqSource evf::ExceptionGenerator SiPixelEDAClient SiStripAnalyser

List of all members.

Public Member Functions

virtual void defaultWebPage (xgi::Input *in, xgi::Output *out)
 ModuleWeb (const std::string &)
virtual void publish (xdata::InfoSpace *)=0
virtual void publishToXmas (xdata::InfoSpace *)
virtual ~ModuleWeb ()

Protected Attributes

std::string moduleName_

Private Member Functions

virtual void closeBackDoor ()
virtual void openBackDoor (unsigned int timeout_sec=0)

Friends

class ModuleWebRegistry


Detailed Description

Definition at line 16 of file ModuleWeb.h.


Constructor & Destructor Documentation

evf::ModuleWeb::ModuleWeb ( const std::string &  moduleName  ) 

Definition at line 14 of file ModuleWeb.cc.

References moduleName_.

00014                                                 : moduleName_(moduleName)
00015 {
00016   if(edm::Service<ModuleWebRegistry>())
00017     edm::Service<ModuleWebRegistry>()->registerWeb(moduleName_, this);
00018 }

virtual evf::ModuleWeb::~ModuleWeb (  )  [inline, virtual]

Definition at line 20 of file ModuleWeb.h.

00020 {}


Member Function Documentation

virtual void evf::ModuleWeb::closeBackDoor (  )  [inline, private, virtual]

Reimplemented in edm::DaqSource.

Definition at line 28 of file ModuleWeb.h.

00028 {};

void evf::ModuleWeb::defaultWebPage ( xgi::Input *  in,
xgi::Output *  out 
) [virtual]

Reimplemented in EcalBarrelMonitorClient, EcalEndcapMonitorClient, dqm::daq::FEDMonitorClient, SiPixelEDAClient, SiStripAnalyser, and evf::ExceptionGenerator.

Definition at line 20 of file ModuleWeb.cc.

References e, lat::endl(), exception, moduleName_, and path().

00021 {
00022   using std::endl;
00023   std::string path;
00024   std::string urn;
00025   std::string mname;
00026   try 
00027     {
00028       cgicc::Cgicc cgi(in);
00029       if ( xgi::Utils::hasFormElement(cgi,"module") )
00030         mname = xgi::Utils::getFormElement(cgi, "module")->getValue();
00031       cgicc::CgiEnvironment cgie(in);
00032       urn = cgie.getReferrer();
00033       path = cgie.getPathInfo() + "?" + cgie.getQueryString();
00034       
00035     }
00036   catch (const std::exception & e) 
00037     {
00038       // don't care if it did not work
00039     }
00040   
00041 
00042   *out << "<html>"                                                   << endl;
00043   *out << "<head>"                                                   << endl;
00044 
00045   *out << "<STYLE type=\"text/css\"> #T1 {border-width: 2px; border: solid blue; text-align: center} </STYLE> "
00046        << endl; 
00047   *out << "<link type=\"text/css\" rel=\"stylesheet\"";
00048   *out << " href=\"/" <<  urn
00049        << "/styles.css\"/>"                   << endl;
00050 
00051   *out << "<title>" << moduleName_
00052        << " MAIN</title>"                                            << endl;
00053 
00054   *out << "</head>"                                                  << endl;
00055   *out << "<body onload=\"loadXMLDoc()\">"                           << endl;
00056   *out << "<table border=\"0\" width=\"100%\">"                      << endl;
00057   *out << "<tr>"                                                     << endl;
00058   *out << "  <td align=\"left\">"                                    << endl;
00059   *out << "    <img"                                                 << endl;
00060   *out << "     align=\"middle\""                                    << endl;
00061   *out << "     src=\"/evf/images/epicon.jpg\""                      << endl;
00062   *out << "     alt=\"main\""                                        << endl;
00063   *out << "     width=\"64\""                                        << endl;
00064   *out << "     height=\"64\""                                       << endl;
00065   *out << "     border=\"\"/>"                                       << endl;
00066   *out << "    <b>"                                                  << endl;
00067   *out << "<title>" << moduleName_
00068        << " MAIN</title>"                                            << endl;
00069   *out << "    </b>"                                                 << endl;
00070   *out << "  </td>"                                                  << endl;
00071   *out << "  <td width=\"32\">"                                      << endl;
00072   *out << "    <a href=\"/urn:xdaq-application:lid=3\">"             << endl;
00073   *out << "      <img"                                               << endl;
00074   *out << "       align=\"middle\""                                  << endl;
00075   *out << "       src=\"/hyperdaq/images/HyperDAQ.jpg\""             << endl;
00076   *out << "       alt=\"HyperDAQ\""                                  << endl;
00077   *out << "       width=\"32\""                                      << endl;
00078   *out << "       height=\"32\""                                     << endl;
00079   *out << "       border=\"\"/>"                                     << endl;
00080   *out << "    </a>"                                                 << endl;
00081   *out << "  </td>"                                                  << endl;
00082   *out << "  <td width=\"32\">"                                      << endl;
00083   *out << "  </td>"                                                  << endl;
00084   *out << "  <td width=\"32\">"                                      << endl;
00085   *out << "    <a href=\"/" << urn 
00086        << "\">"                                                      << endl;
00087   *out << "      <img"                                               << endl;
00088   *out << "       align=\"middle\""                                  << endl;
00089   *out << "       src=\"/evf/images/epicon.jpg\""                    << endl;
00090   *out << "       alt=\"main\""                                      << endl;
00091   *out << "       width=\"32\""                                      << endl;
00092   *out << "       height=\"32\""                                     << endl;
00093   *out << "       border=\"\"/>"                                     << endl;
00094   *out << "    </a>"                                                 << endl;
00095   *out << "  </td>"                                                  << endl;
00096   *out << "</tr>"                                                    << endl;
00097   *out << "</table>"                                                 << endl;
00098 
00099   *out << "<hr/>"                                                    << endl;
00100 
00101   *out << "</body>"                                                  << endl;
00102   *out << "</html>"                                                  << endl;
00103 }

virtual void evf::ModuleWeb::openBackDoor ( unsigned int  timeout_sec = 0  )  [inline, private, virtual]

Reimplemented in edm::DaqSource.

Definition at line 27 of file ModuleWeb.h.

00027 {};

virtual void evf::ModuleWeb::publish ( xdata::InfoSpace *   )  [pure virtual]

Implemented in EcalBarrelMonitorClient, EcalEndcapMonitorClient, dqm::daq::FEDMonitorClient, SiPixelEDAClient, SiStripAnalyser, evf::ExceptionGenerator, and edm::DaqSource.

virtual void evf::ModuleWeb::publishToXmas ( xdata::InfoSpace *   )  [inline, virtual]

Reimplemented in edm::DaqSource.

Definition at line 23 of file ModuleWeb.h.

00023 {};


Friends And Related Function Documentation

friend class ModuleWebRegistry [friend]

Definition at line 28 of file ModuleWeb.h.


Member Data Documentation

std::string evf::ModuleWeb::moduleName_ [protected]

Definition at line 23 of file ModuleWeb.h.

Referenced by defaultWebPage(), evf::ExceptionGenerator::defaultWebPage(), and ModuleWeb().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:46:49 2009 for CMSSW by  doxygen 1.5.4