00001 #ifndef ServiceRegistry_hh_seen
00002 #define ServiceRegistry_hh_seen
00003 namespace neo {
00004 namespace cca {
00005 namespace ports {
00006
00007
00008
00014 class ServiceRegistry : public virtual neo::cca::Port
00015 {
00016 public:
00017
00018 virtual ~ServiceRegistry() {}
00019
00026 virtual bool addService(const std::string & type, ServiceProvider * portProvider)= 0;
00027
00031 virtual bool addSingletonService(const std::string & type, neo::cca::Port * service)= 0;
00032
00038 virtual void removeService(const std::string & serviceType)= 0;
00039
00040 };
00041
00042 }
00043 }
00044 }
00045
00046 #endif // ServiceRegistry_hh_seen