X-Git-Url: http://git.ithinksw.org/ITFoundation.git/blobdiff_plain/14701a4fc7ee5dea92b4b01d4c1628a75eabdee5..1ea39b0f18a93a1622b987e11b502b3b4ac2f821:/ITInetSocket.h diff --git a/ITInetSocket.h b/ITInetSocket.h index 94d102f..bcf30f5 100755 --- a/ITInetSocket.h +++ b/ITInetSocket.h @@ -7,29 +7,47 @@ // #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:(int)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 +-(void) connectToHost:(NSString*)host onPort:(short)port; +-(ITInetSocketState) state; -// Mutators (some of these must be set before you can connect) --(void) setPort:(int)port; --(void) setPortViaServiceName:(NSString*)name; --(void) setDest:(NSString*)dst; @end