1 #ifndef SZA_UTIL_COMMUNICATOR_H
2 #define SZA_UTIL_COMMUNICATOR_H
20 #define COMM_PARSER_FN(fn) void (fn)(sza::util::String& str, void* arg)
21 #define COMM_END_PARSER_FN(fn) void (fn)(void* arg)
46 COMM_PARSER_FN(*parser_);
48 COMM_END_PARSER_FN(*endParser_);
51 std::ostringstream os;
54 RcvdStr(
const RcvdStr& str);
55 RcvdStr(std::string str, COMM_PARSER_FN(*parser)=0,
void* arg=0);
56 RcvdStr(std::string start, std::string stop,
57 COMM_PARSER_FN(*parser),
void* arg,
58 COMM_END_PARSER_FN(*endParser),
void* endArg);
71 virtual ~Communicator();
75 static const unsigned COMMAND_TIMEOUT_SEC = 10;
90 virtual void writeString(std::string);
94 virtual void concatenateString(std::ostringstream& os);
101 virtual void processClientMessage();
106 void registerTimeOut();
112 sza::util::TcpClient* client_;
122 std::list<std::string> sentStrings_;
123 std::list<RcvdStr> rcvdStrings_;
128 std::list<std::string>::iterator sentStringIter_;
129 std::list<RcvdStr>::iterator rcvdStringIter_;
131 std::ostringstream os_;
136 virtual void terminateCommSequence(
bool error);
141 void enableTimeOut(
bool enable);
145 static COMM_PARSER_FN(sendNextString);
146 void sendNextString();
148 virtual void execSendNextString();
155 void advanceIterator(
bool bufferReset);
157 void checkIterators();
166 #endif // End #ifndef SZA_UTIL_COMMUNICATOR_H
A class for managing timeval/timespec structs.
Tagged: Fri Nov 14 12:39:38 UTC 2003.
Tagged: Fri Nov 14 12:39:31 UTC 2003.
Started: Sat Mar 6 14:44:17 UTC 2004.
Tagged: Wed May 12 09:30:13 PDT 2004.