00001 #ifndef EVF_SERVICEWEB_H 00002 #define EVF_SERVICEWEB_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 ServiceWeb : public toolbox::lang::Class 00017 { 00018 public: 00019 ServiceWeb(const std::string &); 00020 virtual ~ServiceWeb(){} 00021 virtual void defaultWebPage(xgi::Input *in, xgi::Output *out); 00022 virtual void publish(xdata::InfoSpace *) = 0; 00023 virtual void publishToXmas(xdata::InfoSpace *){}; 00024 std::string const &name()const { return serviceName_;} 00025 protected: 00026 std::string serviceName_; 00027 private: 00028 friend class ServiceWebRegistry; 00029 }; 00030 } 00031 #endif