Mercurial > hg > aimc
annotate src/Support/ModuleFactory.h @ 23:491b1b1d1dc5
-Added AIMCopy, a replacement for HTK's HCopy
-Set "Id" keyword on all .cc, .h and .py files
-Added FileList class to aupport AIMCopy
-Added a first go at a Module factory class. It's not to be used at the moment, but it will serve as a reminder to implement a proper factory soon.
author | tomwalters |
---|---|
date | Tue, 23 Feb 2010 12:47:01 +0000 |
parents | |
children | c5f5e9569863 |
rev | line source |
---|---|
tomwalters@23 | 1 // Copyright 2008-2010, Thomas Walters |
tomwalters@23 | 2 // |
tomwalters@23 | 3 // AIM-C: A C++ implementation of the Auditory Image Model |
tomwalters@23 | 4 // http://www.acousticscale.org/AIMC |
tomwalters@23 | 5 // |
tomwalters@23 | 6 // This program is free software: you can redistribute it and/or modify |
tomwalters@23 | 7 // it under the terms of the GNU General Public License as published by |
tomwalters@23 | 8 // the Free Software Foundation, either version 3 of the License, or |
tomwalters@23 | 9 // (at your option) any later version. |
tomwalters@23 | 10 // |
tomwalters@23 | 11 // This program is distributed in the hope that it will be useful, |
tomwalters@23 | 12 // but WITHOUT ANY WARRANTY; without even the implied warranty of |
tomwalters@23 | 13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
tomwalters@23 | 14 // GNU General Public License for more details. |
tomwalters@23 | 15 // |
tomwalters@23 | 16 // You should have received a copy of the GNU General Public License |
tomwalters@23 | 17 // along with this program. If not, see <http://www.gnu.org/licenses/>. |
tomwalters@23 | 18 |
tomwalters@23 | 19 /*! \file |
tomwalters@23 | 20 * \brief Factory class for AIM-C modules. |
tomwalters@23 | 21 */ |
tomwalters@23 | 22 |
tomwalters@23 | 23 /*! \author: Thomas Walters <tom@acousticscale.org> |
tomwalters@23 | 24 * \date 2010/02/23 |
tomwalters@23 | 25 * \version \$Id$ |
tomwalters@23 | 26 */ |
tomwalters@23 | 27 |
tomwalters@23 | 28 #ifndef AIMC_SUPPORT_MODULE_FACTORY_H_ |
tomwalters@23 | 29 #define AIMC_SUPPORT_MODULE_FACTORY_H_ |
tomwalters@23 | 30 |
tomwalters@23 | 31 #include <string> |
tomwalters@23 | 32 |
tomwalters@23 | 33 #include "Support/Module.h" |
tomwalters@23 | 34 #include "Support/Parameters.h" |
tomwalters@23 | 35 |
tomwalters@23 | 36 namespace aimc { |
tomwalters@23 | 37 /*! \brief Factory class for AIM-C modules. |
tomwalters@23 | 38 * |
tomwalters@23 | 39 * This class is the basis for a more complete module registration scheme to |
tomwalters@23 | 40 * be implemented in future. For now, all modules which are created have to |
tomwalters@23 | 41 * be added to this class individually. The goal is to eventally replace this |
tomwalters@23 | 42 * with a REGISTER_MODULE macro which can be added to the header file for |
tomwalters@23 | 43 * every module. |
tomwalters@23 | 44 */ |
tomwalters@23 | 45 |
tomwalters@23 | 46 class ModuleFactory { |
tomwalters@23 | 47 public: |
tomwalters@23 | 48 static Module* Create(string module_name_, Parameters *params); |
tomwalters@23 | 49 private: |
tomwalters@23 | 50 DISALLOW_COPY_AND_ASSIGN(ModuleFactory); |
tomwalters@23 | 51 }; |
tomwalters@23 | 52 } |
tomwalters@23 | 53 |
tomwalters@23 | 54 #endif // AIMC_SUPPORT_MODULE_FACTORY_H_ |