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  namespace moduleweb {
26  class ForkInfoObj;
27  }
28  class ModuleWeb;
30  {
31  public:
33 
34  void registerWeb(std::string &name, ModuleWeb *cl)
35  {
36  clm_.insert(std::pair<std::string, ModuleWeb*>(name,cl));
37  // CAN ONLY BIND TO xdaq::Application methods...
38  // xgi::bind(cl, func, name);
39  }
40  void invoke(xgi::Input *, xgi::Output *, const std::string &);
41  void publish(xdata::InfoSpace *);
42  void publishToXmas(xdata::InfoSpace *);
43  bool checkWeb(const std::string &);
44  void publishForkInfo(std::string name, moduleweb::ForkInfoObj *forkInfoObj);
45 
46  private:
47  typedef std::map<std::string, ModuleWeb*> dct;
48  typedef dct::iterator idct;
49  void openBackDoor(const std::string &, unsigned int timeout_sec = 0, bool * started = 0);
50  void closeBackDoor(const std::string &);
51  void clear();
53  friend class FWEPWrapper;
54  };
55 }
56 #endif
57 
#define Input(cl)
Definition: vmac.h:189
bool checkWeb(const std::string &)
void publishForkInfo(std::string name, moduleweb::ForkInfoObj *forkInfoObj)
std::map< std::string, ModuleWeb * > dct
void openBackDoor(const std::string &, unsigned int timeout_sec=0, bool *started=0)
void publish(xdata::InfoSpace *)
float cl
Definition: Combine.cc:71
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 *)