00001 // $Id: AlgDecorators.h,v 1.2 2005/11/08 16:31:03 mato Exp $ 00002 // ============================================================================ 00003 #ifndef GAUDIPYTHON_ALGDECORATORS_H 00004 #define GAUDIPYTHON_ALGDECORATORS_H 1 00005 // ============================================================================ 00006 // Include files 00007 // ============================================================================ 00008 // STD & STL 00009 // ============================================================================ 00010 #include <string> 00011 // ============================================================================ 00012 // GaudiAlg 00013 // ============================================================================ 00014 #include "GaudiAlg/GaudiAlgorithm.h" 00015 // ============================================================================ 00016 // GaudiPython 00017 // ============================================================================ 00018 #include "GaudiPython/GaudiPython.h" 00019 // ============================================================================ 00020 // forward declarations 00021 // ============================================================================ 00022 class IInterface ; 00023 class IAlgTool ; 00024 class GaudiAlgorithm ; 00025 // ============================================================================ 00026 00035 namespace GaudiPython 00036 { 00037 00044 class AlgDecorator 00045 { 00046 public: 00055 static IAlgTool* tool_ 00056 ( const GaudiAlgorithm* alg , 00057 const std::string& type , 00058 const std::string& name , 00059 const IInterface* parent = 0 , 00060 const bool create = true ) ; 00061 00069 static IAlgTool* tool_ 00070 ( const GaudiAlgorithm* alg , 00071 const std::string& typeAndName , 00072 const IInterface* parent = 0 , 00073 const bool create = true ) ; 00074 00081 static IInterface* svc_ 00082 ( const GaudiAlgorithm* alg , 00083 const std::string& name , 00084 const bool create = false ) ; 00085 00086 }; 00087 00088 00089 }; // end of namespace GaudiPython 00090 00091 #endif // GAUDIPYTHON_ALGDECORATORS_H