00001
00002 #ifndef GAUDIKERNEL_IADDRESSCREATOR_H
00003 #define GAUDIKERNEL_IADDRESSCREATOR_H
00004
00005
00006 #include "GaudiKernel/IInterface.h"
00007 #include "GaudiKernel/ClassID.h"
00008
00009
00010 #include <string>
00011
00012
00013 class IOpaqueAddress;
00014
00015
00016 static const InterfaceID IID_IAddressCreator(9, 2 , 0);
00017
00032 class IAddressCreator : virtual public IInterface {
00033 public:
00034
00036 static const InterfaceID& interfaceID() { return IID_IAddressCreator; }
00037
00052 virtual StatusCode createAddress( long svc_type,
00053 const CLID& clid,
00054 const std::string* par,
00055 const unsigned long* ipar,
00056 IOpaqueAddress*& refpAddress) = 0;
00057
00063 virtual StatusCode convertAddress( const IOpaqueAddress* pAddress,
00064 std::string& refAddress) = 0;
00065
00075 virtual StatusCode createAddress( long svc_type,
00076 const CLID& clid,
00077 const std::string& refAddress,
00078 IOpaqueAddress*& refpAddress) = 0;
00079 };
00080
00081 #endif // GAUDIKERNEL_IADDRESSCREATOR_H