X-Git-Url: http://git.ithinksw.org/ITFoundation.git/blobdiff_plain/2f6f5b098085f36298e23e690cf27b61b4e2ec36..2f7f84d62451875f15d4ae8242b58689eb2bd44c:/ITInetSocket.h diff --git a/ITInetSocket.h b/ITInetSocket.h index 367c31e..edbfa64 100755 --- a/ITInetSocket.h +++ b/ITInetSocket.h @@ -7,10 +7,50 @@ // #import +#import +#import +#import "ITByteStream.h" +enum { + ITInetMaxConnections = 36 +}; -@interface ITInetSocket : NSObject { +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; + id delegate; + struct addrinfo *ai; + ITByteStream *readPipe, *writePipe; + ITInetSocketState state; + NSArray *sarr; } --(id)initWithFD:(int)fd delegate:(id)d; ++(void)startAutoconnectingToService:(NSString*)type delegate:(id)d; +-(id) initWithFD:(int)fd delegate:(id)d; +-(id) initWithDelegate:(id)d; + +-(void) connectToHost:(NSString*)host onPort:(short)port; +-(void) connectToHost:(NSString*)host onNamedPort:(NSString*)port; +-(void) connectWithSockaddrArray:(NSArray*)arr; +-(ITInetSocketState) state; @end