CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ServiceWebRegistry.h
Go to the documentation of this file.
1 #ifndef EVF_SERVICE_WEB_REGISTRY_H
2 #define EVF_SERVICE_WEB_REGISTRY_H
3 
4 #include <string>
5 #include <map>
6 #include <vector>
7 #include <iostream>
8 #include "xgi/Method.h"
9 #include "xdata/InfoSpace.h"
10 
11 namespace edm{
12  class ParameterSet;
13 }
14 
15 namespace xgi{
16  class Input;
17  class Output;
18 }
19 
20 namespace xdaq{
21  class Application;
22 }
23 
24 namespace evf
25 {
26  class ServiceWeb;
28  {
29  public:
31 
32  void registerWeb(std::string &name, ServiceWeb *cl)
33  {
34  std::cout << "**********registering " << name << " to service web registry "
35  << std::hex << (unsigned long) this << std::dec << std::endl;
36  clm_.insert(std::pair<std::string, ServiceWeb*>(name,cl));
37  std::cout << "**********registry size now " << clm_.size() << std::endl;
38  // CAN ONLY BIND TO xdaq::Application methods...
39  // xgi::bind(cl, func, name);
40  }
41  void invoke(xgi::Input *, xgi::Output *, const std::string &);
42  void publish(xdata::InfoSpace *);
43  std::vector<ServiceWeb *> getWebs();
44 
45  private:
46  typedef std::map<std::string, ServiceWeb*> dct;
47  typedef dct::iterator idct;
48  void clear();
50  friend class FWEPWrapper;
51  };
52 }
53 #endif
54 
std::vector< ServiceWeb * > getWebs()
#define Input(cl)
Definition: vmac.h:189
void registerWeb(std::string &name, ServiceWeb *cl)
ServiceWebRegistry(const edm::ParameterSet &)
void publish(xdata::InfoSpace *)
float cl
Definition: Combine.cc:71
std::map< std::string, ServiceWeb * > dct
#define Output(cl)
Definition: vmac.h:193
tuple cout
Definition: gather_cfg.py:121
void invoke(xgi::Input *, xgi::Output *, const std::string &)