@@ -23,14 +23,16 @@ #import "common.h" @implementation OFConnectionFailedException + newWithClass: (Class)class_ + socket: (OFTCPSocket*)socket host: (OFString*)host port: (uint16_t)port { return [[self alloc] initWithClass: class_ + socket: socket host: host port: port]; } - initWithClass: (Class)class_ @@ -40,19 +42,21 @@ @throw [OFNotImplementedException newWithClass: c selector: _cmd]; } - initWithClass: (Class)class_ + socket: (OFTCPSocket*)socket_ host: (OFString*)host_ port: (uint16_t)port_ { self = [super initWithClass: class_]; @try { - host = [host_ copy]; - port = port_; - errNo = GET_SOCK_ERRNO; + socket = [socket_ retain]; + host = [host_ copy]; + port = port_; + errNo = GET_SOCK_ERRNO; } @catch (id e) { [self release]; @throw e; } @@ -59,10 +63,11 @@ return self; } - (void)dealloc { + [socket release]; [host release]; [super dealloc]; } @@ -76,13 +81,13 @@ @"in class %@! " ERRFMT, host, port, inClass, ERRPARAM]; return description; } -- (int)errNo +- (OFTCPSocket*)socket { - return errNo; + return socket; } - (OFString*)host { return host; @@ -90,6 +95,11 @@ - (uint16_t)port { return port; } + +- (int)errNo +{ + return errNo; +} @end