version 0.0.1
[fms.git] / src / commandthread.cpp
1 #include "../include/commandthread.h"\r
2 #include "../include/stringfunctions.h"\r
3 \r
4 #include <iostream>\r
5 \r
6 #ifdef XMEM\r
7         #include <xmem.h>\r
8 #endif\r
9 \r
10 void CommandThread::HandleHelpCommand()\r
11 {\r
12         std::cout << "Available Commands:" << std::endl;\r
13         std::cout << "QUIT              End program" << std::endl;\r
14 }\r
15 \r
16 void CommandThread::HandleInput(const std::string &input)\r
17 {\r
18         std::string command=input;\r
19         std::string argument="";\r
20         if(input.find(" ")!=std::string::npos)\r
21         {\r
22                 command=input.substr(0,input.find(" "));\r
23                 argument=input.substr(command.size()+1);\r
24         }\r
25         StringFunctions::UpperCase(command,command);\r
26         \r
27         if(command=="HELP")\r
28         {\r
29                 HandleHelpCommand();\r
30         }\r
31         else if(command=="QUIT")\r
32         {\r
33                 HandleQuit();\r
34         }\r
35         else\r
36         {\r
37                 std::cout << "Unknown command.  Type HELP for a list of available commands." << std::endl;\r
38         }\r
39         \r
40 }\r
41 \r
42 void CommandThread::HandleQuit()\r
43 {\r
44         m_running=false;        \r
45 }\r
46 \r
47 void CommandThread::run()\r
48 {\r
49         std::string input;\r
50         m_running=true;\r
51         \r
52         do\r
53         {\r
54                 std::cin >> input;\r
55                 \r
56                 HandleInput(input);\r
57                 \r
58         }while(m_running==true);\r
59         \r
60 }\r