X-Git-Url: http://git.ithinksw.org/ITFoundation.git/blobdiff_plain/9aa66eeb5174dbc071f24e8f5ad13234f056a609..c1dc61cc189c0eb83fe8027c70949b9c4dcdbd24:/ITInetSocket.h diff --git a/ITInetSocket.h b/ITInetSocket.h index 079d8ab..aad407f 100755 --- a/ITInetSocket.h +++ b/ITInetSocket.h @@ -7,29 +7,45 @@ // #import - -@protocol ITInetSocketOwner -- (void)requestCompleted:(NSString*)data; -@end +#import +#import enum { 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; + NSData *writeBuffer; + 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