CMS 3D CMS Logo

Public Member Functions | Protected Attributes | Private Member Functions | Friends

evf::ModuleWeb Class Reference

#include <ModuleWeb.h>

Inheritance diagram for evf::ModuleWeb:
EcalBarrelMonitorXdaqClient EcalEndcapMonitorXdaqClient 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_.

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

Definition at line 20 of file ModuleWeb.h.

{}

Member Function Documentation

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

Reimplemented in edm::DaqSource.

Definition at line 28 of file ModuleWeb.h.

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

Reimplemented in EcalBarrelMonitorXdaqClient, EcalEndcapMonitorXdaqClient, SiPixelEDAClient, SiStripAnalyser, evf::ExceptionGenerator, and edm::DaqSource.

Definition at line 20 of file ModuleWeb.cc.

References ExpressReco_HICollisions_FallBack::e, exception, moduleName_, and path().

{
  using std::endl;
  std::string path;
  std::string urn;
  std::string mname;
  try 
    {
      cgicc::Cgicc cgi(in);
      if ( xgi::Utils::hasFormElement(cgi,"module") )
        mname = xgi::Utils::getFormElement(cgi, "module")->getValue();
      cgicc::CgiEnvironment cgie(in);
      urn = cgie.getReferrer();
      path = cgie.getPathInfo() + "?" + cgie.getQueryString();
      
    }
  catch (const std::exception & e) 
    {
      // don't care if it did not work
    }
  

  *out << "<html>"                                                   << endl;
  *out << "<head>"                                                   << endl;

  *out << "<STYLE type=\"text/css\"> #T1 {border-width: 2px; border: solid blue; text-align: center} </STYLE> "
       << endl; 
  *out << "<link type=\"text/css\" rel=\"stylesheet\"";
  *out << " href=\"/" <<  urn
       << "/styles.css\"/>"                   << endl;

  *out << "<title>" << moduleName_
       << " MAIN</title>"                                            << endl;

  *out << "</head>"                                                  << endl;
  *out << "<body onload=\"loadXMLDoc()\">"                           << endl;
  *out << "<table border=\"0\" width=\"100%\">"                      << endl;
  *out << "<tr>"                                                     << endl;
  *out << "  <td align=\"left\">"                                    << endl;
  *out << "    <img"                                                 << endl;
  *out << "     align=\"middle\""                                    << endl;
  *out << "     src=\"/evf/images/epicon.jpg\""                      << endl;
  *out << "     alt=\"main\""                                        << endl;
  *out << "     width=\"64\""                                        << endl;
  *out << "     height=\"64\""                                       << endl;
  *out << "     border=\"\"/>"                                       << endl;
  *out << "    <b>"                                                  << endl;
  *out << "<title>" << moduleName_
       << " MAIN</title>"                                            << endl;
  *out << "    </b>"                                                 << endl;
  *out << "  </td>"                                                  << endl;
  *out << "  <td width=\"32\">"                                      << endl;
  *out << "    <a href=\"/urn:xdaq-application:lid=3\">"             << endl;
  *out << "      <img"                                               << endl;
  *out << "       align=\"middle\""                                  << endl;
  *out << "       src=\"/hyperdaq/images/HyperDAQ.jpg\""             << endl;
  *out << "       alt=\"HyperDAQ\""                                  << endl;
  *out << "       width=\"32\""                                      << endl;
  *out << "       height=\"32\""                                     << endl;
  *out << "       border=\"\"/>"                                     << endl;
  *out << "    </a>"                                                 << endl;
  *out << "  </td>"                                                  << endl;
  *out << "  <td width=\"32\">"                                      << endl;
  *out << "  </td>"                                                  << endl;
  *out << "  <td width=\"32\">"                                      << endl;
  *out << "    <a href=\"/" << urn 
       << "\">"                                                      << endl;
  *out << "      <img"                                               << endl;
  *out << "       align=\"middle\""                                  << endl;
  *out << "       src=\"/evf/images/epicon.jpg\""                    << endl;
  *out << "       alt=\"main\""                                      << endl;
  *out << "       width=\"32\""                                      << endl;
  *out << "       height=\"32\""                                     << endl;
  *out << "       border=\"\"/>"                                     << endl;
  *out << "    </a>"                                                 << endl;
  *out << "  </td>"                                                  << endl;
  *out << "</tr>"                                                    << endl;
  *out << "</table>"                                                 << endl;

  *out << "<hr/>"                                                    << endl;

  *out << "</body>"                                                  << endl;
  *out << "</html>"                                                  << endl;
}
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.

{};
virtual void evf::ModuleWeb::publish ( xdata::InfoSpace *  ) [pure virtual]
virtual void evf::ModuleWeb::publishToXmas ( xdata::InfoSpace *  ) [inline, virtual]

Reimplemented in edm::DaqSource.

Definition at line 23 of file ModuleWeb.h.

{};

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]