CMS 3D CMS Logo

evf::ServiceWebRegistry Class Reference

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

List of all members.

Public Member Functions

std::vector< ServiceWeb * > getWebs ()
void invoke (xgi::Input *, xgi::Output *, const std::string &)
void publish (xdata::InfoSpace *)
void registerWeb (std::string &name, ServiceWeb *cl)
 ServiceWebRegistry (const edm::ParameterSet &)

Private Types

typedef std::map< std::string,
ServiceWeb * > 
dct
typedef dct::iterator idct

Private Member Functions

void clear ()

Private Attributes

dct clm_

Friends

class FUEventProcessor


Detailed Description

Definition at line 27 of file ServiceWebRegistry.h.


Member Typedef Documentation

typedef std::map<std::string, ServiceWeb*> evf::ServiceWebRegistry::dct [private]

Definition at line 46 of file ServiceWebRegistry.h.

typedef dct::iterator evf::ServiceWebRegistry::idct [private]

Definition at line 47 of file ServiceWebRegistry.h.


Constructor & Destructor Documentation

evf::ServiceWebRegistry::ServiceWebRegistry ( const edm::ParameterSet ps  ) 

Definition at line 7 of file ServiceWebRegistry.cc.

References GenMuonPlsPt100GeV_cfg::cout, lat::endl(), and int.

00007                                                                {
00008   std::cout << "Service registry constructor at " << std::hex << (unsigned int) this << std::dec << std::endl;
00009 }


Member Function Documentation

void evf::ServiceWebRegistry::clear ( void   )  [private]

Definition at line 54 of file ServiceWebRegistry.cc.

References clm_, GenMuonPlsPt100GeV_cfg::cout, lat::endl(), and int.

Referenced by evf::FUEventProcessor::halting().

00055 {
00056   std::cout << "Service registry clear for " << std::hex << (unsigned int) this << std::dec << std::endl; 
00057   clm_.clear();
00058 }

std::vector< ServiceWeb * > evf::ServiceWebRegistry::getWebs (  ) 

Definition at line 13 of file ServiceWebRegistry.cc.

References clm_, GenMuonPlsPt100GeV_cfg::cout, lat::endl(), i, and int.

Referenced by evf::FUEventProcessor::defaultWebPage().

00014 {
00015   std::cout << " service web registry " << std::hex << (unsigned int) this << std::dec 
00016             << " has " << clm_.size() << " services registered " << std::endl;
00017   std::vector<ServiceWeb*> retval;
00018   for(idct i = clm_.begin(); i != clm_.end(); i++)
00019     {
00020       std::cout << "service " << (*i).first << " has web " << std::endl;
00021       retval.push_back((*i).second);
00022     }
00023   return retval;
00024 }

void evf::ServiceWebRegistry::invoke ( xgi::Input *  in,
xgi::Output *  out,
const std::string &  name 
)

Definition at line 27 of file ServiceWebRegistry.cc.

References clm_, GenMuonPlsPt100GeV_cfg::cout, lat::endl(), and i.

00028 {
00029   idct i = clm_.find(name);
00030   if(i != clm_.end())
00031     {
00032       try{
00033         (*i).second->defaultWebPage(in,out);
00034       }
00035       catch(...)
00036         {
00037           std::cout << "exception caught when calling serviceweb page for " << name << std::endl;
00038         }
00039     }
00040 }

void evf::ServiceWebRegistry::publish ( xdata::InfoSpace *  is  ) 

Definition at line 43 of file ServiceWebRegistry.cc.

References clm_, and i.

Referenced by evf::FUEventProcessor::initEventProcessor().

00044 {
00045     idct i = clm_.begin();
00046     while (i != clm_.end())
00047       {
00048         (*i).second->publish(is);
00049         i++;
00050       }
00051 
00052 }

void evf::ServiceWebRegistry::registerWeb ( std::string &  name,
ServiceWeb cl 
) [inline]

Definition at line 32 of file ServiceWebRegistry.h.

References clm_, GenMuonPlsPt100GeV_cfg::cout, lat::endl(), and int.

00033         {
00034           std::cout << "**********registering " << name << " to service web registry " 
00035                     << std::hex << (unsigned int) this << std::dec << std::endl;
00036           clm_.insert(std::pair<std::string, ServiceWeb*>(name,cl));
00037           std::cout << "**********registry size now " << clm_.size() << std::endl;
00038           // CAN ONLY BIND TO xdaq::Application methods...
00039           //      xgi::bind(cl, func, name);  
00040         } 


Friends And Related Function Documentation

friend class FUEventProcessor [friend]

Definition at line 50 of file ServiceWebRegistry.h.


Member Data Documentation

dct evf::ServiceWebRegistry::clm_ [private]

Definition at line 49 of file ServiceWebRegistry.h.

Referenced by clear(), getWebs(), invoke(), publish(), and registerWeb().


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