1 
2 
3 #include "tfarmexecutor.h"
4 #include <QStringList>
5 //------------------------------------------------------------------------------
6 
TFarmExecutor(int port)7 TFarmExecutor::TFarmExecutor(int port) : TTcpIpServer(port) {}
8 
9 //------------------------------------------------------------------------------
10 
extractArgs(const QString & s,std::vector<QString> & argv)11 static int extractArgs(const QString &s, std::vector<QString> &argv) {
12   argv.clear();
13   if (s == "") return 0;
14 
15   QStringList sl = s.split(',');
16   int i;
17   for (i = 0; i < sl.size(); i++) argv.push_back(sl.at(i));
18 
19   return argv.size();
20 }
21 
22 //------------------------------------------------------------------------------
23 
onReceive(int socket,const QString & data)24 void TFarmExecutor::onReceive(int socket, const QString &data) {
25   QString reply;
26 
27   try {
28     std::vector<QString> argv;
29     extractArgs(data, argv);
30     reply = execute(argv);
31   } catch (...) {
32   }
33 
34   sendReply(socket, reply);
35 }
36