| # Gaudi Framework, version v20r3
Generated: 24 Nov 2008

# IFactory.h

Go to the documentation of this file.

    00001 // $Header: /local/reps/Gaudi/GaudiKernel/GaudiKernel/IFactory.h,v 1.4 2001/02/23 16:12:10 dquarrie Exp $
    00002 #ifndef GAUDIKERNEL_IFACTORY_H
    00003 #define GAUDIKERNEL_IFACTORY_H
    00004
    00005 // Include files
    00006 #include "GaudiKernel/IInterface.h"
    00007 #include <string>
    00008 #include <vector>
    00009
    00010
    00011 // Declaration of the interface ID ( interface id, major version, minor version)
    00012 static const InterfaceID IID_IFactory(104, 1 , 0);
    00013
    00021 class IFactory : virtual public  IInterface  {
    00022 public:
    00024   static const InterfaceID& interfaceID() { return IID_IFactory; }
    00026   virtual IInterface* instantiate( IInterface *parent ) const = 0;
    00027   virtual unsigned long addRef()   const = 0;
    00028   virtual unsigned long release()   const = 0;
    00029
    00033   virtual unsigned long addRef() = 0;
    00035   virtual unsigned long release() = 0;
    00036
    00037   virtual const std::string& ident() const = 0;
    00038
    00039 };
    00040
    00041 #endif // GAUDIKERNEL_IFACTORY_H