00001 #ifndef EVF_MODULEWEB_H 00002 #define EVF_MODULEWEB_H 00003 00004 #include "toolbox/lang/Class.h" 00005 #include "xdata/InfoSpace.h" 00006 #include <string> 00007 00008 namespace xgi{ 00009 class Input; 00010 class Output; 00011 } 00012 00013 00014 namespace evf 00015 { 00016 class ModuleWeb : public toolbox::lang::Class 00017 { 00018 public: 00019 ModuleWeb(const std::string &); 00020 virtual ~ModuleWeb(){} 00021 virtual void defaultWebPage(xgi::Input *in, xgi::Output *out); 00022 virtual void publish(xdata::InfoSpace *) = 0; 00023 virtual void publishToXmas(xdata::InfoSpace *){}; 00024 protected: 00025 std::string moduleName_; 00026 private: 00027 virtual void openBackDoor(unsigned int timeout_sec = 0){}; 00028 virtual void closeBackDoor(){}; 00029 friend class ModuleWebRegistry; 00030 }; 00031 } 00032 #endif