| # Gaudi Framework, version v21r9 |

Home |  | Generated: 3 May 2010

# IFactory.h

Go to the documentation of this file.

    00001 // $Header: /tmp/svngaudi/tmp.jEpFh25751/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
    00017 class GAUDI_API IFactory: virtual public IInterface {
    00018 public:
    00020   DeclareInterfaceID(IFactory,2,0);
    00021
    00023   virtual IInterface* instantiate( IInterface *parent ) const = 0;
    00024   virtual unsigned long addRef()   const = 0;
    00025   virtual unsigned long release()   const = 0;
    00026
    00030   virtual unsigned long addRef() = 0;
    00032   virtual unsigned long release() = 0;
    00033
    00034   virtual const std::string& ident() const = 0;
    00035
    00036 };
    00037
    00038 #endif // GAUDIKERNEL_IFACTORY_H