SimulatorMaker.hpp

00001 //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
00002 //
00003 //        This file is part of E-Cell Simulation Environment package
00004 //
00005 //                Copyright (C) 1996-2002 Keio University
00006 //
00007 //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
00008 //
00009 //
00010 // E-Cell is free software; you can redistribute it and/or
00011 // modify it under the terms of the GNU General Public
00012 // License as published by the Free Software Foundation; either
00013 // version 2 of the License, or (at your option) any later version.
00014 // 
00015 // E-Cell is distributed in the hope that it will be useful,
00016 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00017 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00018 // See the GNU General Public License for more details.
00019 // 
00020 // You should have received a copy of the GNU General Public
00021 // License along with E-Cell -- see the file COPYING.
00022 // If not, write to the Free Software Foundation, Inc.,
00023 // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00024 // 
00025 //END_HEADER
00026 //
00027 // written by Koichi Takahashi <shafi@e-cell.org>,
00028 // E-Cell Project.
00029 //
00030 
00031 
00032 #ifndef __SIMULATORMAKER_HPP
00033 #define __SIMULATORMAKER_HPP
00034 #include "Simulator.hpp"
00035 //FIXME: should be dmtool/ModuleMaker.hpp
00036 #include "ModuleMaker.hpp"
00037 
00038 namespace libemc
00039 {
00040 
00041   /** @defgroup libemc_module The Libemc Module 
00042    * This is the libemc module 
00043    * @{ 
00044    */ 
00045   
00046   class SimulatorMaker : public SharedModuleMaker<Simulator>
00047   {
00048   private:
00049 
00050   protected:
00051 
00052   public:
00053 
00054     SimulatorMaker();
00055     Simulator* make( libecs::StringCref classname );
00056     void install( libecs::StringCref systementry );
00057 
00058     virtual const char* const className() const {return "SimulatorMaker";}
00059   };
00060 
00061 #define NewSimulatorModule(CLASS) NewDynamicModule(Simulator,CLASS)
00062 
00063   /** @} */ //end of libemc_module 
00064 
00065 } // namespace libemc
00066 
00067 #endif /* __SIMULATORMAKER_HPP */
00068 

Generated on Mon Dec 18 07:29:46 2006 for E-CELL C++ libraries (libecs and libemc) 3.1.105 by  doxygen 1.5.1