]> git.donarmstrong.com Git - mothur.git/blob - commandfactory.hpp
added set.logfile command
[mothur.git] / commandfactory.hpp
1 #ifndef COMMANDFACTORY_HPP\r
2 #define COMMANDFACTORY_HPP\r
3 \r
4 /*\r
5  *  commandfactory.h\r
6  *  \r
7  *\r
8  *  Created by Pat Schloss on 10/25/08.\r
9  *  Copyright 2008 Patrick D. Schloss. All rights reserved.\r
10  *\r
11  */\r
12 \r
13 #include "mothur.h"\r
14 #include "mothurout.h"\r
15 \r
16 class Command;\r
17 \r
18 class CommandFactory {\r
19 public:\r
20         static CommandFactory* getInstance();\r
21         Command* getCommand(string, string);\r
22         Command* getCommand();\r
23         bool isValidCommand(string);\r
24         void printCommands(ostream&);\r
25         void setOutputDirectory(string o)               {       outputDir = o;          }\r
26         void setInputDirectory(string i)                {       inputDir = i;           }\r
27         void setLogfileName(string n, bool a)   {       logFileName = n;  append = a;           }\r
28         string getLogfileName()                                 {       return logFileName;     }\r
29         bool getAppend()                                                {       return append;                  }\r
30         string getOutputDir()                                   {       return outputDir;               }\r
31         bool MPIEnabled(string);\r
32 \r
33 private:\r
34         Command* command;\r
35         MothurOut* m;\r
36         map<string, string> commands;\r
37         map<string, string>::iterator it;\r
38         string outputDir, inputDir, logFileName;\r
39         bool append;\r
40         \r
41         static CommandFactory* _uniqueInstance;\r
42         CommandFactory( const CommandFactory& ); // Disable copy constructor\r
43         void operator=( const CommandFactory& ); // Disable assignment operator\r
44         CommandFactory();\r
45         ~CommandFactory();\r
46 \r
47 };\r
48 \r
49 #endif\r