1 #ifndef GCP_UTIL_COMMUNICATOR_H
2 #define GCP_UTIL_COMMUNICATOR_H
15 #include "gcp/util/common/AntNum.h"
16 #include "gcp/util/common/String.h"
17 #include "gcp/util/common/TcpClient.h"
18 #include "gcp/util/common/TimeVal.h"
20 #define COMM_PARSER_FN(fn) void (fn)(gcp::util::String& str, void* arg)
21 #define COMM_END_PARSER_FN(fn) void (fn)(void* arg)
36 COMM_PARSER_FN(*parser_);
38 COMM_END_PARSER_FN(*endParser_);
41 std::ostringstream os;
45 RcvdStr(std::string str, COMM_PARSER_FN(*parser)=0,
void* arg=0);
46 RcvdStr(std::string start, std::string stop,
47 COMM_PARSER_FN(*parser),
void* arg,
48 COMM_END_PARSER_FN(*endParser),
void* endArg);
65 static const unsigned COMMAND_TIMEOUT_SEC = 10;
105 std::list<RcvdStr> rcvdStrings_;
111 std::list<RcvdStr>::iterator rcvdStringIter_;
113 std::ostringstream os_;
127 static COMM_PARSER_FN(sendNextString);
129 virtual void sendNextString(
void);
136 void checkIterators();
145 #endif // End #ifndef GCP_UTIL_COMMUNICATOR_H
void run()
Definition: Communicator.cc:263
virtual int getFd()
Definition: Communicator.cc:180
void advanceIterator(bool bufferReset)
Definition: Communicator.cc:130
Definition: Communicator.h:33
virtual void processClientMessage()
Definition: Communicator.cc:47
virtual ~Communicator()
Definition: Communicator.cc:22
std::list< std::string > sentStrings_
Definition: Communicator.h:104
Definition: Communicator.h:26
Definition: TcpClient.h:18
std::list< std::string >::iterator sentStringIter_
Definition: Communicator.h:110
virtual void terminateCommSequence(bool error)
Definition: Communicator.cc:35
void registerTimeOut()
Definition: Communicator.cc:151
Communicator()
Definition: Communicator.cc:14
bool timedOut()
Definition: Communicator.cc:161
void enableTimeOut(bool enable)