Builds again
[ITFoundation.git] / ITInetSocket.h
index 9f7d165..2430267 100755 (executable)
@@ -8,6 +8,8 @@
 
 #import <Foundation/Foundation.h>
 #import <netinet/in.h>
+#import <netdb.h>
+#import "ITByteStream.h"
 
 enum {
     ITInetMaxConnections = 36
@@ -15,13 +17,21 @@ enum {
 
 typedef enum {
     ITInetSocketConnecting,
-    ITInetSocketReady,
+    ITInetSocketListening,
+    ITInetSocketReading,
+    ITInetSocketWriting,
     ITInetSocketDisconnected
 } ITInetSocketState;
 
+typedef enum {
+    ITInetHostNotFound,
+    ITInetConnectionDropped,
+    ITInetCouldNotConnect,
+} ITInetSocketError;
+
 @protocol ITInetSocketOwner
-- (void) requestCompleted:(in NSData*)data;
-- (void) errorOccured:(int)err during:(ITInetSocketState)state;
+- (void) dataRecieved:(in NSData*)data;
+- (void) errorOccured:(ITInetSocketError)err during:(ITInetSocketState)state;
 - (void) finishedConnecting;
 @end
 
@@ -30,16 +40,13 @@ typedef enum {
     int sockfd;
     int port;
     id delegate;
-    struct sockaddr_in6 sa;
-    NSMutableData *requestBuffer;
+    struct addrinfo *ai;
+    ITByteStream *readPipe, *writePipe;
     ITInetSocketState state;
 }
-// Init
 -(id) initWithFD:(int)fd delegate:(id)d;
 -(id) initWithDelegate:(id)d;
 
 -(void) connectToHost:(NSString*)host onPort:(short)port;
-
 -(ITInetSocketState) state;
-
 @end