1 #ifndef SZA_UTIL_TERMINALSERVER_H
2 #define SZA_UTIL_TERMINALSERVER_H
18 #include "carma/szautil/Runnable.h"
20 #include "carma/szautil/Vector.h"
31 class TerminalServer :
public Runnable {
43 TerminalServer(
unsigned baudRate, std::string serialPort,
bool spawnThread=
false);
48 TerminalServer(std::string ipAddress,
unsigned port,
bool spawnThread=
false);
53 virtual ~TerminalServer();
59 void listen(
unsigned port,
unsigned nClients = 5);
64 void listenToStdin(
bool listen);
74 void strip(std::string strip);
80 void dontStrip(std::string dontStrip);
85 void stripUnprintable(
bool strip);
90 void append(std::string append);
92 void setLogFilePrefix(
const std::string& prefix);
94 void setLogFileDirectory(
const std::string& dir);
106 bool waitingToHammer_;
108 std::list<std::string> hammers_;
110 std::list<std::string>::iterator hammerStep_;
114 struct timeval* timeOut_;
121 SignalTask* signalTask_;
142 TcpListener* listener_;
147 TcpClient* tcpipPort_;
148 SerialClient* serialPort_;
166 bool listeningToStdin_;
171 std::list<NetTermHandler*> clients_;
181 void setTcpIp(std::string host,
unsigned port);
186 void setSerial(
unsigned baudRate, std::string portName);
191 void sendShutdownMsg();
196 void acceptConnection();
206 void readFromStdin();
211 void writeToStdout(std::string& line);
217 void writeToPort(std::string& line);
218 void writeToPort(Vector<unsigned char>& bytes);
229 void readFromClient(NetTermHandler* client);
234 static SIGNALTASK_HANDLER_FN(shutDown);
244 void openFile(std::string fileName);
251 bool parseCommand(std::string line);
269 #endif // End #ifndef SZA_UTIL_TERMINALSERVER_H
Tagged: Fri Nov 14 12:39:36 UTC 2003.
Tagged: Tue May 11 14:38:31 PDT 2004.
Tagged: Mon May 10 17:23:41 PDT 2004.
Started: Thu Feb 26 22:08:23 UTC 2004.