00001 #ifndef GAUDIKERNEL_IREGISTRY_H 00002 #define GAUDIKERNEL_IREGISTRY_H 00003 00004 // Include files 00005 #include <string> 00006 00007 // forward declarations 00008 class DataObject; 00009 class IOpaqueAddress; 00010 class IDataProviderSvc; 00011 00021 class IRegistry { 00022 public: 00025 typedef std::string name_type; 00027 typedef std::string id_type; 00028 00030 virtual ~IRegistry() { } 00031 00033 virtual unsigned long addRef () = 0; 00034 00036 virtual unsigned long release () = 0; 00037 00039 virtual const name_type& name () const = 0; 00040 00042 virtual const id_type& identifier() const = 0; 00043 00045 virtual IDataProviderSvc* dataSvc () const = 0; 00046 00048 virtual DataObject* object () const = 0; 00049 00051 virtual IOpaqueAddress* address () const = 0; 00052 00054 virtual void setAddress (IOpaqueAddress* pAddress) = 0; 00055 }; 00056 #endif // KERNEL_IREGISTRY_H