00001 // $Header: /local/reps/Gaudi/GaudiKernel/GaudiKernel/IOpaqueAddress.h,v 1.6 2006/11/30 15:22:07 dquarrie Exp $ 00002 #ifndef GAUDIKERNEL_IOPAQUEADDRESS_H 00003 #define GAUDIKERNEL_IOPAQUEADDRESS_H 00004 00005 // STL include files 00006 #include <string> 00007 00008 // Experiment specific include files 00009 #include "GaudiKernel/Kernel.h" 00010 #include "GaudiKernel/ClassID.h" 00011 00012 // forward declarations 00013 class IRegistry; 00014 00024 class IOpaqueAddress { 00025 public: 00026 00028 virtual ~IOpaqueAddress() { } 00029 00031 virtual unsigned long addRef () = 0; 00033 virtual unsigned long release () = 0; 00035 virtual const CLID& clID () const = 0; 00037 virtual long svcType () const = 0; 00039 virtual IRegistry* registry () const = 0; 00041 virtual void setRegistry(IRegistry* r) = 0; 00043 virtual const std::string* par () const = 0; 00045 virtual const unsigned long* ipar () const = 0; 00046 }; 00047 #endif // GAUDIKERNEL_IOPAQUEADDRESS_H