CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ModuleWebRegistry.h
Go to the documentation of this file.
1 #ifndef EVF_MODULE_WEB_REGISTRY_H
2 #define EVF_MODULE_WEB_REGISTRY_H
3 
4 #include <string>
5 #include <map>
6 #include <list>
7 #include "xgi/Method.h"
8 #include "xdata/InfoSpace.h"
9 
10 namespace edm{
11  class ParameterSet;
12 }
13 
14 namespace xgi{
15  class Input;
16  class Output;
17 }
18 
19 namespace xdaq{
20  class Application;
21 }
22 
23 namespace evf
24 {
25  class ModuleWeb;
27  {
28  public:
30 
31  void registerWeb(std::string &name, ModuleWeb *cl)
32  {
33  clm_.insert(std::pair<std::string, ModuleWeb*>(name,cl));
34  // CAN ONLY BIND TO xdaq::Application methods...
35  // xgi::bind(cl, func, name);
36  }
37  void invoke(xgi::Input *, xgi::Output *, const std::string &);
38  void publish(xdata::InfoSpace *);
39  void publishToXmas(xdata::InfoSpace *);
40  bool checkWeb(const std::string &);
41 
42  private:
43  typedef std::map<std::string, ModuleWeb*> dct;
44  typedef dct::iterator idct;
45  void openBackDoor(const std::string &, unsigned int timeout_sec = 0);
46  void closeBackDoor(const std::string &);
47  void clear();
49  friend class FWEPWrapper;
50  };
51 }
52 #endif
53 
#define Input(cl)
Definition: vmac.h:189
bool checkWeb(const std::string &)
std::map< std::string, ModuleWeb * > dct
void openBackDoor(const std::string &, unsigned int timeout_sec=0)
void publish(xdata::InfoSpace *)
void registerWeb(std::string &name, ModuleWeb *cl)
ModuleWebRegistry(const edm::ParameterSet &)
void closeBackDoor(const std::string &)
#define Output(cl)
Definition: vmac.h:193
void invoke(xgi::Input *, xgi::Output *, const std::string &)
void publishToXmas(xdata::InfoSpace *)