summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Ivy/BufferedSocket.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/Ivy/BufferedSocket.h b/Ivy/BufferedSocket.h
new file mode 100644
index 0000000..5f104c6
--- /dev/null
+++ b/Ivy/BufferedSocket.h
@@ -0,0 +1,42 @@
+// BufferedSocket.h: interface for the CBufferedSocket class.
+//
+//////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_BUFFEREDSOCKET_H__ECAC808B_3B4D_11D3_8A1E_00A0245B298A__INCLUDED_)
+#define AFX_BUFFEREDSOCKET_H__ECAC808B_3B4D_11D3_8A1E_00A0245B298A__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "ThreadedSocket.h"
+
+class CBufferedSocket : public CThreadedSocket
+{
+// DECLARE_DYNAMIC(CBufferedSocket)
+public:
+ CBufferedSocket();
+ virtual ~CBufferedSocket();
+ void OnReceive( int nErrorCode );
+ void OnSend( int nErrorCode );
+ void OnConnect(int nErrorCode);
+ void OnWakeup();
+ virtual void OnReceive( char *line );
+ virtual void Accept(CBufferedSocket& rConnectedSocket,
+ SOCKADDR* lpSockAddr = NULL, int* lpSockAddrLen = NULL);
+ void SetSeparator( char sep );
+ void Send ( const char * data );
+protected:
+ bool connected; /* wait to be connected before sending any Data */
+ char separator;
+ /* buffer de reception de l'application */
+#define MAX_BUFFER 2048
+ // MAX_BUFFER +1 pour ajouter \0 a la fin
+ char buf[MAX_BUFFER+1];
+ char *ptr;
+ // Buffer Emission
+ CRITICAL_SECTION m_CritSection;
+ list<string> buf_out;
+};
+
+#endif // !defined(AFX_BUFFEREDSOCKET_H__ECAC808B_3B4D_11D3_8A1E_00A0245B298A__INCLUDED_)