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