]> git.mxchange.org Git - simgear.git/blobdiff - simgear/io/sg_netChat.hxx
Async lookup attempt #3 - use OpenThreads instead - I'm going to kill off SGThread...
[simgear.git] / simgear / io / sg_netChat.hxx
index e9ab2e039d9384aa9936e45433dcf80083c93c7c..abba2b68479c485b0c1f2b11c9ea5116a0870102 100644 (file)
@@ -61,6 +61,8 @@
 #ifndef SG_NET_CHAT_H
 #define SG_NET_CHAT_H
 
+#include <memory>
+#include <cstdlib>
 #include <simgear/io/sg_netBuffer.hxx>
 
 namespace simgear
@@ -69,16 +71,25 @@ namespace simgear
 class NetChat : public NetBufferChannel
 {
   char* terminator;
-  
+  int bytesToCollect;
   virtual void handleBufferRead (NetBuffer& buffer) ;
 
 public:
 
-  NetChat () : terminator (0) {}
+  NetChat () : 
+    terminator (NULL),
+    bytesToCollect(-1) 
+  {}
 
   void setTerminator (const char* t);
   const char* getTerminator (void);
 
+  /**
+   * set byte count to collect - 'foundTerminator' will be called once
+   * this many bytes have been collected
+   */
+  void setByteCount(int bytes);
+
   bool push (const char* s);
   
   virtual void collectIncomingData     (const char* s, int n) {}