X-Git-Url: http://git.ithinksw.org/ITFoundation.git/blobdiff_plain/14701a4fc7ee5dea92b4b01d4c1628a75eabdee5..fbc584e3df355220dfd44f7207e304dbe7dd5d93:/ITInetSocket.h diff --git a/ITInetSocket.h b/ITInetSocket.h index 94d102f..c1d16fc 100755 --- a/ITInetSocket.h +++ b/ITInetSocket.h @@ -7,29 +7,45 @@ // #import - -@protocol ITInetSocketOwner -- (void)requestCompleted:(NSString*)data; -@end +#import +#import enum { - ITInetMaxConnections = 36; + ITInetMaxConnections = 36 }; +typedef enum { + ITInetSocketConnecting, + ITInetSocketListening, + ITInetSocketReading, + ITInetSocketWriting, + ITInetSocketDisconnected +} ITInetSocketState; + +typedef enum { + ITInetHostNotFound, + ITInetConnectionDropped, + ITInetCouldNotConnect, +} ITInetSocketError; + +@protocol ITInetSocketOwner +- (void) dataRecieved:(in NSData*)data; +- (void) errorOccured:(ITInetSocketError)err during:(ITInetSocketState)state; +- (void) finishedConnecting; +@end + @interface ITInetSocket : NSObject { + @public int sockfd; int port; - NSString *destAddr; + id delegate; + struct addrinfo *ai; + ITByteStream *readPipe, *writePipe; + ITInetSocketState state; } -// Init --(id) initWithFD:(int)fd; -(id) initWithFD:(int)fd delegate:(id)d; -(id) initWithDelegate:(id)d; -+(NSArray*) socketsForRendezvousScan; //need args - -// Mutators (some of these must be set before you can connect) --(void) setPort:(int)port; --(void) setPortViaServiceName:(NSString*)name; --(void) setDest:(NSString*)dst; +-(void) connectToHost:(NSString*)host onPort:(short)port; +-(ITInetSocketState) state; @end