CMS 3D CMS Logo

Public Member Functions | Protected Attributes | Friends

evf::ServiceWeb Class Reference

#include <ServiceWeb.h>

Inheritance diagram for evf::ServiceWeb:
evf::Stepper FUShmDQMOutputService

List of all members.

Public Member Functions

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

Protected Attributes

std::string serviceName_

Friends

class ServiceWebRegistry

Detailed Description

Definition at line 16 of file ServiceWeb.h.


Constructor & Destructor Documentation

evf::ServiceWeb::ServiceWeb ( const std::string &  serviceName)

Definition at line 14 of file ServiceWeb.cc.

References serviceName_.

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

Definition at line 20 of file ServiceWeb.h.

{}

Member Function Documentation

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

Reimplemented in FUShmDQMOutputService, and evf::Stepper.

Definition at line 20 of file ServiceWeb.cc.

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

{
  using std::endl;
  std::string path;
  std::string urn;
  std::string mname;
  try 
    {
      cgicc::Cgicc cgi(in);
      if ( xgi::Utils::hasFormElement(cgi,"service") )
        mname = xgi::Utils::getFormElement(cgi, "service")->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>" << serviceName_
       << " 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>" << serviceName_
       << " 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;
}
std::string const& evf::ServiceWeb::name ( ) const [inline]

Definition at line 24 of file ServiceWeb.h.

References serviceName_.

{ return serviceName_;}
virtual void evf::ServiceWeb::publish ( xdata::InfoSpace *  ) [pure virtual]

Implemented in FUShmDQMOutputService, and evf::Stepper.

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

Definition at line 23 of file ServiceWeb.h.

{};

Friends And Related Function Documentation

friend class ServiceWebRegistry [friend]

Definition at line 28 of file ServiceWeb.h.


Member Data Documentation

std::string evf::ServiceWeb::serviceName_ [protected]

Definition at line 26 of file ServiceWeb.h.

Referenced by evf::Stepper::defaultWebPage(), defaultWebPage(), name(), and ServiceWeb().