@@ -18,10 +18,39 @@ #import "OFAlreadyConnectedException.h" #import "OFString.h" @implementation OFAlreadyConnectedException ++ newWithClass: (Class)class_ + socket: (OFTCPSocket*)socket +{ + return [[self alloc] initWithClass: class_ + socket: socket]; +} + +- initWithClass: (Class)class_ + socket: (OFTCPSocket*)socket_ +{ + self = [super initWithClass: class_]; + + @try { + socket = [socket_ retain]; + } @catch (id e) { + [self release]; + @throw e; + } + + return self; +} + +- (void)dealloc +{ + [socket release]; + + [super dealloc]; +} + - (OFString*)description { if (description != nil) return description; @@ -29,6 +58,11 @@ @"The socket of type %@ is already connected or bound and thus " @"can't be connected or bound again!", inClass]; return description; } + +- (OFTCPSocket*)socket +{ + return socket; +} @end